From 1fafc58def6f2c9320db8a4ee8e5d35916df9a57 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Wed, 24 Jul 2013 15:03:13 -0400 Subject: [PATCH 01/66] ISF owl files --- productMods/WEB-INF/filegraph/tbox/bfo11.owl | 554 +++ .../filegraph/tbox/dateTimeValuePrecision.owl | 91 + .../WEB-INF/filegraph/tbox/documentStatus.owl | 91 + .../geopolitical.tbox.ver1.1-11-18-11.owl | 2 + .../filegraph/tbox/isDefinedBy-1.5.owl | 25 - .../{scires-1.5.owl => scires-public-1.5.owl} | 43 +- .../WEB-INF/filegraph/tbox/vitroPublic.owl | 69 + .../WEB-INF/filegraph/tbox/vivo-bibo-1.5.owl | 1417 ------- .../filegraph/tbox/vivo-bibo-public-1.5.owl | 1585 ++++++++ ...vo-c4o-1.5.owl => vivo-c4o-public-1.5.owl} | 21 +- .../WEB-INF/filegraph/tbox/vivo-core-1.5.owl | 3492 ----------------- .../filegraph/tbox/vivo-core-public-1.5.owl | 2155 ++++++++++ .../filegraph/tbox/vivo-dcelements-1.5.owl | 24 - .../tbox/vivo-dcelements-public-1.5.owl | 41 + .../filegraph/tbox/vivo-dcterms-1.5.owl | 47 - .../tbox/vivo-dcterms-public-1.5.owl | 47 + .../WEB-INF/filegraph/tbox/vivo-event-1.5.owl | 112 - .../filegraph/tbox/vivo-event-public-1.5.owl | 165 + ...abio-1.5.owl => vivo-fabio-public-1.5.owl} | 12 +- .../WEB-INF/filegraph/tbox/vivo-foaf-1.5.owl | 208 - .../filegraph/tbox/vivo-foaf-public-1.5.owl | 196 + .../WEB-INF/filegraph/tbox/vivo-pws-1.5.owl | 39 - .../filegraph/tbox/vivo-pws-public-1.5.owl | 41 + ...-skos-1.5.owl => vivo-skos-public-1.5.owl} | 13 +- productMods/WEB-INF/filegraph/tbox/vivo.owl | 810 ++++ 25 files changed, 5918 insertions(+), 5382 deletions(-) create mode 100644 productMods/WEB-INF/filegraph/tbox/bfo11.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/dateTimeValuePrecision.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/documentStatus.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/isDefinedBy-1.5.owl rename productMods/WEB-INF/filegraph/tbox/{scires-1.5.owl => scires-public-1.5.owl} (90%) create mode 100644 productMods/WEB-INF/filegraph/tbox/vitroPublic.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-bibo-1.5.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-bibo-public-1.5.owl rename productMods/WEB-INF/filegraph/tbox/{vivo-c4o-1.5.owl => vivo-c4o-public-1.5.owl} (72%) delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-core-1.5.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-core-public-1.5.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-dcelements-1.5.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-dcelements-public-1.5.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-dcterms-1.5.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-dcterms-public-1.5.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-event-1.5.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-event-public-1.5.owl rename productMods/WEB-INF/filegraph/tbox/{vivo-fabio-1.5.owl => vivo-fabio-public-1.5.owl} (86%) delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-foaf-1.5.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-foaf-public-1.5.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-pws-1.5.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-pws-public-1.5.owl rename productMods/WEB-INF/filegraph/tbox/{vivo-skos-1.5.owl => vivo-skos-public-1.5.owl} (83%) create mode 100644 productMods/WEB-INF/filegraph/tbox/vivo.owl diff --git a/productMods/WEB-INF/filegraph/tbox/bfo11.owl b/productMods/WEB-INF/filegraph/tbox/bfo11.owl new file mode 100644 index 00000000..7246bf0c --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/bfo11.owl @@ -0,0 +1,554 @@ + + + + + + + + + + + + + + +]> + + + + Basic Formal Ontology (BFO) + Holger Stenzhorn + Andrew Spear + Pierre Grenon + Alan Ruttenberg + Institute for Formal Ontology and Medical Information Science (IFOMIS) + http://creativecommons.org/licenses/by/3.0 + &base; + application/rdf+xml + en + Barry Smith: "Against Fantology" + Barry Smith: "Beyond Concepts: Ontology as Reality Representation" + Pierre Grenon and Barry Smith: "SNAP and SPAN: Towards Geospatial Dynamics" + Pierre Grenon, Barry Smith and Louis Goldberg: "Biodynamic Ontology: Applying BFO in the Biomedical Domain" + Barry Smith and Pierre Grenon: "The Cornucopia of Formal Ontological Relations" + Barry Smith: "Basic Tools of Formal Ontology" + Pierre Grenon: "Spatio-temporality in Basic Formal Ontology: SNAP and SPAN, Upper-Level Ontology, and Framework for Formalization" + Pierre Grenon: "BFO in a Nutshell: A Bi-categorial Axiomatization of BFO and Comparison with DOLCE" + Pierre Grenon: "Nuts in BFO's Nutshell: Revisions to the Bi-categorial Axiomatization of BFO" + 1.1 + + + + + + + + + + + + + entity + + + + + + + + + + + + + + + + + + + + + + + + + + + continuant + Definition: An entity [bfo:Entity] that exists in full at any time in which it exists at all, persists through time while maintaining its identity and has no temporal parts. + Examples: a heart, a person, the color of a tomato, the mass of a cloud, a symphony orchestra, the disposition of blood to coagulate, the lawn and atmosphere in front of our building + Synonyms: endurant + + + + + + + + + + + + + + + dependent_continuant + Definition: A continuant [snap:Continuant] that is either dependent on one or other independent continuant [snap:IndependentContinuant] bearers or inheres in or is borne by other entities. + + + + + + + disposition + Definition: A realizable entity [snap:RealizableEntity] that essentially causes a specific process or transformation in the object [snap:Object] in which it inheres, under specific circumstances and in conjunction with the laws of nature. A general formula for dispositions is: X (object [snap:Object] has the disposition D to (transform, initiate a process) R under conditions C. + Examples: the disposition of vegetables to decay when not refrigerated, the disposition of a vase to brake if dropped, the disposition of blood to coagulate, the disposition of a patient with a weakened immune system to contract disease, the disposition of metal to conduct electricity. + + + + + + + fiat_object_part + Definition: A material entity [snap:MaterialEntity] that is part of an object [snap:Object] but is not demarcated by any physical discontinuities. + Examples: upper and lower lobes of the left lung, the dorsal and ventral surfaces of the body, the east side of Saarbruecken, the lower right portion of a human torso + Synonyms: fiat substance part + + + + + + + function + Definition: A realizable entity [snap:RealizableEntity] the manifestation of which is an essentially end-directed activity of a continuant [snap:Continuant] entity in virtue of that continuant [snap:Continuant] entity being a specific kind of entity in the kind or kinds of contexts that it is made for. + Examples: the function of a birth canal to enable transport, the function of the heart in the body: to pump blood, to receive de-oxygenated and oxygenated blood, etc., the function of reproduction in the transmission of genetic material, the digestive function of the stomach to nutriate the body, the function of a hammer to drive in nails, the function of a computer program to compute mathematical equations, the function of an automobile to provide transportation, the function of a judge in a court of law + + + + + + generically_dependent_continuant + Definition: A continuant [snap:Continuant] that is dependent on one or other independent continuant [snap:IndependentContinuant] bearers. For every instance of A requires some instance of (an independent continuant [snap:IndependentContinuant] type) B but which instance of B serves can change from time to time. + Examples: a certain PDF file that exists in different and in several hard drives + + + + + + + + + + + + + + + + independent_continuant + Definition: A continuant [snap:Continuant] that is a bearer of quality [snap:Quality] and realizable entity [snap:RealizableEntity] entities, in which other entities inhere and which itself cannot inhere in anything. + Examples: an organism, a heart, a leg, a person, a symphony orchestra, a chair, the bottom right portion of a human torso, the lawn and atmosphere in front of our building + Synonyms: substantial entity + + + + + + + + + + + + + + + + material_entity + Definition: An independent continuant [snap:IndependentContinuant] that is spatially extended whose identity is independent of that of other entities and can be maintained through time. Note: Material entity [snap:MaterialEntity] subsumes object [snap:Object], fiat object part [snap:FiatObjectPart], and object aggregate [snap:ObjectAggregate], which assume a three level theory of granularity, which is inadequate for some domains, such as biology. + Examples: collection of random bacteria, a chair, dorsal surface of the body + + + + + + + object + Definition: A material entity [snap:MaterialEntity] that is spatially extended, maximally self-connected and self-contained (the parts of a substance are not separated from each other by spatial gaps) and possesses an internal unity. The identity of substantial object [snap:Object] entities is independent of that of other entities and can be maintained through time. + Examples: an organism, a heart, a chair, a lung, an apple + Synonyms: substance + + + + + + + object_aggregate + Definition: A material entity [snap:MaterialEntity] that is a mereological sum of separate object [snap:Object] entities and possesses non-connected boundaries. + Examples: a heap of stones, a group of commuters on the subway, a collection of random bacteria, a flock of geese, the patients in a hospital + Synonyms: substance aggregate + + + + + + + + + object_boundary + Definition: An independent continuant [snap:IndependentContinuant] that is a lower dimensional part of a spatial entity, normally a closed two-dimensional surface. Boundaries are those privileged parts of object [snap:Object] entities that exist at exactly the point where the object [snap:Object] is separated off from the rest of the existing entities in the world. + Examples: the surface of the skin, the surface of the earth, the surface of the interior of the stomach, the outer surface of a cell or cell wall + Synonyms: substance boundary + Comment: Boundaries are theoretically difficult entities to account for, however the intuitive notion of a physical boundary as a surface of some sort (whether inside or outside of a thing) will generally serve as a good guide for the use of this universal. + + + + + + + + one_dimensional_region + Definition: A spatial region [snap:SpatialRegion] with one dimension. + Examples: the part of space that is a line stretching from one end of absolute space to the other, an edge of a cube-shaped part of space + + + + + + quality + Definition: A specifically dependent continuant [snap:SpecificallyDependentContinuant] that is exhibited if it inheres in an entity or entities at all (a categorical property). + Examples: the color of a tomato, the ambient temperature of air, the circumference of a waist, the shape of a nose, the mass of a piece of gold, the weight of a chimpanzee + + + + + + realizable_entity + Definition: A specifically dependent continuant [snap:SpecificallyDependentContinuant] that inheres in continuant [snap:Continuant] entities and are not exhibited in full at every time in which it inheres in an entity or group of entities. The exhibition or actualization of a realizable entity is a particular manifestation, functioning or process that occurs under certain circumstances. + Examples: the role of being a doctor, the function of the reproductive organs, the disposition of blood to coagulate, the disposition of metal to conduct electricity + Comment: If a realizable entity [snap:RealizableEntity] inheres in a continuant [snap:Continuant], this does not imply that it is actually realized. + + + + + + + role + Definition: A realizable entity [snap:RealizableEntity] the manifestation of which brings about some result or end that is not essential to a continuant [snap:Continuant] in virtue of the kind of thing that it is but that can be served or participated in by that kind of continuant [snap:Continuant] in some kinds of natural, social or institutional contexts. + Examples: the role of a person as a surgeon, the role of a chemical compound in an experiment, the role of a patient relative as defined by a hospital administrative form, the role of a woman as a legal mother in the context of system of laws, the role of a biological grandfather as legal guardian in the context of a system of laws, the role of ingested matter in digestion, the role of a student in a university + + + + + + + + + site + Definition: An independent continuant [snap:IndependentContinuant] consisting of a characteristic spatial shape in relation to some arrangement of other continuant [snap:Continuant] entities and of the medium which is enclosed in whole or in part by this characteristic spatial shape. Site [snap:Site] entities are entities that can be occupied by other continuant [snap:Continuant] entities. + Examples: a particular room in a particular hospital, Maria's nostril or her intestines for a variety of bacteria. + Comment: An instance of Site [snap:Site] is a mixture of independent continuant [snap:IndependentContinuant] entities which act as surrounding environments for other independent continuant [snap:IndependentContinuant] entities, most importantly for instances of object [snap:Object]. A site [snap:Site] is typically made of object [snap:Object] or fiat object part [snap:FiatObjectPart] entities and a surrounding medium in which is found an object [snap:Object] occupying the site [snap:Site]. Independent continuant [snap:IndependentContinuant] entities may be associated with others (which, then, are sites) through a relation of "occupation". That relation is connected to, but distinct from, the relation of spatial location. Site [snap:Site] entities are not to be confused with spatial region [snap:SpatialRegion] entities. In BFO, site [snap:Site] allows for a so-called relational view of space which is different from the view corresponding to the class spatial region [snap:SpatialRegion] (see the comment on this class). + + + + + + + + + + + + + + + + + spatial_region + Definition: A continuant [snap:Continuant] that is neither bearer of quality [snap:Quality] entities nor inheres in any other entities. + Examples: the sum total of all space in the universe, parts of the sum total of all space in the universe + Comment: An instance of spatial region [snap:SpatialRegion] is a part of space. All parts of space are spatial region [snap:SpatialRegion] entities and only spatial region [snap:SpatialRegion] entities are parts of space. Space is the entire extent of the spatial universe, a designated individual, which is thus itself a spatial region [snap:SpatialRegion]. + Comment: All instances of continuant [snap:Continuant] are spatial entities, that is, they enter in the relation of (spatial) location with spatial region [snap:SpatialRegion] entities. As a particular case, the exact spatial location of a spatial region [snap:SpatialRegion] is this region itself. + Comment: Space and spatial region [snap:SpatialRegion] entities are entities in their own rights which exist independently of any entities which can be located at them. This view of space is sometimes called "absolutist" or "the container view". In BFO, the class site [snap:Site] allows for a so-called relational view of space, that is to say, a view according to which spatiality is a matter of relative location between entities and not a matter of being tied to space. The bridge between these two views is secured through the fact that while instances of site [snap:Site] are not spatial region [snap:SpatialRegion] entities, they are nevertheless spatial entities. + + + + + + + + + + + + + + specifically_dependent_continuant + Definition: A continuant [snap:Continuant] that inheres in or is borne by other entities. Every instance of A requires some specific instance of B which must always be the same. + Examples: the mass of a cloud, the smell of mozzarella, the liquidity of blood, the color of a tomato, the disposition of fish to decay, the role of being a doctor, the function of the heart in the body: to pump blood, to receive de-oxygenated and oxygenated blood, etc. + Synonyms: property, trope, mode + + + + + + + + three_dimensional_region + Definition: A spatial region [snap:SpatialRegion] with three dimensions. + Examples: a cube-shaped part of space, a sphere-shaped part of space + + + + + + + + two_dimensional_region + Definition: A spatial region [snap:SpatialRegion] with two dimensions. + Examples: the surface of a cube-shaped part of space, the surface of a sphere-shaped part of space, the surface of a rectilinear planar figure-shaped part of space + + + + + + + + zero_dimensional_region + Definition: A spatial region [snap:SpatialRegion] with no dimensions. + Examples: a point + + + + + + + + + + + + + + + + + + + + + + connected_spatiotemporal_region + Definition: A space time region [span:SpaceTimeRegion] that has temporal and spatial dimensions such that all points within the spatiotemporal region are mediately or immediately connected to all other points within the same space time region [span:SpaceTimeRegion]. + Examples: the spatial and temporal location of an individual organism's life, the spatial and temporal location of the development of a fetus + + + + + + + + + + + + + + connected_temporal_region + Definition: A temporal region [span:TemporalRegion] every point of which is mediately or immediately connected with every other point of which. + Examples: the 1970s years, the time from the beginning to the end of a heart attack, the time taken up by cellular meiosis + + + + + + + + + fiat_process_part + Definition: A processual entity [span:ProcessualEntity] that is part of a process but that does not have bona fide beginnings and endings corresponding to real discontinuities. + Examples: chewing during a meal, the middle part of a rainstorm, the worst part of a heart-attack, the most interesting part of Van Gogh's life + + + + + + + + + + + + + + + occurrent + Definition: An entity [bfo:Entity] that has temporal parts and that happens, unfolds or develops through time. Sometimes also called perdurants. + Examples: the life of an organism, a surgical operation as processual context for a nosocomical infection, the spatiotemporal context occupied by a process of cellular meiosis, the most interesting part of Van Gogh's life, the spatiotemporal region occupied by the development of a cancer tumor + Synonyms: perdurant + + + + + + + + + process + Definition: A processual entity [span:ProcessualEntity] that is a maximally connected spatiotemporal whole and has bona fide beginnings and endings corresponding to real discontinuities. + Examples: the life of an organism, the process of sleeping, the process of cell-division + + + + + + + + + process_aggregate + Definition: A processual entity [span:ProcessualEntity] that is a mereological sum of process [span:Process] entities and possesses non-connected boundaries. + Examples: the beating of the hearts of each of seven individuals in the room, the playing of each of the members of an orchestra, a process of digestion and a process of thinking taken together + + + + + + + + + process_boundary + Definition: A processual entity [span:ProcessualEntity] that is the fiat or bona fide instantaneous temporal process boundary. + Examples: birth, death, the forming of a synapse, the onset of REM sleep, the detaching of a finger in an industrial accident, the final separation of two cells at the end of cell-division, the incision at the beginning of a surgery + + + + + + + + + processual_context + Definition: An occurrent [span:Occurrent] consisting of a characteristic spatial shape inhering in some arrangement of other occurrent [span:Occurrent] entities. processual context [span:ProcessualContext] entities are characteristically entities at or in which other occurrent [span:Occurrent] entities can be located or occur. + Examples: The processual context for a given manipulation occurring as part of an experiment is made of processual entities which occur in parallel, are not necessarily all parts of the experiment themselves and may involve continuant [snap:Continuant] entities which are in the spatial vicinity of the participants in the experiment. + Comment: An instance of a processual context [span:ProcessualContext] is a mixture of processual entity [span:ProcessualEntity] which stand as surrounding environments for other processual entity [span:ProcessualEntity] entities. The class processual context [span:ProcessualContext] is the analogous among occurrent [span:Occurrent] entities to the class site [snap:Site] among continuant [snap:Continuant] entities. + + + + + + + + + + + + + + + + + + processual_entity + Definition: An occurrent [span:Occurrent] that exists in time by occurring or happening, has temporal parts and always involves and depends on some entity. + Examples: the life of an organism, the process of meiosis, the course of a disease, the flight of a bird + + + + + + scattered_spatiotemporal_region + Definition: A space time region [span:SpaceTimeRegion] that has spatial and temporal dimensions and every spatial and temporal point of which is not connected with every other spatial and temporal point of which. + Examples: the space and time occupied by the individual games of the World Cup, the space and time occupied by the individual liaisons in a romantic affair + + + + + + scattered_temporal_region + Definition: A temporal region [span:TemporalRegion] every point of which is not mediately or immediately connected with every other point of which. + Examples: the time occupied by the individual games of the World Cup, the time occupied by the individual liaisons in a romantic affair + + + + + + spatiotemporal_instant + Definition: A connected space time region [span:ConnectedSpaceTimeRegion] at a specific moment. + Examples: the space time region occupied by a single instantaneous temporal slice (part) of a process + + + + + + spatiotemporal_interval + Definition: A connected space time region [span:ConnectedSpaceTimeRegion] that endures for more than a single moment of time. + Examples: the space time region occupied by a process or by a fiat processual part + + + + + + + + + + + + + + + spatiotemporal_region + Definition: An occurrent [span:Occurrent] at or in which processual entity [span:ProcessualEntity] entities can be located. + Examples: the spatiotemporal region occupied by a human life, the spatiotemporal region occupied by the development of a cancer tumor, the spatiotemporal context occupied by a process of cellular meiosis + Comment: An instance of the spatiotemporal region [span:SpatiotemporalRegion] is a part of spacetime. All parts of spacetime are spatiotemporal region [span:SpatiotemporalRegion] entities and only spatiotemporal region [span:SpatiotemporalRegion] entities are parts of spacetime. In particular, neither spatial region [snap:SpatialRegion] entities nor temporal region [span:TemporalRegion] entities are in BFO parts of spacetime. Spacetime is the entire extent of the spatiotemporal universe, a designated individual, which is thus itself a spatiotemporal region [span:SpatiotemporalRegion]. Spacetime is among occurrents the analogous of space among continuant [snap:Continuant] entities. + Comment: All instances of occurrent [span:Occurrent] are spatiotemporal entities, that is, they enter in the relation of (spatiotemporal) location with spatiotemporal region [span:SpatiotemporalRegion] entities. As a particular case, the exact spatiotemporal location of a spatiotemporal region [span:SpatiotemporalRegion] is this region itself. + Comment: Spacetime and spatiotemporal region [span:SpatiotemporalRegion] entities are entities in their own rights which exist independently of any entities which can be located at them. This view of spacetime can be called "absolutist" or "the container view". In BFO, the class processual context [span:ProcessualContext] allows for a so-called relational view of spacetime, that is to say, a view according to which spatiotemporality is a matter of relative location between entities and not a matter of being tied to spacetime. In BFO, the bridge between these two views is secured through the fact that instances of processual context [span:ProcessualContext] are too spatiotemporal entities. + + + + + + temporal_instant + Definition: A connected temporal region [span:ConnectedTemporalRegion] comprising a single moment of time. + Examples: right now, the moment at which a finger is detached in an industrial accident, the moment at which a child is born, the moment of death + + + + + + temporal_interval + Definition: A connected temporal region [span:ConnectedTemporalRegion] lasting for more than a single moment of time. + Examples: any continuous temporal duration during which a process occurs + + + + + + + + + + + + + + + temporal_region + Definition: An occurrent [span:Occurrent] that is part of time. + Examples: the time it takes to run a marathon, the duration of a surgical procedure, the moment of death + Comment: An instance of temporal region [span:TemporalRegion] is a part of time. All parts of time are temporal region [span:TemporalRegion] entities and only temporal region [span:TemporalRegion] entities are parts of time. Time is the entire extent of the temporal universe, a designated individual, which is thus a temporal region itself. + Comment: All instances of occurrent [span:Occurrent] are temporal entities, that is, they enter in the relation of (temporal) location with temporal region [span:TemporalRegion] entities. As a particular case, the exact spatiotemporal location of a temporal region [span:TemporalRegion] is this region itself. Continuant [snap:Continuant] entities are not temporal entities in the technical sense just explained; they are related to time in a different way, not through temporal location but through a relation of existence at a time or during a period of time (see continuant [snap:Continuant]. + Comment: Time and temporal region [span:TemporalRegion] entities are entities in their own rights which exist independently of any entities which can be located at them. This view of time can be called "absolutist" or "the container view" in analogy to what is traditionally the case with space (see spatial region [snap:SpatialRegion]. + + diff --git a/productMods/WEB-INF/filegraph/tbox/dateTimeValuePrecision.owl b/productMods/WEB-INF/filegraph/tbox/dateTimeValuePrecision.owl new file mode 100644 index 00000000..76ab465a --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/dateTimeValuePrecision.owl @@ -0,0 +1,91 @@ + + + + Datetime value precision + + + + + + + + + + + + + + + + + + + + + + + YearMonthDayValue + + + + + + + + YearMonthDayTimeValue + + + + + + + + YearMonthValue + + + + + + + + YearValue + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/documentStatus.owl b/productMods/WEB-INF/filegraph/tbox/documentStatus.owl new file mode 100644 index 00000000..8a9b1702 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/documentStatus.owl @@ -0,0 +1,91 @@ + + + + Document status + + + + + + + + + + + + + + + + + + + unpublished + + + rejected + + + draft + + + peer reviewed + &nbsp;Peer review is the process by which articles are chosen to be included in a refereed journal. An editorial board consisting of experts in the same field as the author review the article and decide if it is authoritative enough for publication. + + + in press + Document to be published + + + accepted + Accepted for publication after peer reviewing + + + submitted + + + invited + + + published + Published document + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/geopolitical.tbox.ver1.1-11-18-11.owl b/productMods/WEB-INF/filegraph/tbox/geopolitical.tbox.ver1.1-11-18-11.owl index 37834ae3..d9ca2dbd 100644 --- a/productMods/WEB-INF/filegraph/tbox/geopolitical.tbox.ver1.1-11-18-11.owl +++ b/productMods/WEB-INF/filegraph/tbox/geopolitical.tbox.ver1.1-11-18-11.owl @@ -1,4 +1,6 @@ - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/scires-1.5.owl b/productMods/WEB-INF/filegraph/tbox/scires-public-1.5.owl similarity index 90% rename from productMods/WEB-INF/filegraph/tbox/scires-1.5.owl rename to productMods/WEB-INF/filegraph/tbox/scires-public-1.5.owl index 1d58e2f2..d961b3b1 100644 --- a/productMods/WEB-INF/filegraph/tbox/scires-1.5.owl +++ b/productMods/WEB-INF/filegraph/tbox/scires-public-1.5.owl @@ -1,4 +1,6 @@ - - - ero + + Scientific Research A service that produces a physical object or data, such as a custom micro-array chip, a made to order antibody, or a behavioral dataset + Production Service A service that produces a physical object or data. @@ -40,10 +41,12 @@ eagle-i: Material entity that is used in a chemical reaction or other experimental process to detect, measure, examine, or produce other substances. NOTE: For now we are not addressing whether this is a subclass of foaf:Agent + Reagent Material entity that is used in a chemical reaction or other experimental process to detect, measure, examine, or produce other substances. + Phase 1 Clinical Trial In Phase I trials, researchers test an experimental drug or treatment in a small group of people (20-80) for the first time to evaluate its safety, determine a safe dosage range, and identify side effects OBI: An organism is material entity that is an individual living system, such as animal, plant, bacteria or virus, that is capable of replicating or reproducing, growth and maintenance in the right environment. An organism may be unicellular or made up, like humans, of many billions of cells divided into specialized tissues and organs. NOTE that we are not addressing for now the issue of whether a foaf:Person is a subclass of obi:Organism + Organism An organism is a material entity that is an individual living system, such as animal, plant, bacteria or virus, that is capable of replicating or reproducing, growth and maintenance in the right environment. + A clinical trial is a research study using human volunteers to answer questions about treatments for diseases and conditions. Clinical trials are conducted in phases. The trials at each phase have a different purpose and help scientists answer different questions. - A clinical trial is a research study using human volunteers to answer questions about treatments for diseases and conditions. Clinical trials are conducted in phases. The trials at each phase have a different purpose and help scientists answer different questions. + Clinical Trial A research study using human volunteers to answer specifc health-related questions. + Biological Specimen eagle-i: Material entity that is a portion or quantity of a biological material for use in testing, examination, or study. A biological specimen can be an individual animal, part of or derived an animal, plant, part of a plant, or microorganism. When a taxon is described, it is typically based on a single specimen and is referred to as the holotype. In Phase 3 trials, an experimental study drug or treatment is given to large groups of people (1,000-3,000) to confirm its effectiveness, monitor side effects, compare it to commonly used treatments, and collect information that will allow the experimental drug or treatment to be used safely. + Phase 3 Clinical Trial Phase 3 Clinical Trial @@ -93,6 +100,7 @@ NOTE that we are not addressing for now the issue of whether a foaf:Person is a + Instrument An implement used to facilitate work, especially precision work. A protocol is a plan specification which has sufficient level of detail and quantitative information to communicate it between domain experts, so that different domain experts will reliably be able to independently reproduce the process. + Protocol A plan specification that allows different domain experts to reliably and independently reproduce a process. + Phase 0 Clinical Trial Phase 0 is a recent designation for exploratory, first-in-human trials conducted in accordance with the United States Food and Drug Administration's (FDA) 2006 Guidance on Exploratory Investigational New Drug (IND) Studies. Phase 0 trials are also known as human microdosing studies and are designed to speed up the development of promising drugs or imaging agents by establishing very early on whether the drug or agent behaves in human subjects as was expected from preclinical studies. @@ -118,6 +128,7 @@ NOTE that we are not addressing for now the issue of whether a foaf:Person is a >Phase 4 Clinical Trial In Phase 4 trials, post marketing studies delineate additional information including the drug's or treatment's risks, benefits, and optimal use. + Phase 4 Clinical Trial @@ -126,8 +137,10 @@ NOTE that we are not addressing for now the issue of whether a foaf:Person is a >A service in which a service consumer receives the right to use a resource (instrument, database, software, etc) that is owned or managed by a service provider. Ownership of the accessed resource remains with the service provider during and after provision of service. A service in which a service consumer receives the right to use a resource (instrument, database, software, etc) that is owned or managed by a service provider. Ownership of the accessed resource remains with the service provider during and after provisi + Access Service + Research Project The comment in ero says "Maybe sameAs Investigation but is subject of funding" @@ -135,6 +148,7 @@ NOTE that we are not addressing for now the issue of whether a foaf:Person is a >A project whose goal is the increase of knowledge, the primary aim being a greater knowledge or understanding of the subject under study. + Human Study eagle-i: Research project that uses or collects measurements or assessments about humans. Phase 2 Clinical Trial + Phase 2 Clinical Trial In Phase 2 trials, an experimental study drug or treatment is given to a larger group of people (100-300) to see if it is effective and to further evaluate its safety. + Storage Service A service in which a service consumer provides some material or data as input which a service provider stores and returns as output. + provides access to + - + has documentation @@ -173,29 +191,35 @@ NOTE that we are not addressing for now the issue of whether a foaf:Person is a + realizes protocol - + + documentation for + access provided by + protocol realized by Every clinical trial in the United States must be approved and monitored by an Institutional Review Board (IRB). An IRB is an independent committee of physicians, statisticians, community advocates and others whose objective is to ensure that a clinical trial is ethical and the rights of study participants are protected. + Institutional Review Board (IRB) number - number of human participants in the study (trial). + + study population count @@ -204,5 +228,6 @@ NOTE that we are not addressing for now the issue of whether a foaf:Person is a NCT00000419 + National Clinical Trials (NCT) number diff --git a/productMods/WEB-INF/filegraph/tbox/vitroPublic.owl b/productMods/WEB-INF/filegraph/tbox/vitroPublic.owl new file mode 100644 index 00000000..d1f51520 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/vitroPublic.owl @@ -0,0 +1,69 @@ + + + +]> + + + + + + + Vitro public constructs + 0.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-bibo-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-bibo-1.5.owl deleted file mode 100644 index 33ccab46..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-bibo-1.5.owl +++ /dev/null @@ -1,1417 +0,0 @@ - - - Audiovisual recording in film format - - - - stable - http://purl.org/ontology/bibo/ - aka movie. - - - A main division of a book - A chapter of a book. - - - - unstable - http://purl.org/ontology/bibo/ - - - A passage selected from a larger work. - - - - A passage selected from a larger work - stable - http://purl.org/ontology/bibo/ - Short Definition from the bibo ontology - - - stable - http://purl.org/ontology/bibo/ - A group of related documents issued at regular intervals. - - - - - - - - - - - - - - - - - - - - - - - - - - - - A work consisting of texts of rules and regulations related to statutes issued by executive or administrative agencies - stable - http://purl.org/ontology/bibo/ - - A collection of statutes. - Short Definition from OCLC Input Standards, EntW - Code of Federal Regulations - - - Notes or annotations about a resource - - - - Notes or annotations about a resource. - Short Definition from bibo ontology - stable - http://purl.org/ontology/bibo/ - - - stable - - - - A document describing an account or statement describing in detail an event, situation, or the like, usually as the result of observation, inquiry, etc. - http://purl.org/ontology/bibo/ - A document describing an account or statement describing in detail an event, situation, or the like, usually as the result of observation, inquiry, etc.. - - - - - - - - - Medical Subject Heading (MeSH) definition of Technical Report: Work consisting of a formal report giving details of the investigation and results of a medical or other scientific problem. When issued by a government agency or comparable official body, its contents may be classified, unclassified, or declassified with regard to security clearance. This publication type may also cover a scientific paper or article that records the current state or current position of scientific research and development. If so labeled by the editor or publisher, this publication type may be properly used for journal articles. - - - http://purl.org/ontology/bibo/ - A compilation of documents published from an event, such as a conference. - unstable - Short Definition copied from bibo ontology - A compilation of documents published from an event, such as a conference - - - - - - A document describing a standard - stable - A specification giving a precise statement of a process or a service requirement, often sanctioned by a nation or industry - http://purl.org/ontology/bibo/ - - - - Short Definition from OCLC Input Standards, EntW - - - http://purl.org/ontology/bibo/ - a document that states some contractual relationship or grants some right - - - - A legal document; for example, a court decision, a brief, and so forth. - stable - - - - - - - - - - - Short Definition from the bibo ontology - A distinct part of a larger document or collected document - - - - http://purl.org/ontology/bibo/ - a distinct part of a larger document or collected document. - unstable - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Short Definition copied from bibo ontology - - - - - - - - - - - - - - - - - - http://purl.org/ontology/bibo/ - - - - - - - - - A written or printed work of fiction or nonfiction, usually on sheets of paper fastened or bound together within covers. - A written or printed work of fiction or nonfiction, usually on sheets of paper fastened or bound together within covers - stable - - - - - - - - - - - A collection of Documents or Collections - Hill Ornithology Collection; Wiley Interscience Online Books Biochemisty Collection - Collection of information resources that have a unified identity. Archives, museums and libraries often acquire collections on specific subjects and from distinguished authors or researchers. Also includes collections of resources bundled into a license. - http://purl.org/ontology/bibo/ - Collection of information resources that have a unified identity - - stable - - - http://purl.org/ontology/bibo/ - stable - The status of the publication of a document. - The status of a document with respect to its publication. The statuses are represented as individuals of this class. Use the "show all individuals of this class" button on the class control panel to see the currently defined statuses. - submitted; accepted; in-press; published; invited; refereed. - The status of a document with respect to its publication. - - - Something carried out, acted or rendered. - unstable - - A public performance. - http://purl.org/ontology/bibo/ - - - A legal document proposing or enacting a law or a group of laws. - http://purl.org/ontology/bibo/ - - Enactments of legislative bodies, published in either statute or code form - unstable - From OCLC Input Standards, EntW - - - A written or printed communication addressed to a person or organization and usually transmitted by mail - A written or printed communication addressed to a person or organization and usually transmitted by mail - - - - - - A web page is an online document available (at least initially) on the world wide web. A web page is written first and foremost to appear on the web, as distinct from other online resources such as books, manuscripts or audio documents which use the web primarily as a distribution mechanism alongside other more traditional methods such as print. - unstable - One section of a website that appears at a unique address within the parent site's address or URL on the World Wide Web - http://purl.org/ontology/bibo/ - - - - - - stable - http://purl.org/ontology/bibo/ - Recorded audio in any format - An audio document; aka record. - - - - - - - - - phonograph record; tape; CD; DVD; DAT - - - - - - Short Definition from the bibo ontology - - - - - - - - - unstable - A section of a book - - - - - - - - - - http://purl.org/ontology/bibo/ - - - - - - - - - A section of a book. - - - http://purl.org/ontology/bibo/ - unstable - The written determination of a case, motion or claim by a court or tribunal - A document containing an authoritative determination (as a decree or judgment) made after consideration of facts or law. - - - - - - - A group of webpages available within a specific parent address or URL on the World Wide Web - unstable - A group of Webpages accessible on the Web. - Facebook; VIVOweb.org; Flickr - - - - - - - http://purl.org/ontology/bibo/ - - - An instance or a session in which testimony and arguments are presented, esp. before an official, as a judge in a lawsuit. - http://purl.org/ontology/bibo/ - Definiton from Bibo here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - An instance or a session in which testimony and arguments are presented, esp. before an official, as a judge in a lawsuit. - - stable - - - unstable - A document stating the facts and points of law of a client's case - - - - http://purl.org/ontology/bibo/ - A written argument submitted to a court. - - - http://purl.org/ontology/bibo/ - A document that simultaneously contains other documents. - Short Definition is the Medical Subject Heading (MeSH) definition - - - - - - - stable - Work consisting of collections of previously published works - - - - - - stable - - - - An audio-visual document; film, video, and so forth. - - - - - - - - - Audiovisual recording in any format - film; video; Blu-ray - http://purl.org/ontology/bibo/ - - - stable - - A conversation between two or more people where questions are asked by the interviewer to obtain information from the interviewee. - http://purl.org/ontology/bibo/ - A formalized discussion between two or more people. - radio or newspaper interview - - - http://purl.org/ontology/bibo/ - stable - something that is printed or published and distributed, esp. a given number of a periodical - Short Definition from the bibo ontology - something that is printed or published and distributed, esp. a given number of a periodical - - - - - - - - - - A patent is an exclusive right granted for an invention, which is a product or a process that provides, in general, a new way of doing something, or offers a new technical solution to a problem. In order to be patentable, the invention must fulfill certain conditions. (http://www.wipo.int/patentscope/en/) - - - - A document describing the exclusive right granted by a government to an inventor to manufacture, use, or sell an invention for a certain number of years. - stable - http://purl.org/ontology/bibo/ - (from BIBO) A document describing the exclusive right granted by a government to an inventor to manufacture, use, or sell an invention for a certain number of years - - - - - - - - - Short Definition from the bibo ontology - http://purl.org/ontology/bibo/ - An excerpted collection of words. - stable - - An excerpted collection of words - - - Contains news articles, opinions, features, advertising, and is usually issued daily or weekly - A periodical of documents, usually issued daily or weekly, containing current news, editorials, feature articles, and usually advertising. - USA Today - stable - - http://purl.org/ontology/bibo/ - - - - - - - - - Journal of Information Science; IEEE Intelligent System; Scientometrics - Contains original scholarly research or review articles by experts in the field - A periodical of scholarly journal Articles. - stable - Articles usually contain abstracts and bibliographies. Includes peer-reviewed, non-peer-reviewed, and open access journals. Journals are usually indexed in the major academic databases such as PubMed and Web of Science. - - http://purl.org/ontology/bibo/ - - - - A document accompanying a legal case. - Official court papers for a case - http://purl.org/ontology/bibo/ - unstable - - - stable - Collection of legal cases - A collection of legal cases. - - Supreme Court Reporter - http://purl.org/ontology/bibo/ - - - - - - A personal communication manifested in some document. - A personal communication manifested in some document. - - - Contains articles of current events or general interest, geared to the reading public as being informative or recreational - - A periodical of magazine Articles. A magazine is a publication that is issued periodically, usually bound in a paper cover, and typically contains essays, stories, poems, etc., by many writers, and often photographs and drawings, frequently specializing in a particular subject or area, as hobbies, news, or sports. - stable - Abstracts and bibliographies are usually not included in magazines. - New Yorker - http://purl.org/ontology/bibo/ - - - http://purl.org/ontology/bibo/ - The academic degree of a Thesis. - The academic degree of a Thesis - Doctor of Philosophy (Ph.D.) - Different from general academic degree, thesis degree is achieved through one's completed thesis. Thesis is a document submitted in support of candidature for a degree or professional qualification presenting the author's research and findings(http://en.wikipedia.org/wiki/Thesis_or_dissertation). - - stable - - - - - - photograph; diagram - stable - http://purl.org/ontology/bibo/ - A document that presents visual or diagrammatic information. - - - - A visual representation such as a photograph or graph - - - Methods in Molecular Biology - - - - - - - - - - http://purl.org/ontology/bibo/ - A thematic collection of documents, usually books, issued at regular or irregular intervals - A loose, thematic, collection of Documents, often Books. - - - - - - - - - stable - - - Works created to satisfy the requirements for an academic certification or degree; also called dissertation - http://purl.org/ontology/bibo/ - - - - - - - stable - A document created to summarize research findings associated with the completion of an academic degree. - Short Definition from OCLC Input Standards, EntW - - - - - - - - - - - - A bounded physical representation of a body of information designed with the capacity (and usually intent) to communicate - - - - - - - - - - Short Definition from the bibo ontology - - - - - - - stable - http://purl.org/ontology/bibo/ - - - - - - - - - - - - - - - A document (noun) is a bounded physical representation of body of information designed with the capacity (and usually intent) to communicate. A document may manifest symbolic, diagrammatic or sensory-representational information. - - - - - - - - - A presentation of a series of slides, usually presented in front of an audience with written text and images. - http://purl.org/ontology/bibo/ - stable - Short Definition from the bibo ontology - - A presentation of a series of slides, usually presented in front of an audience with written text and images - - - stable - Draft legislation presented for discussion to a legal body. - - Draft legislation presented for discussion to a legal body - http://purl.org/ontology/bibo/ - Short Definition from the bibo ontology - - - A specific academic journal article - Written by scholars for other scholars, typically published in an academic journal with an abstract and bibliography - http://purl.org/ontology/bibo/ - - - - - - - - - - - - - - - A scholarly academic article, typically published in a journal. - - - - stable - - - unstable - http://purl.org/ontology/bibo/ - A document that presents authoritative reference information, such as a dictionary or encylopedia . - A document that presents authoritative reference information, such as a dictionary or encylopedia - - Short Definition from the bibo ontology - - - SDB User Manual - http://purl.org/ontology/bibo/ - A book of instructions or guide to a specific topic - unstable - A small reference book, especially one giving instructions. - - - - Bibo Definition: A seminar, discussion group, or the like, that emphasizes exchange of ideas and the demonstration and application of techniques, skills, etc. - http://purl.org/ontology/bibo/ - - stable - A seminar, discussion group, or the like, that emphasizes zxchange of ideas and the demonstration and application of techniques, skills, etc. - - - - - - - - - An edited book. - - - - - - - - - http://purl.org/ontology/bibo/ - Best American Science Writing 2009 - - stable - An edited collection of stand-alone articles published as a book - - - - - - - - - http://purl.org/ontology/bibo/ - The Short Definition is how the bibo ontology defines Map. It has been extended to include more broader concept of map which includes science maps, social network maps. - A graphical depiction of geographic features. - A graphical depiction of geographic features, scientific discipline, scientific data analytical results - - unstable - - - - - - - - - - - - - - - - - - - - http://purl.org/ontology/bibo/ - A specific journal article - - - - - - - - - A written composition in prose, usually nonfiction, on a specific topic, forming an independent part of a periodical or book - Short Definition modified from the bibo ontology. - A written composition in prose, usually nonfiction, on a specific topic, forming an independent part of a book or other publication, as a newspaper or magazine. - stable - - - Short Definition from the bibo ontology - http://purl.org/ontology/bibo/ - - A slide in a slideshow - A slide in a slideshow - unstable - - - A meeting for consultation or discussion. - - core:Seminar and bibo:Conference are very similar. - 2010 International Congress on Autoimmunity; American Libraries Association 2009 - A meeting for consultation or discussion. - - - - - - - http://purl.org/ontology/bibo/ - stable - - - http://purl.org/ontology/bibo/ - Works prepared by hand including handwritten or typescript drafts of pre-publication papers or works not otherwise reproduced in multiple copies - An unpublished Document, which may also be submitted to a publisher for publication. - Short Definition is the Medical Subject Heading (MeSH) definition - stable - - - - A bill enacted into law. - - A bill enacted into law - stable - http://purl.org/ontology/bibo/ - Short Definition from bibo ontology - - - http://purl.org/ontology/bibo/ - The source of the public description and this info is found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html. Bibo considers this term "unstable". The bibo editorial note is: "We are not defining, using an enumeration, the range of the bibo:degree to the defined list of bibo:ThesisDegree. We won't do it because we want people to be able to define new degress if needed by some special usecases. Creating such an enumeration would restrict this to happen." - unstable - We are not defining, using an enumeration, the range of the bibo:degree to the defined list of bibo:ThesisDegree. We won't do it because we want people to be able to define new degress if needed by some special usecases. Creating such an enumeration would restrict this to happen. - - The thesis degree. - - - - Public Description from source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . Bibo considers the bibo:presents and the bibo:presentedAt unstable terms. It also indicates that bibo:presents is a sub-property of event:product. - - - - http://purl.org/ontology/bibo/ - - Relates an event to associated documents; for example, conference to a paper. - unstable - - - - - stable - http://purl.org/ontology/bibo/ - Definition take from this site: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . - A Film director. - - - - - A legal decision that affirms a ruling. - The public description was taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - - - http://purl.org/ontology/bibo/ - - - - - - stable - http://purl.org/ontology/bibo/ - - - - - - - - - - - - - - Critical or explanatory note for a Document. - The public description source is: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html. - stable - http://purl.org/ontology/bibo/ - - - - An entity responsible for issuing often informally published documents such as press releases, reports, etc. This term is classified as unstable by bibo. - An entity responsible for issuing often informally published documents such as press releases, reports, etc. - http://purl.org/ontology/bibo/ - - unstable - - - - unstable - - - - http://purl.org/ontology/bibo/ - Public Description from source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . Bibo considers the bibo:presents and the bibo:presentedAt unstable terms. It also indicates that bibo:presents is a sub-property of event:product. - - Relates a document to an event; for example, a paper to a conference. - - - - Definition from bibo: A person having managerial and sometimes policy-making responsibility for the editorial part of a publishing firm or of a newspaper, magazine, or other publication. - - - - - A legal decision that reverses a ruling. - http://purl.org/ontology/bibo/ - The first sentence of the public description was taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - - - - - - - - - An agent that receives a communication document. - stable - http://purl.org/ontology/bibo/ - - - - - - - - - - - - http://purl.org/ontology/bibo/ - stable - An agent that is interviewed by another agent. - - - http://purl.org/ontology/bibo/ - - Public description take from: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html. Bibo considers this property "unstable". - - A court associated with a legal document; for example, that which issues a decision. - unstable - - - - - - - - - - - - - - Public Description for bibo:distributor taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . - - - - An agent that interview another agent. - - stable - http://purl.org/ontology/bibo/ - - - - A legal decision on appeal that takes action on a case (affirming it, reversing it, etc.). - - Public description is from comments of this object property in bibo ontology located here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - - - http://purl.org/ontology/bibo/ - - - - http://purl.org/ontology/bibo/ - Relates a translated document to the original document. - stable - - Examples shows a book has French language version. Public description source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . - - - - paraphrased editorial note from the bibo ontology: We are not defining, using an enumeration, the range of the bibo:status to be a defined list of bibo:DocumentStatus. This is because we want people to be able to define new statuses if needed; and creating such an enumeration would prevent this. - - - - unstable - - - http://purl.org/ontology/bibo/ - The bibo:transcriptOf public description was found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . Bibo considers this term unstable. - Relates a document to some transcribed original. - - - - The bibo:reviewOf public description was found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . As of 26 May 2010, bibo:reviewOf is used with the class Review, but core:reviewIn doesn't seem to be being used. - - - - - stable - An identifier of serials, still in use by libraries, but replaced by ISSN for any new work - http://purl.org/ontology/bibo/ - CODEN became particularly common in the scientific community as a citation system for periodicals cited in technical- as well in chemistry-related publications and as a search tool in many bibliographic catalogues. -Definition and description came from Wikipedia here: http://en.wikipedia.org/wiki/CODEN - - - - - - - - - - A summary of the resource. - stable - - http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - http://purl.org/dc/terms/ - - - stable - The prefix of a name - - http://purl.org/ontology/bibo/ - Mr; Ms; Mrs - - http://dictionary.reference.com/browse/prefix - - - Definition source: http://en.wikipedia.org/wiki/European_Article_Numbering-Uniform_Code_Council. -The Uniform Code Council (UCC) was the Numbering Organization in the USA to administer and manage the EAN.UCC System. In 2005 the UCC changed its name to GS1 US. - http://purl.org/ontology/bibo/ - stable - European Article Number/Uniform Commercier Code 13 - - - - - - Source: http://en.wikipedia.org/wiki/Library_of_Congress_Control_Number. - Library of Congress Control Number - - - - stable - http://purl.org/ontology/bibo/ - - - - - - stable - http://info-uri.info/registry/OAIHandler?verb=GetRecord&metadataPrefix=reg&identifier=info:oclcnum/. - - -bibo has the domain of this property set to the union of Collection and Document. - OCLC Identifier - http://purl.org/ontology/bibo/ - - - - - - - - - An section number - http://purl.org/ontology/bibo/ - Di Rado, Alicia. 1995. Trekking through college: Classes explore -modern society using the world of Star trek. Los Angeles Times, March -15, sec. A, p. 3. - unstable - - - Serial Item and Contribution Identifier - - - - stable - A sub property of identifier (http://en.wikipedia.org/wiki/SICI). - http://purl.org/ontology/bibo/ - - - Global Trade Item Number 14 - http://en.wikipedia.org/wiki/Global_Trade_Item_Number. - http://purl.org/ontology/bibo/ - stable - - - - - - http://purl.org/ontology/bibo/ - - - - stable - Digital Object Identifier - - - Bibo has the domain of bibo:issue as the class Issue, but an example on their site uses it with Article, referring to the issue number "4" - - - - - - - - Starting page number within a continuous page range. - - - - - http://purl.org/ontology/bibo/ - stable - - - http://purl.org/ontology/bibo/ - The idea here is that while dcterms:description may involve length descriptions, this for short (two or three word) descriptions that could go in a bibliographic entry. - unstable - A short description of the resource. - - - - http://purl.org/ontology/bibo/ - - stable - definition from: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - A description (often numeric) that locates an item within a containing document or collection. - - - - International Standard Serial Number - stable - http://purl.org/ontology/bibo/ - source: http://en.wikipedia.org/wiki/Issn - - - An chapter number - - Title of the chapter (this individual) currently should be entered in the individual name (rdfs:label). Title of the book belongs on a separate Book individual related to the chapter via the core:partOf property (or its child property bibo:reproducedIn). The core:title field is deprecated and should no longer be used as of version 1.1 -- we will want to map rdfs:label to dc:title for query or linked data requests in the future - http://purl.org/ontology/bibo/ - - unstable - - - http://purl.org/ontology/bibo/ - - stable - source for public description: http://en.wikipedia.org/wiki/Universal_Product_Code. - Universal Product Code - - - stable - http://purl.org/ontology/bibo/ - eissn stands for Electronic International Standard Serial Number. source: http://www.definition-of.com/EISSN - The electronic ISSN number of a periodical. - - - - http://purl.org/ontology/bibo/ - The PubMed ID (PMID) identifies a citation record (rather than full-text) in the PubMed database. It is not evidence of compliance with the NIH Public Access Policy, because it does not identify a full-text submission of any kind. - stable - PubMed Identifier - - - - - Definition from: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - - - - - - stable - http://purl.org/ontology/bibo/ - The name defining a special edition of a document. Normally its a literal value composed of a version number and words. - - - - - http://en.wikipedia.org/wiki/Isbn. - - - - Ending page number within a continuous page range. - stable - - - http://purl.org/ontology/bibo/ - - - - source: http://en.wikipedia.org/wiki/Isbn. - - - - - - Jr.; III;; M.D. - - stable - The suffix of a name - http://purl.org/ontology/bibo/ - - - 020530902X - - stable - Amazon standard identification number. Source: http://en.wikipedia.org/wiki/Amazon_Standard_Identification_Number. - Amazon Standard Identification Number - http://purl.org/ontology/bibo/ - - - - Definition from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-bibo-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-bibo-public-1.5.owl new file mode 100644 index 00000000..fb97b9d8 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/vivo-bibo-public-1.5.owl @@ -0,0 +1,1585 @@ + + + + Bibontology + + + + + + + + + + + review of + The bibo:reviewOf public description was found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . As of 26 May 2010, bibo:reviewOf is used with the class Review, but core:reviewIn doesn't seem to be being used. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + affirmedBy + The public description was taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + http://purl.org/ontology/bibo/ + A legal decision that affirms a ruling. + + + + + + + + + + + annotates + The public description source is: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html. + http://purl.org/ontology/bibo/ + stable + Critical or explanatory note for a Document. + + + + + + + + + + cited by + + + + + + + + + + cites + + + + + + + + + + + court + Public description take from: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html. Bibo considers this property "unstable". + http://purl.org/ontology/bibo/ + unstable + A court associated with a legal document; for example, that which issues a decision. + + + + + + + + + + related degree + The source of the public description and this info is found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html. Bibo considers this term "unstable". The bibo editorial note is: "We are not defining, using an enumeration, the range of the bibo:degree to the defined list of bibo:ThesisDegree. We won't do it because we want people to be able to define new degress if needed by some special usecases. Creating such an enumeration would restrict this to happen." + http://purl.org/ontology/bibo/ + The thesis degree. + We are not defining, using an enumeration, the range of the bibo:degree to the defined list of bibo:ThesisDegree. We won't do it because we want people to be able to define new degress if needed by some special usecases. Creating such an enumeration would restrict this to happen. + unstable + + + + + + + + + director + Definition take from this site: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . + http://purl.org/ontology/bibo/ + A Film director. + stable + + + + + + + + + interviewee + http://purl.org/ontology/bibo/ + stable + An agent that is interviewed by another agent. + + + + + + + + + interviewer + http://purl.org/ontology/bibo/ + stable + An agent that interview another agent. + + + + + + + + + performer + http://purl.org/ontology/bibo/ + stable + + + + + + + + + + related documents + Public Description from source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . Bibo considers the bibo:presents and the bibo:presentedAt unstable terms. It also indicates that bibo:presents is a sub-property of event:product. + http://purl.org/ontology/bibo/ + Relates an event to associated documents; for example, conference to a paper. + unstable + + + + + + + + + + recipient + http://purl.org/ontology/bibo/ + stable + An agent that receives a communication document. + + + + + + + + + reproduced in + + + + + + + + + + + reversedBy + The first sentence of the public description was taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + http://purl.org/ontology/bibo/ + A legal decision that reverses a ruling. + + + + + + + + + + + review of + The bibo:reviewOf public description was found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . As of 26 May 2010, bibo:reviewOf is used with the class Review, but core:reviewIn doesn't seem to be being used. + + + + + + + + + + status + paraphrased editorial note from the bibo ontology: We are not defining, using an enumeration, the range of the bibo:status to be a defined list of bibo:DocumentStatus. This is because we want people to be able to define new statuses if needed; and creating such an enumeration would prevent this. + + + + + + + + + subsequentLegalDecision + Public description is from comments of this object property in bibo ontology located here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + http://purl.org/ontology/bibo/ + A legal decision on appeal that takes action on a case (affirming it, reversing it, etc.). + + + + + + + + + + transcript of + The bibo:transcriptOf public description was found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . Bibo considers this term unstable. + http://purl.org/ontology/bibo/ + Relates a document to some transcribed original. + unstable + + + + + + + + + + translation of + Examples shows a book has French language version. Public description source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . + http://purl.org/ontology/bibo/ + Relates a translated document to the original document. + stable + + + + + + + + + translator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + has translation + Examples shows a book has French language version. Public description source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . + + + + + + + + + + + + + + + + + + + + translator of + + + + + + + + + + + + + + abstract + http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + http://purl.org/dc/terms/ + A summary of the resource. + stable + + + + + + + + + + asin + 020530902X + Amazon standard identification number. Source: http://en.wikipedia.org/wiki/Amazon_Standard_Identification_Number. + http://purl.org/ontology/bibo/ + Amazon Standard Identification Number + stable + + + + + + + + + chapter + Title of the chapter (this individual) currently should be entered in the individual name (rdfs:label). Title of the book belongs on a separate Book individual related to the chapter via the core:partOf property (or its child property bibo:reproducedIn). The core:title field is deprecated and should no longer be used as of version 1.1 -- we will want to map rdfs:label to dc:title for query or linked data requests in the future + http://purl.org/ontology/bibo/ + An chapter number + unstable + + + + + + + + + + coden + CODEN became particularly common in the scientific community as a citation system for periodicals cited in technical- as well in chemistry-related publications and as a search tool in many bibliographic catalogues. +Definition and description came from Wikipedia here: http://en.wikipedia.org/wiki/CODEN + http://purl.org/ontology/bibo/ + An identifier of serials, still in use by libraries, but replaced by ISSN for any new work + stable + + + + + + + + Digital Object Identifier (DOI) + http://purl.org/ontology/bibo/ + stable + Digital Object Identifier + + + + + + + + + EAN International-Uniform Code Council (EAN-UCC) 13 + Definition source: http://en.wikipedia.org/wiki/European_Article_Numbering-Uniform_Code_Council. +The Uniform Code Council (UCC) was the Numbering Organization in the USA to administer and manage the EAN.UCC System. In 2005 the UCC changed its name to GS1 US. + http://purl.org/ontology/bibo/ + European Article Number/Uniform Commercier Code 13 + stable + + + + + + + + + edition + http://purl.org/ontology/bibo/ + The name defining a special edition of a document. Normally its a literal value composed of a version number and words. + stable + + + + + + + + + Electronic International Standard Serial Number (EISSN) + eissn stands for Electronic International Standard Serial Number. source: http://www.definition-of.com/EISSN + http://purl.org/ontology/bibo/ + stable + The electronic ISSN number of a periodical. + + + + + + + + + gtin14 + http://en.wikipedia.org/wiki/Global_Trade_Item_Number. + http://purl.org/ontology/bibo/ + stable + Global Trade Item Number 14 + + + + + + + + + identifier + + + + + + + + + + + + + + + + + + International Standard Book Number (ISBN) 10 + http://en.wikipedia.org/wiki/Isbn. + + + + + + + + + + + International Standard Book Number (ISBN) 13 + source: http://en.wikipedia.org/wiki/Isbn. + + + + + + + + + + International Standard Serial Number (ISSN) + http://purl.org/ontology/bibo/ + source: http://en.wikipedia.org/wiki/Issn + stable + International Standard Serial Number + + + + + + + + + + issue + Bibo has the domain of bibo:issue as the class Issue, but an example on their site uses it with Article, referring to the issue number "4" + + + + + + + + + Library of Congress Control Number (LCCN) + Source: http://en.wikipedia.org/wiki/Library_of_Congress_Control_Number. + http://purl.org/ontology/bibo/ + stable + Library of Congress Control Number + + + + + + + + + locator + definition from: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + http://purl.org/ontology/bibo/ + stable + A description (often numeric) that locates an item within a containing document or collection. + + + + + + + + + number of pages + + + + + + + + + + number + Definition from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + + + + + + + + + Online Computer Library Center (OCLC) number + http://info-uri.info/registry/OAIHandler?verb=GetRecord&metadataPrefix=reg&identifier=info:oclcnum/. + + +bibo has the domain of this property set to the union of Collection and Document. + http://purl.org/ontology/bibo/ + stable + OCLC Identifier + + + + + + + + + + end page + http://purl.org/ontology/bibo/ + stable + Ending page number within a continuous page range. + + + + + + + + + + start page + http://purl.org/ontology/bibo/ + stable + Starting page number within a continuous page range. + + + + + + + + + PubMed Identifier + The PubMed ID (PMID) identifies a citation record (rather than full-text) in the PubMed database. It is not evidence of compliance with the NIH Public Access Policy, because it does not identify a full-text submission of any kind. + http://purl.org/ontology/bibo/ + stable + PubMed Identifier + + + + + + + + + + + name prefix + Mr; Ms; Mrs + http://dictionary.reference.com/browse/prefix + http://purl.org/ontology/bibo/ + stable + The prefix of a name + + + + + + + + + section + http://purl.org/ontology/bibo/ + An section number + Di Rado, Alicia. 1995. Trekking through college: Classes explore +modern society using the world of Star trek. Los Angeles Times, March +15, sec. A, p. 3. + unstable + + + + + + + + + short description + http://purl.org/ontology/bibo/ + A short description of the resource. + unstable + The idea here is that while dcterms:description may involve length descriptions, this for short (two or three word) descriptions that could go in a bibliographic entry. + + + + + + + + + sici + A sub property of identifier (http://en.wikipedia.org/wiki/SICI). + http://purl.org/ontology/bibo/ + Serial Item and Contribution Identifier + stable + + + + + + + + + + name suffix + Jr.; III;; M.D. + http://purl.org/ontology/bibo/ + stable + The suffix of a name + + + + + + + + + upc + http://purl.org/ontology/bibo/ + source for public description: http://en.wikipedia.org/wiki/Universal_Product_Code. + stable + Universal Product Code + + + + + + + + + + URI + Definition from: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + + + + + + + + + + volume + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Academic Article + + A specific academic journal article + Written by scholars for other scholars, typically published in an academic journal with an abstract and bibliography + http://purl.org/ontology/bibo/ + A scholarly academic article, typically published in a journal. + stable + + + + + + + + Article + + A specific journal article + A written composition in prose, usually nonfiction, on a specific topic, forming an independent part of a periodical or book + Short Definition modified from the bibo ontology. + http://purl.org/ontology/bibo/ + stable + A written composition in prose, usually nonfiction, on a specific topic, forming an independent part of a book or other publication, as a newspaper or magazine. + + + + + + + + Audio Document + + Recorded audio in any format + http://purl.org/ontology/bibo/ + phonograph record; tape; CD; DVD; DAT + stable + An audio document; aka record. + + + + + + + + Audio-Visual Document + + Audiovisual recording in any format + film; video; Blu-ray + http://purl.org/ontology/bibo/ + An audio-visual document; film, video, and so forth. + stable + + + + + + + + Bill + + Draft legislation presented for discussion to a legal body + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + stable + Draft legislation presented for discussion to a legal body. + + + + + + + + Book + + A written or printed work of fiction or nonfiction, usually on sheets of paper fastened or bound together within covers + Short Definition copied from bibo ontology + http://purl.org/ontology/bibo/ + A written or printed work of fiction or nonfiction, usually on sheets of paper fastened or bound together within covers. + stable + + + + + + + + Book Section + + A section of a book + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + unstable + A section of a book. + + + + + + + + Brief + + A document stating the facts and points of law of a client's case + http://purl.org/ontology/bibo/ + unstable + A written argument submitted to a court. + + + + + + + + Chapter + + A main division of a book + http://purl.org/ontology/bibo/ + A chapter of a book. + unstable + + + + + + + + Code + + A work consisting of texts of rules and regulations related to statutes issued by executive or administrative agencies + Code of Federal Regulations + Short Definition from OCLC Input Standards, EntW + http://purl.org/ontology/bibo/ + A collection of statutes. + stable + + + + + + + + Collected Document + + Short Definition is the Medical Subject Heading (MeSH) definition + Work consisting of collections of previously published works + http://purl.org/ontology/bibo/ + stable + A document that simultaneously contains other documents. + + + + + + + + Collection + Collection of information resources that have a unified identity + Collection of information resources that have a unified identity. Archives, museums and libraries often acquire collections on specific subjects and from distinguished authors or researchers. Also includes collections of resources bundled into a license. + Hill Ornithology Collection; Wiley Interscience Online Books Biochemisty Collection + http://purl.org/ontology/bibo/ + stable + A collection of Documents or Collections + + + + + + + + Conference + + 2010 International Congress on Autoimmunity; American Libraries Association 2009 + A meeting for consultation or discussion. + core:Seminar and bibo:Conference are very similar. + http://purl.org/ontology/bibo/ + A meeting for consultation or discussion. + stable + + + + + + + + Court Reporter + + Collection of legal cases + Supreme Court Reporter + http://purl.org/ontology/bibo/ + stable + A collection of legal cases. + + + + + + + + Document + A bounded physical representation of a body of information designed with the capacity (and usually intent) to communicate + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + A document (noun) is a bounded physical representation of body of information designed with the capacity (and usually intent) to communicate. A document may manifest symbolic, diagrammatic or sensory-representational information. + stable + + + + + + + + Document Part + + A distinct part of a larger document or collected document + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + a distinct part of a larger document or collected document. + unstable + + + + + + + + Edited Book + + An edited collection of stand-alone articles published as a book + Best American Science Writing 2009 + http://purl.org/ontology/bibo/ + stable + An edited book. + + + + + + + + Excerpt + + A passage selected from a larger work + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + stable + A passage selected from a larger work. + + + + + + + + Film + + Audiovisual recording in film format + http://purl.org/ontology/bibo/ + aka movie. + stable + + + + + + + + Hearing + + An instance or a session in which testimony and arguments are presented, esp. before an official, as a judge in a lawsuit. + Definiton from Bibo here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + http://purl.org/ontology/bibo/ + An instance or a session in which testimony and arguments are presented, esp. before an official, as a judge in a lawsuit. + stable + + + + + + + + Image + + + + A visual representation such as a photograph or graph + http://purl.org/ontology/bibo/ + photograph; diagram + A document that presents visual or diagrammatic information. + stable + + + + + + + + Interview + + A conversation between two or more people where questions are asked by the interviewer to obtain information from the interviewee. + http://purl.org/ontology/bibo/ + radio or newspaper interview + A formalized discussion between two or more people. + stable + + + + + + + + Issue + + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + something that is printed or published and distributed, esp. a given number of a periodical + something that is printed or published and distributed, esp. a given number of a periodical + stable + + + + + + + + Journal + + Articles usually contain abstracts and bibliographies. Includes peer-reviewed, non-peer-reviewed, and open access journals. Journals are usually indexed in the major academic databases such as PubMed and Web of Science. + Contains original scholarly research or review articles by experts in the field + Journal of Information Science; IEEE Intelligent System; Scientometrics + http://purl.org/ontology/bibo/ + stable + A periodical of scholarly journal Articles. + + + + + + + + Legal Case Document + + Official court papers for a case + http://purl.org/ontology/bibo/ + A document accompanying a legal case. + unstable + + + + + + + + Decision + + The written determination of a case, motion or claim by a court or tribunal + http://purl.org/ontology/bibo/ + unstable + A document containing an authoritative determination (as a decree or judgment) made after consideration of facts or law. + + + + + + + + Legal Document + + a document that states some contractual relationship or grants some right + http://purl.org/ontology/bibo/ + A legal document; for example, a court decision, a brief, and so forth. + stable + + + + + + + + Legislation + + Enactments of legislative bodies, published in either statute or code form + From OCLC Input Standards, EntW + http://purl.org/ontology/bibo/ + A legal document proposing or enacting a law or a group of laws. + unstable + + + + + + + + Letter + + A written or printed communication addressed to a person or organization and usually transmitted by mail + A written or printed communication addressed to a person or organization and usually transmitted by mail + + + + + + + + Magazine + + Abstracts and bibliographies are usually not included in magazines. + Contains articles of current events or general interest, geared to the reading public as being informative or recreational + New Yorker + http://purl.org/ontology/bibo/ + A periodical of magazine Articles. A magazine is a publication that is issued periodically, usually bound in a paper cover, and typically contains essays, stories, poems, etc., by many writers, and often photographs and drawings, frequently specializing in a particular subject or area, as hobbies, news, or sports. + stable + + + + + + + + Manual + + A book of instructions or guide to a specific topic + SDB User Manual + http://purl.org/ontology/bibo/ + A small reference book, especially one giving instructions. + unstable + + + + + + + + Manuscript + + Short Definition is the Medical Subject Heading (MeSH) definition + Works prepared by hand including handwritten or typescript drafts of pre-publication papers or works not otherwise reproduced in multiple copies + http://purl.org/ontology/bibo/ + An unpublished Document, which may also be submitted to a publisher for publication. + stable + + + + + + + + Map + + A graphical depiction of geographic features, scientific discipline, scientific data analytical results + The Short Definition is how the bibo ontology defines Map. It has been extended to include more broader concept of map which includes science maps, social network maps. + http://purl.org/ontology/bibo/ + A graphical depiction of geographic features. + unstable + + + + + + + + Newspaper + + Contains news articles, opinions, features, advertising, and is usually issued daily or weekly + USA Today + http://purl.org/ontology/bibo/ + stable + A periodical of documents, usually issued daily or weekly, containing current news, editorials, feature articles, and usually advertising. + + + + + + + + Note + + Notes or annotations about a resource + Short Definition from bibo ontology + http://purl.org/ontology/bibo/ + stable + Notes or annotations about a resource. + + + + + + + + Patent + + (from BIBO) A document describing the exclusive right granted by a government to an inventor to manufacture, use, or sell an invention for a certain number of years + A patent is an exclusive right granted for an invention, which is a product or a process that provides, in general, a new way of doing something, or offers a new technical solution to a problem. In order to be patentable, the invention must fulfill certain conditions. (http://www.wipo.int/patentscope/en/) + http://purl.org/ontology/bibo/ + stable + A document describing the exclusive right granted by a government to an inventor to manufacture, use, or sell an invention for a certain number of years. + + + + + + + + Performance + + Something carried out, acted or rendered. + http://purl.org/ontology/bibo/ + unstable + A public performance. + + + + + + + + Periodical + + http://purl.org/ontology/bibo/ + stable + A group of related documents issued at regular intervals. + + + + + + + + Personal Communication Document + + A personal communication manifested in some document. + A personal communication manifested in some document. + + + + + + + + Proceedings + + A compilation of documents published from an event, such as a conference + Short Definition copied from bibo ontology + http://purl.org/ontology/bibo/ + unstable + A compilation of documents published from an event, such as a conference. + + + + + + + + Quote + + An excerpted collection of words + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + An excerpted collection of words. + stable + + + + + + + + Reference Source + + A document that presents authoritative reference information, such as a dictionary or encylopedia + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + unstable + A document that presents authoritative reference information, such as a dictionary or encylopedia . + + + + + + + + Report + + A document describing an account or statement describing in detail an event, situation, or the like, usually as the result of observation, inquiry, etc. + Medical Subject Heading (MeSH) definition of Technical Report: Work consisting of a formal report giving details of the investigation and results of a medical or other scientific problem. When issued by a government agency or comparable official body, its contents may be classified, unclassified, or declassified with regard to security clearance. This publication type may also cover a scientific paper or article that records the current state or current position of scientific research and development. If so labeled by the editor or publisher, this publication type may be properly used for journal articles. + http://purl.org/ontology/bibo/ + stable + A document describing an account or statement describing in detail an event, situation, or the like, usually as the result of observation, inquiry, etc.. + + + + + + + + Series + + A thematic collection of documents, usually books, issued at regular or irregular intervals + Methods in Molecular Biology + http://purl.org/ontology/bibo/ + A loose, thematic, collection of Documents, often Books. + stable + + + + + + + + Slide + + A slide in a slideshow + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + A slide in a slideshow + unstable + + + + + + + + Slideshow + + A presentation of a series of slides, usually presented in front of an audience with written text and images + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + A presentation of a series of slides, usually presented in front of an audience with written text and images. + stable + + + + + + + + Standard + + A specification giving a precise statement of a process or a service requirement, often sanctioned by a nation or industry + Short Definition from OCLC Input Standards, EntW + http://purl.org/ontology/bibo/ + A document describing a standard + stable + + + + + + + + Statute + + A bill enacted into law + Short Definition from bibo ontology + http://purl.org/ontology/bibo/ + A bill enacted into law. + stable + + + + + + + + Thesis + + Short Definition from OCLC Input Standards, EntW + Works created to satisfy the requirements for an academic certification or degree; also called dissertation + http://purl.org/ontology/bibo/ + A document created to summarize research findings associated with the completion of an academic degree. + stable + + + + + + + + Webpage + + One section of a website that appears at a unique address within the parent site's address or URL on the World Wide Web + http://purl.org/ontology/bibo/ + A web page is an online document available (at least initially) on the world wide web. A web page is written first and foremost to appear on the web, as distinct from other online resources such as books, manuscripts or audio documents which use the web primarily as a distribution mechanism alongside other more traditional methods such as print. + unstable + + + + + + + + Website + + A group of webpages available within a specific parent address or URL on the World Wide Web + Facebook; VIVOweb.org; Flickr + http://purl.org/ontology/bibo/ + A group of Webpages accessible on the Web. + unstable + + + + + + + + Workshop + + Bibo Definition: A seminar, discussion group, or the like, that emphasizes exchange of ideas and the demonstration and application of techniques, skills, etc. + http://purl.org/ontology/bibo/ + A seminar, discussion group, or the like, that emphasizes zxchange of ideas and the demonstration and application of techniques, skills, etc. + stable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-c4o-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-c4o-public-1.5.owl similarity index 72% rename from productMods/WEB-INF/filegraph/tbox/vivo-c4o-1.5.owl rename to productMods/WEB-INF/filegraph/tbox/vivo-c4o-public-1.5.owl index bb6f0493..d480440c 100644 --- a/productMods/WEB-INF/filegraph/tbox/vivo-c4o-1.5.owl +++ b/productMods/WEB-INF/filegraph/tbox/vivo-c4o-public-1.5.owl @@ -1,4 +1,6 @@ + + Citation Counting and Context Characterization Ontology + + Bibliographic Information Source A source of information about bibliographic citations, such as Google Scholar, Web of Science or Scopus. + Global Citation Count The number of times a work has been cited globally, as determined from a particular bibliographic information source on a particular date. + has global citation frequency A property linking a publication entity to the property c40:GlobalCitationCount that specify how many times a work has been cited by others, according to a particular information source on a particular date. + >A property linking a publication entity to an instance of c40:GlobalCitationCount that specifies how many times a work has been cited by others, according to a particular information source on a particular date. - A property linking the property c40:GlobalCitationCount to the bibliographic information source providing the global citation count information for a particular publication on a particular date. + >A property linking an instance of c40:GlobalCitationCount to the bibliographic information source providing the global citation count information for a particular publication on a particular date. + + has global count source - - An integer defining the value of the global citation count of a cited entity recorded from a named bibliographic information source on a particular date. + + + has global count value + has global count date - - - - - - - - - - 0.7 - - - - - - 0.1 - - - Legal (department within a company); Use for any non-academic department - Definition modified from the definition here: http://dictionary.reference.com/browse/department. It is difficult to tell the difference between and department and a division. - - - - - - - - - - - A distinct, usually ongoing and specialized unit within a large organization. - - - - - - 2 - - - - - - - Independent organizations formally working together toward a common goal, under an expressed agreement - Committee on Institutional Cooperation (CIC); The Five Colleges of Ohio - - - - - - - - - - - Enter room number of name. - 100 Caldwell Hall; 114 Martha Van Rensselaer (Rushmore Conference Room) - - - - Room that provides a particular service or is used for a particular activity. - - - - - - - - - - - There could be many subclasses such as thesis committee or tenure committee, but these may typically be differentiated via the moniker unless distinct properties become important. - Curriculum Steering Committee; PhD Advisory Committee - A group of people organized for a specific purpose (e.g., a reporting or advisory role), often with a charge and for a specific duration. - - - - An institution for instruction in a particular skill or field. - School of Architecture; School of Music - - Definition take from here: http://dictionary.reference.com/browse/school. - - - - - - Role of a person to direct a project or activity being supported by an Agreement (for example, a grant), and who is accountable to the grantee for the proper conduct of the project or activity. Also known as Program Director or Project Director. - - - - - - An explicit individual academic term, quarter, or semester rather than the generic fall, spring or summer semester. - - - - - - F1000, is a place where faculty go to critique papers published in PubMed. Any given record in F1000 might have anywhere from one to dozens of reviews. - - - - - - Short Definition take from http://en.wiktionary.org/wiki/continent. - The seven commonly recognized continents are Africa; Antarctica; Asia; Australia; Europe; North America; South America - A large contiguous landmass that is at least partially surrounded by water, together with any islands on its continental shelf. - - - A specific blog posting - - - - - - - - - - - - An online article or commentary appearing on a blog - - - - - - A lab providing services such as training, protocols, or access to instruments or software - - - A qualitative descriptive research study of individuals or a group - - A form of qualitative descriptive research that is used to study individuals, a small group of participants, or a group as a whole. Medical usage (from MeSH): clinical presentations that may be followed by evaluative studies that eventually lead to a diagnosis. - - - An organized series of a meeting for an exchange of ideas, typically put on by a department or center. - - - - Applied Microeconomics Seminars; Future of Rural New York Seminar Series - For individual seminars, use seminar instead. core:ConferenceSeries and core:SeminarSeries are very similar. - - - Definition obtained here: http://answers.ask.com/Business/Finance/what_is_a_private_company. Examples of private companies found here: http://www.forbes.com/2008/11/03/largest-private-companies-biz-privates08-cx_sr_1103private_land.html - - - - Publix Super Markets; Ernst & Young; PricewaterhouseCoopers - A private company is one that is privately-owned, and thus, is not publicly-traded in the stock market. Members of the general public cannot purchase stock in a private company unless that company chooses to go public and become a public company. - - - - An article reviewing one or more other information resources (a book, one or more other articles, movies, etc) - - - - - - - - - - - - - 1 - - - - - - An academic degree at any level, both as reported by individuals for employment and as offered by academic degree programs. - - - 1 - - - - - - This list may have multiple abbreviations for some degrees. - B.A. Bachelor of Arts - - - US postal address follow the format street, apt or office number (optional), city, state, and zipcode. - - - 1 - - - - - - 1320 East 10th Street, Wells Library 021 Bloomington, IN 47405 - - - - - - 1 - - - - - - Formal address in US postal address system. - - - 1 - - - - - - - - A broad-ranging leader concept, from leading a small temporary committee to head of a large international organization. - - - - A leadership role - - - - An institution of higher education and research, which grants academic degrees in a variety of subjects, and provides both undergraduate education and postgraduate education. - University of Florida; Washington University in St. Louis - - - - - - - - - Definition taken from: http://en.wikipedia.org/wiki/University - - - Use only if no specific subclasses of core:Student describe the person. - - A person who is enrolled in an educational institution. - - - One of a number of areas or communities having their own governments and forming a federation under a sovereign government, as in the US. - - - - Source of the Short Definition: http://www.thefreedictionary.com/state. - Minnesota; Michigan; Indiana; New York; Quebec; Manitoba; Ontario - - - - - - A role that encompasses both ongoing reviewer responsibility for a bibo:Collection, such as a Journal or Series, and also a review performed for a bibo:Document, such as a book, academic article or conference paper. - A role that encompasses both ongoing reviewer responsibility for a bibo:Collection, such as a Journal or Series, and also a review performed for a bibo:Document, such as a book, academic article or conference paper. - - - It's anticipated that the subclasses will be used when classifying items. And, all locations can be viewable via this class. - Use subclasses of core:Location when classsifying items. - Top level of all location classes. - - - - - - A role in an Agreement (for example, a grant) as a named investigator or key personnel. - - - College of Arts & Sciences; Ivy Tech Community College - - - - - - - - - - A primary academic unit within a University or a free-standing higher education organization without graduate degree programs. - - - - - - see also core:Certificate - An issued certificate - - - - A document created as a basis for discussion or a very early draft of a formal paper - - - - - - - - - - - - A retired librarian who has retained their rank, title and privileges. - - - - - - A role of observing or treating patients - - - from Wikipedia: "A company is a form of business organization. It is an association or collection of individual real persons and/or other companies ... This collection, group or association of persons can be made to exist in law and then a company is itself considered a "legal person". The name company arose because, at least originally, it represented or was owned by more than one real or legal person." - a legally-recognized business organization - - - - a specific period or duration, defined by (optional) start and end date/times. - - - A position classified as professional, staff, support, or any other non-academic role - - - - Staff, support, and other non-academic positions. - - - - - - - - - - - - - - - - - - - Accounting & Research Services Assistant; Director of Information Technology - - - - - - A granted license, which gives a 'permission to practice.' Such licenses are usually issued in order to regulate some activity that is deemed to be dangerous or a threat to the person or the public or which involves a high level of specialized skill. See also core:License. - A granted license, which gives a 'permission to practice.' - - - - - - A retired professor who has retained their rank, title and privileges. - - - - is a generic term for a process of self-regulation by a profession or a process of evaluation involving qualified individuals within the relevant field. Peer review methods are employed to maintain standards, improve performance and provide credibility. In academia the term is often used to denote a prepublication review of academic papers; reviewing an academic paper is often called refereeing. -Contents -[hide] - - A role of peer reviewing - - - A location having coordinates in geographic space. - - - - Removed the word "stable" because disputed territories from geopolitical.owl are included. This could imply that the geographic coordinates could change. This definition was originally in core:Geographic Location. I simply copied the definition from there. I think core:Geographic Location and core:Geographic Region are both the same and only one is needed. There is also geopolitical.owl:geographical_region which further causes confusion. - Use subclasses of core:Geographic Region subclasses instead of this class if possible. - - - - - - An area of land distinguished by its political autonomy. Politically independent territories. - Source of the Short Definition: http://www.thefreedictionary.com/country. This is also the same as geopolitical.owl:self_governing. - Afghanistan; Antigua and Barbuda; Cameroon; Iceland; Jamaica; Nigeria; United States of America - - - - - - - - Alachua County Extension Office - - A unit devoted primarily to extension activities, whether for outreach or research. - - - For individual, separate conferences, use conference instead. core:ConferenceSeries and core:SeminarSeries are very similar. - An organized series of a meeting for consultation or discussion. - - - - - - - Text of a speech written in preparation for delivery of the speech. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A negotiated arrangement between two or more parties regarding a course of action - - - - A person registered in an undergraduate program leading to a bachelor's degree or an undergraduate diploma or certificate. - - - A government agency is a permanent or semi-permanent organization in the machinery of government that is responsible for the oversight and administration of specific functions. - Definition take from: http://en.wikipedia.org/wiki/Government_agency. - - United States Library of Congress - - - Definition was take from here: http://dictionary.reference.com/browse/museum - A building or place where works of art, scientific specimens, or other objects of permanent value are kept and displayed. - The Getty Museum - - - - Those positions are held by people who do academic work but do not have faculty positions in universities or institutes. - - - - - - - - - - - - - - - - - - - - - - Researcher; Academic Extension Associate; Postdoctoral Associate - A position involving academic work but without faculty status - - - - National Institute of Health (NIH) - - - - - - - - - - - A defined class of organizations that fund Grants. - - - - Written script for a film production, including dialogue and descriptions of gestures, actions, shooting directions - - - Licenses are usually issued in order to regulate some activity that is deemed to be dangerous or a threat to the person or the public or which involves a high level of specialized skill. See also core:Licensure. - Official or legal permission to do something - - - - - - A laboratory that provides services - Ideally a defined class -- a Laboratory the provides some Service via the property - - - - - - - - - - - - - - Elsevier; Harper & Row; Indiana University Press - - A person or company whose business is the publishing of books, periodicals, engravings, computer software, etc. - Definition found here: http://dictionary.reference.com/browse/publisher - - - Use subclasses of core:Facility subclasses instead of this class if possible - Something designed, built, installed, etc., to serve a specific function or activity affording a convenience or service. - - - - Distinct from the organization that runs it; e.g., a laboratory may be an organization but may be run by another organization and only consist of facilities housing equipment or services. Can be a building or place that provides a particular service or is used for a particular activity. Use the specific Building or Room whenever possible. Short definition from http://dictionary.reference.com/browse/facility. - - - The example is one outreach role required by US space agency NASA, which is related with one project in NASA. Name of the outreach role should be put here. - Communicating Astronomy to the Public - An outreach or community service role directed outside a person's primary profession and institution - - - - - - - - - Are we assuming that a PresenterRole is in a Presentation? Or could you have a PresenterRole in, say, a committee? - - - - - - - - - A role of presenting information - - - - - - A position designated as primary by the organization where it is held. - A position designated as primary by the organization or group where it is held. This designation may be applied to zero or more of an agent's positions and may be asserted in conjunction with other subclasses of position. - - - - A gathering of people for a defined purpose, not necessarily public or announced - - - - An article of opinion, typically published in a newspaper. For academics, most commonly Op Ed pieces - - - The most general classification of an information resource - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The Ford Foundation - - An institution financed by a donation or legacy to aid research, education, the arts, etc. - Definition take from: http://dictionary.reference.com/browse/foundation. - - - Regularly updated online journal or newsletter by one or more writers, called bloggers, containing articles and commentary of interest to the blogger - - Blog is short for weblog. - Library of Congress Blog - - - - Definition take from here: http://en.wikipedia.org/wiki/Student_society - A student organization is an organization, operated by students at a university, whose membership normally consists only of students. - Dancin' Gators - - - An Award or Honor - An Award or Honor - - - - - - - - - Wiley Prize in Biomedical Sciences - - - - - - - - - - - - - - - - - - - - - A regularly offered service in support of an academic, research, or administrative function (not personal or professional service by an individual) - UITS service - - - - - - - - - - - UITS service is the information technology services provided by Indiana University. SC. - - - - - - A role of organizing - - - - - - Either city or town - a thickly populated area having fixed boundaries and certain local powers of government. - - - Any region that goes beyond national boundaries and does not fit into any subclass of core:TransnationalRegion. - Not sure how to access the "Editor's Comments". But as North America is a continent, it would be placed directly into the continent subclass and viewable through this class along with any other subclass entities. - sub-Saharan Africa, North America - None as yet. - - - - - - 1 - - - - - - - - - - - - - - http://info.slis.indiana.edu/~katy/ - Uniform Resource Locator (URL) specifies where an identified resource is available and the mechanism for retrieving it. - The full URL. - - - The grounds of a school, college, university, or hospital. Or, a large, usually suburban, landscaped business or industrial site. - Definition taken from dictionary.com (http://dictionary.reference.com/browse/campus). - - - - Cornell Ithaca; Cornell Geneva; Cornell New York City; Cornell Qatar - - - An academic administrative position (associate dean, etc.) as distinct from a professional administrative position (non-academic) - Associate Dean - - - - - - - - - - - - - - - - - - - That is a position held by an academic faculty member who works for administration. - - - - - - - The showing of an object or a collection of objects, in an organized manner. - - - A physical object provided for specific purpose, task or occupation. - - - - - - - - - A network server is one example. Medical schools and research laboratories can list professional equipment, such as microscopes. - server; Bruker Vector-33 FT-IR - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Only use if no specific subclasses of core:EventSeries desribe the activity. - Two or more events that occur at different times and are connected to each other. - A generic class which may include a conference series, a course section, a seminar series, or a workshop series. When possible, use one of these more specific classes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Martha Van Rensselaer Hall (VR); Caldwell Hall (CD); University Auditorium - Building that provides a particular service or is used for a particular activity. - Enter building name. If the building's name is a number (as in many governmental organizations such as national laboratories and military bases), then enter it. Do not confuse with the number that appears in a postal address. - - - The largest administrative division of most states or provinces. - Alachua; Baker; Bradford; Kenora; Ottawa; Waterloo - Short Definition modified from the one found here: http://www.thefreedictionary.com/county. - - - - - - - - - - - - - - - - - - - - - - - - - - - - An employment activity, whether compensated or not. Short definition comes from http://en.wikipedia.org/wiki/Position, and has been modified. - Particular position in an organization, commonly identified by job title, and normally associated with a job description that details the tasks and responsibilities that go with the position. - Director of Admissions and Placement; Associate University Librarian - - - - - - - - - - - - - - An advisory relationship in which a professor advises an undergraduate student. - - - - - - A document confirming certain characteristics of a person or organization, usually provided by some form of external review, education, or assessment. - A document confirming certain characteristics of a person or organization, usually provided by some form of external review, education, or assessment. - - - Endodontics (department within a College of Dentistry); English (department within a College of Liberal Arts) - - - - - - - - - - - - - - - - - - - - A distinct, usually specialized educational unit within an educational organization. - - - - - - An advisory relationship in which the advisee is a Postdoc or Fellow. - - - - A person holding a position that is not considered to be an academic appointment. - - - - Encompasses talk, speech, lecture, slide lecture, conference presentation - - - - An organizational unit (as opposed to the physical facility) that performs research, provides services, or processes materials - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A person not considered a faculty member but holding an academic appointment. - - - Short definition was partially taken from http://en.wikipedia.org/wiki/Subnational_entity. - For example, the Midwest, northeast U.S. - Smaller administrative division into which a country may be divided. - Boroughs; townships; districts; the Midwest - - - - Use subclasses of core:Geographic Location subclasses instead of this class if possible. - Removed the word "stable" because disputed territories from geopolitical.owl are included. This could imply that the geographic coordinates could change. I've also copied this definition to core:Geographic Location. I think core:Geographic Location and core:Geographic Region are both the same and only one is needed. There is also geopolitical.owl:geographical_region which further causes confusion. - - A location having coordinates in geographic space. - - - - Written musical composition for voice or instruments or both - - - Financial assistance mechanism providing money, property, or both to an eligible entity to carry out an approved project or activity - - - - - - - - - - - - - - - - - - - - - - - Short definition is from the Glossary of NIH Terms. - An intramural or extramural award to support scholarly work, such as UF09179 (VIVO) - - - - - - - - - - - - Marston Science Library - - A collection of any materials, for study and enjoyment, which has been systematically arranged. - Used information from this definition: http://dictionary.reference.com/browse/library. - - - - - - - - - - - Institute for Fundamental Theory - - An Institute normally has a research focus but may also fulfill instructional or outreach roles. - - - An endeavor, frequently collaborative, that occurs over a finite period of time and is intended to achieve a particular aim. - - - - - - - - - - An endeavor, frequently collaborative, that occurs over a finite period of time and is intended to achieve a particular aim. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A role of serving as an educator - - - - - - - - - - - - - - - - - - - - - - - - - - - An attestation of qualification, competence, or authority issued to an individual by a third party with a relevant or de facto authority or assumed competence to do so. - An attestation of qualification, competence, or authority issued to an individual by a third party with a relevant or de facto authority or assumed competence to do so. - - - - - - Postdoctoral research is academic or scholarly research conducted by a person who has completed his or her doctoral studies, normally within the following five years. It is intended to further deepen expertise in a specialist subject. - - - - - - A role of conducting funded or unfunded research, sometimes linked to an Agreement. - Examples of research can be seen at: http://www.ufl.edu/research/products/index.html. Note these may have been funded, but the research doesn't have to be funded. Also, the research may be linked to an Agreement (for example, a Grant), but does not need to be. - - - - Definition from here: http://research.carleton.ca/htr/defs.php. - A person with at least one academic appointment to a specific faculty of a university or institution of higher learning. - - - - A Person holding an academic employment appointment focused on research rather than teaching; temporary (or for some defined term) - - - US Patent Data; US Job Data - - A named collection of data, usually containing only one type of data - - - - - - - - - - - - - - - - - - - Currently any abstract name is given to individuals of this class. This could change in the future. - This connects person to their academic degree through this educational training, but can also be used when the training does not result in a degree. - Represents educational training that has been received. - - - Not the same as an award or distinction. - Intel Talent Search; poetry contest - An occasion on which a winner is selected from among two or more contestants. - - - - - A paper presented at a conference; optionally collected into a Proceedings or a special Journal issue - - - - - - - - - - - - - - - - Computer program and its related documentation; directs the operation of a computer - - - - - - - - - - The digital file (or physical equivalent), if available after the conference, vs. the act of attending/presenting: use ConferencePresentation for information about date/time/location/name of the event where the poster was presented - - - - An agreement involving specific deliverables and payment - - - - - - - - - - - - - - - - - - - An offering through an ongoing program or single request of research support: internships, positions, financial awards or other forms of tangible or intangible support - - - - - - - - - - - - - - - - - - A retired faculty member who has retained their rank, title and privileges. - - - Special Libraries Association; Association for Computing Machinery(ACM); American Medical Informatics Association(AMIA) - - A formal organization of people or organizations around a subject or practice. - - - - Residency is a stage of graduate medical training. - - - - An organized series of workshop events, whether repetitions of the same workshop or multiple different workshops. - Use workshop for individual events. - - - - Audiovisual recording in video format - - - A date and/or time - - - functions as an n-ary predicate - a reified relationship - - - - A postdoctoral training appointment (job) - - - Cardiovascular Medicine (division within medicine) - - - - - - - - - - Definition modified from http://www.thefreedictionary.com/division. It is difficult to tell the difference between a division and a department. - An area of corporate activity organized as an administrative or functional unit. - - - The Ornithological Newsletter - - Usually issued periodically, prepared by or for a group or institution to present information to a specific audience, often also made available to the press and public - - - - A proposal for a research grant that has been submitted but not approved; does not represent an existing activity - - - An role of an individual within his or her profession or institution; use outreach provider role for community service or other activities outside the profession. - - - - Member of the International Conference on Complex Systems Organizing Committee - - - - An explicit individual period considered by an academic institution to be its primary academic cycle. - - - - - - A role of being a member in a Process or an Organization - - - An informal organization brought together for the purposes of a project or event. - - VIVO Outreach Team; VIVO Ontology Team - - - - - - - - - - - A course as taught in one time period (such as a semester; although note that a course could consist of only one meeting (teaching session)) by one or more instructors, normally but not always for credit. Does not represent either each meeting of the course or the course offering such as Biology 101 taught every semester from 1980 to 2010 - A course as taught in one time period by one or more instructors, normally but not always for credit. Does not represent either each meeting of the course or the course offering such as Biology 101 taught every semester from 1980 to 2010 - - - - - - - - - - - - - In the future we may be able to make this a defined class that would not need to be directly asserted, but the consensus seems to be that some organizations "are" clinical and some "are" research organizations and that the distinction is important enough to warrant the additional class and class assertions - Any organization with a significant clinical function as a matter of course and not just through occasional clinical roles - - - An ongoing academic initiative not formalized with department or division status. - A Cornell graduate field (http://vivo.cornell.edu/index.jsp?home=65535&collection=820) - - - - An institution that provides medical, surgical, or psychiatric care and treatment for the sick or the injured. - - Definition take from: http://dictionary.reference.com/browse/hospital. - Shands at the University of Florida - - - Short Definition take from http://www.thefreedictionary.com/center. - A place where a particular activity or service is concentrated. - - Alchohol Education Center; Center for Arts and Public Policy; Hearing Research Center - - - - - - - - - - - Address has properties for department name, street, city, state or province, postal code, and country. For US specific address, classify using core:US Postal Code. core:Address will display all addresses. - - - - - - - - - A specification of a location. To classify US specific addresses, use core:US Postal Code. - 200 University Avenue West, Waterloo, Ontario, Canada N2L 3G1 - - - Librarian; Library Systems Analyst; Music Bibliographer - - - - - - - - - - - - - - - - - - - A position held by library and information science professionals, or academic or technical experts, in support of providing information services or materials - - It is the common position in libraries. - - - Indicates the precision of the value of a DateTimeValue instance. - - - - - - An advisory relationship in which a professor advises a graduate student. - - - - Typically a student or a recent graduate undergoing supervised practical training. - - - - A person working in a position of librarian or information professional, or academic or technical expert in support of providing information services or materials. - - - - A person who has already received a bachelor's degree and is working toward a Master's or Doctoral degree. - - - - - - A role of attending an Event or EventSeries - - - - - - The bestowal of an award, honor, or distinction to a person or person's at a particular time. - - - - - - - - - The award bestowed may be represented with the Award class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - An advisory relationship in which one faculty member mentors another faculty member. - - - An ongoing editorial responsibility for a bibo:Collection, such as a Journal or Series - - - - An ongoing editorial responsibility for a bibo:Collection, such as a Journal or Series - - - - - - - - - - - - - - - - - Only use this broad role class if no subclasses of role describe the item being classified. - - - - - - - - - A person's, group's or organization's role in an endeavor - Only use if no specific subclasses of core:Role describe the role. - - - - A short written piece focused on an event or announcement of note, having a defined publication time and of less enduring interest than a news feature. - - - - Role of co-principal investigator of an Agreement (for example, a grant), who devotes a specified percentage of time and is considered key personnel. - - - Currently any abstract name is given to members of this class. This could change in the future. - - - - - - - - - Contains the authors name, their rank in the publication, and whether or not they are a corresponding author on the publication. - Authorship of journal articles, books and other original works is a means by which academics communicate the results of their scholarly work, establish priority for their discoveries, and build their reputation among their peers. -This class allows for linking an author to a publication while indicating information about that author's authorship. - - - - - - - - - - - - - - - - - - - - - - Academic position in a university or institution - Professor, associate professor and assistant professor are common positions for academic faculty. - Professor; Associate Professor; Assistant Professor - - - - - - - - - - - - Any organization (likely also asserted as another class of Organization) with a primary, ongoing research function, not just through occasional roles - - - - - - - - - - - A dual relationship of one person being advised or mentored by another person, typically including start and end dates - - - - - - - - - - - - - - - - - - - - - PubMed - A structured file of information or a set of logically related data stored and retrieved using computer-based means - Short Definition is the Medical Subject Heading (MeSH) definition - - - - The result of rendering a work from one language to another - - - Short definition obtained here: http://en.wiktionary.org/wiki/geopolitical_entity. - - Use subclasses of core:GeopoliticalEntity subclasses instead of this class if possible. - A geographical area which is associated with some sort of political structure. - - - Short Definition is the Medical Subject Heading (MeSH) definition - NLM Catalog - - - - - - - - - - - - - - - - - - A list of items in a collection; an ordered compilation of item descriptions and sufficient information to afford access to them - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - general relationship of support - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Examples shows a book has French language version. Public description source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is done through a restriction on the foaf:Person class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is done through a restriction on the foaf:Person class. - - - - - - - - - - - - - - - - - - - - - - This is done through a restriction on academic degree to allow the values from to be foaf:organization to be used as the range. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is done through a restriction on academic degree to allow the values from to be foaf:organization to be used as the range. - - - - - - - - - general relationship of support - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Currently being used by a restriction on organization. - - - - - - - - - - - - - - - - - - Note that the administering department is not the central research administration office (such as University of Florida DSP or Cornell OSP) -- we didn't see a need to record a relationship to that office because it implicitly manages all grants. Also note that this is the administering organization for the grant at the awardee side. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is done with a restriction on agent. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - For example, National Science Foundation providesFundingThrough Graduate Research Fellowship Program; National Institutes of Health providesFundingThrough National Center for Research Resources. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - an information resource (typically a publication) supported by (typically via funding) an agreement (such as a grant) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Since we have defined geopolitical.owl.hasMember to be a subproperty of core:hasMember, we should not make changes to this property that would change the definition of geopolitical.owl.hasMember in ways that may make it inconsistent with its usage in other ontologies. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This is done with a restriction on agent. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - For example, National Science Foundation providesFundingThrough Graduate Research Fellowship Program; National Institutes of Health providesFundingThrough National Center for Research Resources. - - - - - - - - - Public Definition source (http://www.answers.com/topic/publisher). - - - - - - - - - - - - - - Public Definition source (http://www.answers.com/topic/publisher). - - - - - - - - - - We would like the domain of core:outcome to be the union of Event and Process; and that same union to be the range for core:outcomeOf, but we cannot currently express this with the editor. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - an information resource (typically a publication) supported by (typically via funding) an agreement (such as a grant) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Public Description for bibo:distributor taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - We would like the domain of core:outcome to be the union of Event and Process; and that same union to be the range for core:outcomeOf, but we cannot currently express this with the editor. - - - - - - - - - - - - - - - - Note that the administering department is not the central research administration office (such as University of Florida DSP or Cornell OSP) -- we didn't see a need to record a relationship to that office because it implicitly manages all grants. Also note that this is the administering organization for the grant at the awardee side. - - - - - - - - - The bibo:reviewOf public description was found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . As of 26 May 2010, bibo:reviewOf is used with the class Review, but core:reviewIn doesn't seem to be being used. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A possible working example: The conference proceeding of the SPIE was generated from the conference - International Society for Optical Engineering. - - - - - - - - - - - - - - - - A possible working example: The conference proceeding of the SPIE was generated from the conference - International Society for Optical Engineering. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Currently being used by a restriction on organization. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Since we have defined geopolitical.owl.hasMember to be a subproperty of core:hasMember, we should not make changes to this property that would change the definition of geopolitical.owl.hasMember in ways that may make it inconsistent with its usage in other ontologies. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RearcherID is a Thomson Reuters project where researchers have a place to manage and share their professional information. It will allow them to solve author identity issues while simultaneously adding dynamic citation metrics and collaboration networks to your personal profile. -Definition source: http://isiwebofknowledge.com/researcherid/ - - - - - - - A PMCID is a unique PubMed Central reference number, which is assigned to each full-text record made available A PMCID is a unique PubMed Central reference number, which is assigned to each full-text record made available in PubMed Central. The PMCID is issued shortly after the PI or author approves the PubMed Central formatted web version of the submission. - - - - - - - core:localAwardId has a domain of core:Grant, and should be public since that's its public identifier for local use by OSP, accounting, department admins, and the PI - - - - - - - - Chicago; New York; Bloomington; Gainesville - - - - - - - - - - - - - - - conservation - -use one freetextKeyword assertion for each keyword or phrase. - one keyword or phrase per freetextKeyword assertion - - - - True; False - - - - - - The International classification(s) to which the published application has been assigned. - - - - - - 47405-3907 - - - - Apt N26; Mann Library - - - - Information Science; Computer Science; Anthropology - - - - - - - - - - - - - - - - - - - - - We can't yet assume that we will only have a single ORCID id for a person. -source: http://en.wikipedia.org/wiki/ORCID . - - -We wanted this property to be visible so that people would be aware that we intend to carry ORCID ids in VIVO for cross-reference. I don't believe any ORCID ids have been minted yet, but it's hard to imagine they would need to be private since the goal of having them is to disambiguate author references internationally. However, this and the researcherId and scopusId (also with domain foaf:Person) can stay as visible to self-editors for now as they will probably be used mostly in data ingest. It might be nice in the future to let people make their own decision about whether these are visible. - - - - Used for a single narrative summary of research, typically covering a wide range of activities and time periods; use Researcher Role for information on individual activities - - - - - - - Afghanistan; Antigua and Barbuda; Cameroon; Iceland; Jamaica; Nigeria; United States of America - - - - - - - - - - - - - - - - - Not intended to be an institution name. - - - - - - - - - - - - - - - - - - - - - - - - - - - 123 Main Street; ITS department; P.O. Box 783 - - - - B.A. - - A short form for an longer title or name. - - - - this number indicates a position in a list - - - - - Used for a single narrative summary of teaching, typically covering a wide range of courses including for credit and non-credit teaching over multiple semesters; the "teaches" property links a person directly with an instance of a Semester Class, typically from an institutional database of record; then use Teacher Role for information about a person's role in non-credit teaching or their specific contribution to individual courses - - - Definition http://en.wikipedia.org/wiki/Job_title#Job_title. - - administrative secretary - - - - source of definition: http://www.uspto.gov/main/glossary/#p . The following site has patent number formats: http://www.uspto.gov/patents/ebc/kindcodesum.jsp . - - - - - - - Home page for Scopus: http://www.scopus.com/home.url - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 55 - - definition modified from: source (http://en.wikipedia.org/wiki/Seating_capacity). - - - - - - Physical Sciences Librarian - - For example an HR job title for a person might be - Assistant University Librarian, and the preferred job title for that same person could be - Physical Sciences Librarian. - - - - - - - - - Has a domain of Grant. There is not a strong reason have this be publically visible, since most users would care more about the name of the sponsoring agency than its identifier, but it does no harm to be public. - - -See also core:localAwardId. - - - - Indiana; Florida; Minnesota; Michigan; New York; Quebec; Manitoba; Ontario - - - - - - - - - - - - - - - - - - - - - - Used for a single narrative summary of outreach, typically covering a wide range of activities and time periods; use Outreach Provider Role for information on individual activities - - - My extension program consists of developing and reporting disease management strategies that are both economically and environmentally sound for fresh market vegetable production. We hope that some of this testing will result in practices adaptable for organic production. - - - - - - - - - - - - - - - - http://purl.org/ontology/bibo/ - - http://purl.org/ontology/bibo/1.2/ - bibo - - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-core-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-core-public-1.5.owl new file mode 100644 index 00000000..303b1026 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/vivo-core-public-1.5.owl @@ -0,0 +1,2155 @@ + + + + VIVO core + + + + + + + + most specific type + + + + + + + + + + + + + + + + + + + part of + + + + + + + + + has part + + + + + + + + + + + + + + + date filed + + + + + + + + + + + date issued + + + + + + + + + + date/time interval + + + + + + + + + date/time precision + + + + + + + + + date/time value + + + + + + + + + end + + + + + + + + + + + expiration date + + + + + + + + + features + This is done through a restriction on the foaf:Person class. + + + + + + + + geographic focus + + + + + + + + + geographic focus of + + + + + + + + + + + + + + + + subcontracted through + + + + + + + + + + associated concept + + + + + + + + has geographic location + Currently being used by a restriction on organization. + + + + + + + + + + has prerequisite + + + + + + + + + + published in + + + + + + + + successor organization + + + + + + + + + + offered by + + + + + + + + + offers + + + + + + + + prerequisite for + + + + + + + + + + + provides funding through + For example, National Science Foundation providesFundingThrough Graduate Research Fellowship Program; National Institutes of Health providesFundingThrough National Center for Research Resources. + + + + + + + + + + publication venue for + + + + + + + + + publisher + Public Definition source (http://www.answers.com/topic/publisher). + + + + + + + + + publisher of + Public Definition source (http://www.answers.com/topic/publisher). + + + + + + + + + + start + + + + + + + + + + + subcontracts grant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + abbreviation + A short form for an longer title or name. + B.A. + + + + + + + + Published US Classification Class/Subclass (CCL) code + + + + + + + + + + credits + + + + + + + + date/time + + + + + + + + + + description + + + + + + + + eRA Commons id + + + + + + + + + + keywords + conservation + +use one freetextKeyword assertion for each keyword or phrase. + one keyword or phrase per freetextKeyword assertion + + + + + + + + + + direct costs + + + + + + + + International Classification (ICL) code + The International classification(s) to which the published application has been assigned. + + + + + + + + + + identifier + + + + + + + + license number + + + + + + + + + + link URI + + + + + + + + + local award id + core:localAwardId has a domain of core:Grant, and should be public since that's its public identifier for local use by OSP, accounting, department admins, and the PI + + + + + + + + + + major field of degree + Information Science; Computer Science; Anthropology + + + + + + + + NIH Manuscript Submission System ID + + + + + + + + + + ORCID id + We can't yet assume that we will only have a single ORCID id for a person. +source: http://en.wikipedia.org/wiki/ORCID . + + +We wanted this property to be visible so that people would be aware that we intend to carry ORCID ids in VIVO for cross-reference. I don't believe any ORCID ids have been minted yet, but it's hard to imagine they would need to be private since the goal of having them is to disambiguate author references internationally. However, this and the researcherId and scopusId (also with domain foaf:Person) can stay as visible to self-editors for now as they will probably be used mostly in data ingest. It might be nice in the future to let people make their own decision about whether these are visible. + + + + + + + + + + + outreach overview + My extension program consists of developing and reporting disease management strategies that are both economically and environmentally sound for fresh market vegetable production. We hope that some of this testing will result in practices adaptable for organic production. + Used for a single narrative summary of outreach, typically covering a wide range of activities and time periods; use Outreach Provider Role for information on individual activities + + + + + + + + + + overview + + + + + + + + + + patent number + source of definition: http://www.uspto.gov/main/glossary/#p . The following site has patent number formats: http://www.uspto.gov/patents/ebc/kindcodesum.jsp . + + + + + + + + + + + place of publication + + + + + + + + PubMed Central ID + A PMCID is a unique PubMed Central reference number, which is assigned to each full-text record made available A PMCID is a unique PubMed Central reference number, which is assigned to each full-text record made available in PubMed Central. The PMCID is issued shortly after the PI or author approves the PubMed Central formatted web version of the submission. + + + + + + + + + + rank + this number indicates a position in a list + + + + + + + + + + report identifier + + + + + + + + + + + research overview + Used for a single narrative summary of research, typically covering a wide range of activities and time periods; use Researcher Role for information on individual activities + + + + + + + + + ISI researcher id + RearcherID is a Thomson Reuters project where researchers have a place to manage and share their professional information. It will allow them to solve author identity issues while simultaneously adding dynamic citation metrics and collaboration networks to your personal profile. +Definition source: http://isiwebofknowledge.com/researcherid/ + + + + + + + + + + Scopus id + Home page for Scopus: http://www.scopus.com/home.url + + + + + + + + + + + seating capacity + 55 + definition modified from: source (http://en.wikipedia.org/wiki/Seating_capacity). + + + + + + + + + + + sponsor award id + Has a domain of Grant. There is not a strong reason have this be publically visible, since most users would care more about the name of the sponsoring agency than its identifier, but it does no harm to be public. + + +See also core:localAwardId. + + + + + + + + + + + supplemental information + + + + + + + + + teaching overview + Used for a single narrative summary of teaching, typically covering a wide range of courses including for credit and non-credit teaching over multiple semesters; the "teaches" property links a person directly with an instance of a Semester Class, typically from an institutional database of record; then use Teacher Role for information about a person's role in non-credit teaching or their specific contribution to individual courses + + + + + + + + + + total award amount + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Service Provider Role + + An role of an individual within his or her profession or institution; use outreach provider role for community service or other activities outside the profession. + Member of the International Conference on Complex Systems Organizing Committee + + + + + + + + Research Opportunity + An offering through an ongoing program or single request of research support: internships, positions, financial awards or other forms of tangible or intangible support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Academic Department + + A distinct, usually specialized educational unit within an educational organization. + Endodontics (department within a College of Dentistry); English (department within a College of Liberal Arts) + + + + + + + + Academic Term + + An explicit individual academic term, quarter, or semester rather than the generic fall, spring or summer semester. + + + + + + + + Academic Year + + An explicit individual period considered by an academic institution to be its primary academic cycle. + + + + + + + + Advising Relationship + + A dual relationship of one person being advised or mentored by another person, typically including start and end dates + + + + + + + + Association + + A formal organization of people or organizations around a subject or practice. + Special Libraries Association; Association for Computing Machinery(ACM); American Medical Informatics Association(AMIA) + + + + + + + + Attendee Role + A role of attending an Event or EventSeries + + + + + + + + Authorship + + + Authorship of journal articles, books and other original works is a means by which academics communicate the results of their scholarly work, establish priority for their discoveries, and build their reputation among their peers. +This class allows for linking an author to a publication while indicating information about that author's authorship. + Contains the authors name, their rank in the publication, and whether or not they are a corresponding author on the publication. + Currently any abstract name is given to members of this class. This could change in the future. + + + + + + + + Award or Honor Receipt + The award bestowed may be represented with the Award class. + The bestowal of an award, honor, or distinction to a person or person's at a particular time. + + + + + + + + Blog + + Blog is short for weblog. + Library of Congress Blog + Regularly updated online journal or newsletter by one or more writers, called bloggers, containing articles and commentary of interest to the blogger + + + + + + + + Blog Posting + + A specific blog posting + An online article or commentary appearing on a blog + + + + + + + + Building + + Building that provides a particular service or is used for a particular activity. + Enter building name. If the building's name is a number (as in many governmental organizations such as national laboratories and military bases), then enter it. Do not confuse with the number that appears in a postal address. + Martha Van Rensselaer Hall (VR); Caldwell Hall (CD); University Auditorium + + + + + + + + Campus + Cornell Ithaca; Cornell Geneva; Cornell New York City; Cornell Qatar + Definition taken from dictionary.com (http://dictionary.reference.com/browse/campus). + The grounds of a school, college, university, or hospital. Or, a large, usually suburban, landscaped business or industrial site. + + + + + + + + Case Study + + A form of qualitative descriptive research that is used to study individuals, a small group of participants, or a group as a whole. Medical usage (from MeSH): clinical presentations that may be followed by evaluative studies that eventually lead to a diagnosis. + A qualitative descriptive research study of individuals or a group + + + + + + + + Catalog + + A list of items in a collection; an ordered compilation of item descriptions and sufficient information to afford access to them + NLM Catalog + Short Definition is the Medical Subject Heading (MeSH) definition + + + + + + + + Center + + A place where a particular activity or service is concentrated. + Alchohol Education Center; Center for Arts and Public Policy; Hearing Research Center + Short Definition take from http://www.thefreedictionary.com/center. + + + + + + + + Certification + + An issued certificate + see also core:Certificate + + + + + + + + Clinical Organization + + Any organization with a significant clinical function as a matter of course and not just through occasional clinical roles + In the future we may be able to make this a defined class that would not need to be directly asserted, but the consensus seems to be that some organizations "are" clinical and some "are" research organizations and that the distinction is important enough to warrant the additional class and class assertions + + + + + + + + Clinical Role + + A role of observing or treating patients + + + + + + + + Co-Principal Investigator Role + + Role of co-principal investigator of an Agreement (for example, a grant), who devotes a specified percentage of time and is considered key personnel. + + + + + + + + College + + A primary academic unit within a University or a free-standing higher education organization without graduate degree programs. + College of Arts & Sciences; Ivy Tech Community College + + + + + + + + Committee + + A group of people organized for a specific purpose (e.g., a reporting or advisory role), often with a charge and for a specific duration. + Curriculum Steering Committee; PhD Advisory Committee + There could be many subclasses such as thesis committee or tenure committee, but these may typically be differentiated via the moniker unless distinct properties become important. + + + + + + + + Company + + a legally-recognized business organization + from Wikipedia: "A company is a form of business organization. It is an association or collection of individual real persons and/or other companies ... This collection, group or association of persons can be made to exist in law and then a company is itself considered a "legal person". The name company arose because, at least originally, it represented or was owned by more than one real or legal person." + + + + + + + + Competition + + An occasion on which a winner is selected from among two or more contestants. + Intel Talent Search; poetry contest + Not the same as an award or distinction. + + + + + + + + Conference Paper + + A paper presented at a conference; optionally collected into a Proceedings or a special Journal issue + + + + + + + + Conference Poster + + The digital file (or physical equivalent), if available after the conference, vs. the act of attending/presenting: use ConferencePresentation for information about date/time/location/name of the event where the poster was presented + + + + + + + + Conference Series + + An organized series of a meeting for consultation or discussion. + For individual, separate conferences, use conference instead. core:ConferenceSeries and core:SeminarSeries are very similar. + + + + + + + + Consortium + + Committee on Institutional Cooperation (CIC); The Five Colleges of Ohio + Independent organizations formally working together toward a common goal, under an expressed agreement + + + + + + + + Continent + + A large contiguous landmass that is at least partially surrounded by water, together with any islands on its continental shelf. + Short Definition take from http://en.wiktionary.org/wiki/continent. + The seven commonly recognized continents are Africa; Antarctica; Asia; Australia; Europe; North America; South America + + + + + + + + Contract + An agreement involving specific deliverables and payment + + + + + + + + Core Laboratory + + A lab providing services such as training, protocols, or access to instruments or software + + + + + + + + Country + + Afghanistan; Antigua and Barbuda; Cameroon; Iceland; Jamaica; Nigeria; United States of America + An area of land distinguished by its political autonomy. Politically independent territories. + Source of the Short Definition: http://www.thefreedictionary.com/country. This is also the same as geopolitical.owl:self_governing. + + + + + + + + County + + Alachua; Baker; Bradford; Kenora; Ottawa; Waterloo + Short Definition modified from the one found here: http://www.thefreedictionary.com/county. + The largest administrative division of most states or provinces. + + + + + + + + Course + + A course as taught in one time period (such as a semester; although note that a course could consist of only one meeting (teaching session)) by one or more instructors, normally but not always for credit. Does not represent either each meeting of the course or the course offering such as Biology 101 taught every semester from 1980 to 2010 + A course as taught in one time period by one or more instructors, normally but not always for credit. Does not represent either each meeting of the course or the course offering such as Biology 101 taught every semester from 1980 to 2010 + + + + + + + + Database + + A structured file of information or a set of logically related data stored and retrieved using computer-based means + PubMed + Short Definition is the Medical Subject Heading (MeSH) definition + + + + + + + + Dataset + A named collection of data, usually containing only one type of data + US Patent Data; US Job Data + + + + + + + + Date/Time Interval + a specific period or duration, defined by (optional) start and end date/times. + + + + + + + + Date/Time Value + A date and/or time + + + + + + + + Department + + A distinct, usually ongoing and specialized unit within a large organization. + Definition modified from the definition here: http://dictionary.reference.com/browse/department. It is difficult to tell the difference between and department and a division. + Legal (department within a company); Use for any non-academic department + + + + + + + + Division + + An area of corporate activity organized as an administrative or functional unit. + Cardiovascular Medicine (division within medicine) + Definition modified from http://www.thefreedictionary.com/division. It is difficult to tell the difference between a division and a department. + + + + + + + + Editor Role + + An ongoing editorial responsibility for a bibo:Collection, such as a Journal or Series + An ongoing editorial responsibility for a bibo:Collection, such as a Journal or Series + + + + + + + + Editorial Article + + An article of opinion, typically published in a newspaper. For academics, most commonly Op Ed pieces + + + + + + + + Equipment + A network server is one example. Medical schools and research laboratories can list professional equipment, such as microscopes. + A physical object provided for specific purpose, task or occupation. + server; Bruker Vector-33 FT-IR + + + + + + + + Event Series + A generic class which may include a conference series, a course section, a seminar series, or a workshop series. When possible, use one of these more specific classes. + Only use if no specific subclasses of core:EventSeries desribe the activity. + Two or more events that occur at different times and are connected to each other. + + + + + + + + Exhibit + + The showing of an object or a collection of objects, in an organized manner. + + + + + + + + Extension Unit + + A unit devoted primarily to extension activities, whether for outreach or research. + Alachua County Extension Office + + + + + + + + F1000 Link + + F1000, is a place where faculty go to critique papers published in PubMed. Any given record in F1000 might have anywhere from one to dozens of reviews. + + + + + + + + Facility + Distinct from the organization that runs it; e.g., a laboratory may be an organization but may be run by another organization and only consist of facilities housing equipment or services. Can be a building or place that provides a particular service or is used for a particular activity. Use the specific Building or Room whenever possible. Short definition from http://dictionary.reference.com/browse/facility. + Something designed, built, installed, etc., to serve a specific function or activity affording a convenience or service. + Use subclasses of core:Facility subclasses instead of this class if possible + + + + + + + + Faculty Administrative Position + + An academic administrative position (associate dean, etc.) as distinct from a professional administrative position (non-academic) + Associate Dean + That is a position held by an academic faculty member who works for administration. + + + + + + + + Faculty Mentoring Relationship + + An advisory relationship in which one faculty member mentors another faculty member. + + + + + + + + Faculty Position + + Academic position in a university or institution + Professor, associate professor and assistant professor are common positions for academic faculty. + Professor; Associate Professor; Assistant Professor + + + + + + + + Foundation + + An institution financed by a donation or legacy to aid research, education, the arts, etc. + Definition take from: http://dictionary.reference.com/browse/foundation. + The Ford Foundation + + + + + + + + Funding Organization + + A defined class of organizations that fund Grants. + National Institute of Health (NIH) + + + + + + + + Geographic Location + + A location having coordinates in geographic space. + Removed the word "stable" because disputed territories from geopolitical.owl are included. This could imply that the geographic coordinates could change. I've also copied this definition to core:Geographic Location. I think core:Geographic Location and core:Geographic Region are both the same and only one is needed. There is also geopolitical.owl:geographical_region which further causes confusion. + Use subclasses of core:Geographic Location subclasses instead of this class if possible. + + + + + + + + Geographic Region + A location having coordinates in geographic space. + Removed the word "stable" because disputed territories from geopolitical.owl are included. This could imply that the geographic coordinates could change. This definition was originally in core:Geographic Location. I simply copied the definition from there. I think core:Geographic Location and core:Geographic Region are both the same and only one is needed. There is also geopolitical.owl:geographical_region which further causes confusion. + Use subclasses of core:Geographic Region subclasses instead of this class if possible. + + + + + + + + Geopolitical Entity + + A geographical area which is associated with some sort of political structure. + Short definition obtained here: http://en.wiktionary.org/wiki/geopolitical_entity. + Use subclasses of core:GeopoliticalEntity subclasses instead of this class if possible. + + + + + + + + Government Agency + + A government agency is a permanent or semi-permanent organization in the machinery of government that is responsible for the oversight and administration of specific functions. + Definition take from: http://en.wikipedia.org/wiki/Government_agency. + United States Library of Congress + + + + + + + + Graduate Advising Relationship + + An advisory relationship in which a professor advises a graduate student. + + + + + + + + Graduate Student + + A person who has already received a bachelor's degree and is working toward a Master's or Doctoral degree. + + + + + + + + Grant + An intramural or extramural award to support scholarly work, such as UF09179 (VIVO) + Financial assistance mechanism providing money, property, or both to an eligible entity to carry out an approved project or activity + Short definition is from the Glossary of NIH Terms. + + + + + + + + Hospital + + An institution that provides medical, surgical, or psychiatric care and treatment for the sick or the injured. + Definition take from: http://dictionary.reference.com/browse/hospital. + Shands at the University of Florida + + + + + + + + Institute + + An Institute normally has a research focus but may also fulfill instructional or outreach roles. + Institute for Fundamental Theory + + + + + + + + Internship + Typically a student or a recent graduate undergoing supervised practical training. + + + + + + + + Investigator Role + + A role in an Agreement (for example, a grant) as a named investigator or key personnel. + + + + + + + + Invited Talk + + + + + + + + + Issued Credential + + + + + + + + Laboratory + + An organizational unit (as opposed to the physical facility) that performs research, provides services, or processes materials + + + + + + + + Leader Role + + A broad-ranging leader concept, from leading a small temporary committee to head of a large international organization. + A leadership role + + + + + + + + Librarian Position + + A position held by library and information science professionals, or academic or technical experts, in support of providing information services or materials + It is the common position in libraries. + Librarian; Library Systems Analyst; Music Bibliographer + + + + + + + + Library + + A collection of any materials, for study and enjoyment, which has been systematically arranged. + Marston Science Library + Used information from this definition: http://dictionary.reference.com/browse/library. + + + + + + + + Licensure + + A granted license, which gives a 'permission to practice.' + A granted license, which gives a 'permission to practice.' Such licenses are usually issued in order to regulate some activity that is deemed to be dangerous or a threat to the person or the public or which involves a high level of specialized skill. See also core:License. + + + + + + + + Location + It's anticipated that the subclasses will be used when classifying items. And, all locations can be viewable via this class. + Top level of all location classes. + Use subclasses of core:Location when classsifying items. + + + + + + + + Medical Residency + Residency is a stage of graduate medical training. + + + + + + + + Meeting + + A gathering of people for a defined purpose, not necessarily public or announced + + + + + + + + Member Role + + A role of being a member in a Process or an Organization + + + + + + + + Museum + + A building or place where works of art, scientific specimens, or other objects of permanent value are kept and displayed. + Definition was take from here: http://dictionary.reference.com/browse/museum + The Getty Museum + + + + + + + + News Release + + A short written piece focused on an event or announcement of note, having a defined publication time and of less enduring interest than a news feature. + + + + + + + + Newsletter + + The Ornithological Newsletter + Usually issued periodically, prepared by or for a group or institution to present information to a specific audience, often also made available to the press and public + + + + + + + + Non-Academic Position + + A position classified as professional, staff, support, or any other non-academic role + Accounting & Research Services Assistant; Director of Information Technology + Staff, support, and other non-academic positions. + + + + + + + + Non-Faculty Academic Position + + A position involving academic work but without faculty status + Researcher; Academic Extension Associate; Postdoctoral Associate + Those positions are held by people who do academic work but do not have faculty positions in universities or institutes. + + + + + + + + Organizer Role + + A role of organizing + + + + + + + + Outreach Provider Role + + An outreach or community service role directed outside a person's primary profession and institution + Communicating Astronomy to the Public + The example is one outreach role required by US space agency NASA, which is related with one project in NASA. Name of the outreach role should be put here. + + + + + + + + Peer Reviewer Role + + A role of peer reviewing + is a generic term for a process of self-regulation by a profession or a process of evaluation involving qualified individuals within the relevant field. Peer review methods are employed to maintain standards, improve performance and provide credibility. In academia the term is often used to denote a prepublication review of academic papers; reviewing an academic paper is often called refereeing. +Contents +[hide] + + + + + + + + Populated Place + + Either city or town - a thickly populated area having fixed boundaries and certain local powers of government. + + + + + + + + Position + An employment activity, whether compensated or not. Short definition comes from http://en.wikipedia.org/wiki/Position, and has been modified. + Director of Admissions and Placement; Associate University Librarian + Particular position in an organization, commonly identified by job title, and normally associated with a job description that details the tasks and responsibilities that go with the position. + + + + + + + + Postdoc or Fellow Advising Relationship + + An advisory relationship in which the advisee is a Postdoc or Fellow. + + + + + + + + Postdoctoral Position + + A postdoctoral training appointment (job) + + + + + + + + Postdoctoral Training + Postdoctoral research is academic or scholarly research conducted by a person who has completed his or her doctoral studies, normally within the following five years. It is intended to further deepen expertise in a specialist subject. + + + + + + + + Presentation + + Encompasses talk, speech, lecture, slide lecture, conference presentation + + + + + + + + Presenter Role + + A role of presenting information + Are we assuming that a PresenterRole is in a Presentation? Or could you have a PresenterRole in, say, a committee? + + + + + + + + Primary Position + + A position designated as primary by the organization or group where it is held. This designation may be applied to zero or more of an agent's positions and may be asserted in conjunction with other subclasses of position. + A position designated as primary by the organization where it is held. + + + + + + + + Principal Investigator Role + + Role of a person to direct a project or activity being supported by an Agreement (for example, a grant), and who is accountable to the grantee for the proper conduct of the project or activity. Also known as Program Director or Project Director. + + + + + + + + Private Company + + A private company is one that is privately-owned, and thus, is not publicly-traded in the stock market. Members of the general public cannot purchase stock in a private company unless that company chooses to go public and become a public company. + Definition obtained here: http://answers.ask.com/Business/Finance/what_is_a_private_company. Examples of private companies found here: http://www.forbes.com/2008/11/03/largest-private-companies-biz-privates08-cx_sr_1103private_land.html + Publix Super Markets; Ernst & Young; PricewaterhouseCoopers + + + + + + + + Program + + A Cornell graduate field (http://vivo.cornell.edu/index.jsp?home=65535&collection=820) + An ongoing academic initiative not formalized with department or division status. + + + + + + + + Project + An endeavor, frequently collaborative, that occurs over a finite period of time and is intended to achieve a particular aim. + An endeavor, frequently collaborative, that occurs over a finite period of time and is intended to achieve a particular aim. + + + + + + + + + Publisher + + A person or company whose business is the publishing of books, periodicals, engravings, computer software, etc. + Definition found here: http://dictionary.reference.com/browse/publisher + Elsevier; Harper & Row; Indiana University Press + + + + + + + + Relationship + a reified relationship + functions as an n-ary predicate + + + + + + + + Research Organization + + Any organization (likely also asserted as another class of Organization) with a primary, ongoing research function, not just through occasional roles + + + + + + + + Research Proposal + + A proposal for a research grant that has been submitted but not approved; does not represent an existing activity + + + + + + + + Researcher Role + + A role of conducting funded or unfunded research, sometimes linked to an Agreement. + Examples of research can be seen at: http://www.ufl.edu/research/products/index.html. Note these may have been funded, but the research doesn't have to be funded. Also, the research may be linked to an Agreement (for example, a Grant), but does not need to be. + + + + + + + + Review + + An article reviewing one or more other information resources (a book, one or more other articles, movies, etc) + + + + + + + + Reviewer Role + + A role that encompasses both ongoing reviewer responsibility for a bibo:Collection, such as a Journal or Series, and also a review performed for a bibo:Document, such as a book, academic article or conference paper. + A role that encompasses both ongoing reviewer responsibility for a bibo:Collection, such as a Journal or Series, and also a review performed for a bibo:Document, such as a book, academic article or conference paper. + + + + + + + + Room + + 100 Caldwell Hall; 114 Martha Van Rensselaer (Rushmore Conference Room) + Enter room number of name. + Room that provides a particular service or is used for a particular activity. + + + + + + + + School + + An institution for instruction in a particular skill or field. + Definition take from here: http://dictionary.reference.com/browse/school. + School of Architecture; School of Music + + + + + + + + Score + + Written musical composition for voice or instruments or both + + + + + + + + Screenplay + + Written script for a film production, including dialogue and descriptions of gestures, actions, shooting directions + + + + + + + + Seminar Series + + An organized series of a meeting for an exchange of ideas, typically put on by a department or center. + Applied Microeconomics Seminars; Future of Rural New York Seminar Series + For individual seminars, use seminar instead. core:ConferenceSeries and core:SeminarSeries are very similar. + + + + + + + + Service Providing Lab + + A laboratory that provides services + Ideally a defined class -- a Laboratory the provides some Service via the property + + + + + + + + Speech + + Text of a speech written in preparation for delivery of the speech. + + + + + + + + State Or Province + + Minnesota; Michigan; Indiana; New York; Quebec; Manitoba; Ontario + One of a number of areas or communities having their own governments and forming a federation under a sovereign government, as in the US. + Source of the Short Definition: http://www.thefreedictionary.com/state. + + + + + + + + Student + + A person who is enrolled in an educational institution. + Use only if no specific subclasses of core:Student describe the person. + + + + + + + + Student Organization + + A student organization is an organization, operated by students at a university, whose membership normally consists only of students. + Dancin' Gators + Definition take from here: http://en.wikipedia.org/wiki/Student_society + + + + + + + + Subnational Region + + Boroughs; townships; districts; the Midwest + For example, the Midwest, northeast U.S. + Short definition was partially taken from http://en.wikipedia.org/wiki/Subnational_entity. + Smaller administrative division into which a country may be divided. + + + + + + + + Teacher Role + + A role of serving as an educator + + + + + + + + Team + + An informal organization brought together for the purposes of a project or event. + VIVO Outreach Team; VIVO Ontology Team + + + + + + + + Translation + + The result of rendering a work from one language to another + + + + + + + + Transnational Region + + Any region that goes beyond national boundaries and does not fit into any subclass of core:TransnationalRegion. + None as yet. + Not sure how to access the "Editor's Comments". But as North America is a continent, it would be placed directly into the continent subclass and viewable through this class along with any other subclass entities. + sub-Saharan Africa, North America + + + + + + + + URLLink + The full URL. + Uniform Resource Locator (URL) specifies where an identified resource is available and the mechanism for retrieving it. + http://info.slis.indiana.edu/~katy/ + + + + + + + + Undergraduate Advising Relationship + + An advisory relationship in which a professor advises an undergraduate student. + + + + + + + + Undergraduate Student + + A person registered in an undergraduate program leading to a bachelor's degree or an undergraduate diploma or certificate. + + + + + + + + University + + An institution of higher education and research, which grants academic degrees in a variety of subjects, and provides both undergraduate education and postgraduate education. + Definition taken from: http://en.wikipedia.org/wiki/University + University of Florida; Washington University in St. Louis + + + + + + + + Video + + Audiovisual recording in video format + + + + + + + + Working Paper + + A document created as a basis for discussion or a very early draft of a formal paper + + + + + + + + Workshop Series + + An organized series of workshop events, whether repetitions of the same workshop or multiple different workshops. + Use workshop for individual events. + + + + + + + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-dcelements-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-dcelements-1.5.owl deleted file mode 100644 index 5622f49d..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-dcelements-1.5.owl +++ /dev/null @@ -1,24 +0,0 @@ - - - This namespace - http://purl.org/dc/elements/1.1/ - does not appear to have this element. - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-dcelements-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-dcelements-public-1.5.owl new file mode 100644 index 00000000..8f495252 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/vivo-dcelements-public-1.5.owl @@ -0,0 +1,41 @@ + + + + Dublin Core elements + + + + + + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-dcterms-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-dcterms-1.5.owl deleted file mode 100644 index 175d75aa..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-dcterms-1.5.owl +++ /dev/null @@ -1,47 +0,0 @@ - - - Used to link a bibliographic item to one of its contributor: can be an author, an editor, a publisher, etc. - - - This term is intended to be used with non-literal values as defined in the DCMI Abstract Model (http://dublincore.org/documents/abstract-model/). As of December 2007, the DCMI Usage Board is seeking a way to express this intention with a formal range declaration. - - - Document1 isVersionOf Document2 - This term is intended to be used with non-literal values as defined in the DCMI Abstract Model (http://dublincore.org/documents/abstract-model/). As of December 2007, the DCMI Usage Board is seeking a way to express this intention with a formal range declaration. - - - This term is intended to be used with non-literal values as defined in the DCMI Abstract Model (http://dublincore.org/documents/abstract-model/). As of December 2007, the DCMI Usage Board is seeking a way to express this intention with a formal range declaration. - Used to relate a reference citation to a bibliographic resource. - - - Public definition source: http://dublincore.org/2008/01/14/dcterms.rdf# . -Examples of a Publisher include a person, an organization, or a service. Typically, the name of a Publisher should be used to indicate the entity. - Used to link a bibliographic item to its publisher. - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-dcterms-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-dcterms-public-1.5.owl new file mode 100644 index 00000000..22dfa0f0 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/vivo-dcterms-public-1.5.owl @@ -0,0 +1,47 @@ + + + + Dublin Core terms + + + + + + + + + + + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-event-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-event-1.5.owl deleted file mode 100644 index 48a3a4c3..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-event-1.5.owl +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - - - - - - Only use if no specific subclasses of event:Event are appropriate. - This class will also display instances of subclasses under Event, e.g. Philosophy Department Discussion Club; 2009 Racker Lecture; screening of a documentary. In addition to a location in space and time, an event may have any or all the following qualities: actively participating agents, passive factors, work products. Also, it may be in a virtual space or part of a series such as a lecture series. - -The previous short definition was: "An arbitrary classification of a space/time region, by a cognitive agent." - - - - - - - - - - - - - - - - - - - Something that happens at a given place and time. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-event-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-event-public-1.5.owl new file mode 100644 index 00000000..5506ce2b --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/vivo-event-public-1.5.owl @@ -0,0 +1,165 @@ + + + + Event Ontology + + + + + + + + + + + + + + + + + + + + + + + + + is agent in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Only use if no specific subclasses of event:Event are appropriate. + Something that happens at a given place and time. + This class will also display instances of subclasses under Event, e.g. Philosophy Department Discussion Club; 2009 Racker Lecture; screening of a documentary. In addition to a location in space and time, an event may have any or all the following qualities: actively participating agents, passive factors, work products. Also, it may be in a virtual space or part of a series such as a lecture series. + +The previous short definition was: "An arbitrary classification of a space/time region, by a cognitive agent." + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-fabio-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-fabio-public-1.5.owl similarity index 86% rename from productMods/WEB-INF/filegraph/tbox/vivo-fabio-1.5.owl rename to productMods/WEB-INF/filegraph/tbox/vivo-fabio-public-1.5.owl index f3a8da67..aaab5b05 100644 --- a/productMods/WEB-INF/filegraph/tbox/vivo-fabio-1.5.owl +++ b/productMods/WEB-INF/filegraph/tbox/vivo-fabio-public-1.5.owl @@ -1,4 +1,6 @@ + + FRBR-aligned Bibiographic Ontology + A recommendation on the appropriate treatment and care of people with a specific disease or condition, based on the best available evidence, designed to help healthcare professionals in their work. + Clinical Guideline A recommendation on the appropriate treatment and care of people with a specific disease or condition, based on the best available evidence, designed to help healthcare professionals in their work. - A verbal or written remark concerning some entity. In written form, a comment is often appended to that entity and termed an annotation. Within computer programs or ontologies, comments are added to enhance human understanding, and are usually prefaced by + + Comment A verbal or written remark concerning some entity. In written form, a comment is often appended to that entity and termed an annotation. Within computer programs or ontologies, comments are added to enhance human understanding, and are usually prefaced by a special syntactic symbol that ensures they are ignored during execution of the program. has super-classes + A formal correction to an error introduced by the publisher into a previously published document. - + Erratum A formal correction to an error introduced by the publisher into a previously published document. diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-foaf-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-foaf-1.5.owl deleted file mode 100644 index 011838f8..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-foaf-1.5.owl +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The most general classification of a person - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This class will display all the instances in the subclasses below it, as well as any organizations that were added as part of this generic class because there wasn't a specific class available. - Only use if no specific subclasses of foaf:organization desribe the organization. - A generic class encompassing several types of organizations. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ued to describe an organization related to bibliographic items such as a publishing company, etc. - - - - - - - - - - - - - - - - - - - - - Agents are things that do stuff - - - - - - - see: http://xmlns.com/foaf/spec/#term_Agent - - - - - - - - - - - - - - - - - - - - - - - - - Used to describe any "agent" related to bibliographic items. Such agents can be persons, organizations or groups of any kind. - - - - - - - - - - A group can also be an organization but need not be; typically used for looser associations of people or organizations acting together in some fashion, not necessarily through formal agreement or on a long-term basis. Added to the VIVO ontology to be able to support informal and perhaps even private groups of people around an idea, funding opportunity, or event. - -see: http://xmlns.com/foaf/spec/#term_Group - A collection of individual agents (and may itself play the role of a Agent, ie. something that can perform actions). - - - Definition take from: http://xmlns.com/foaf/spec/#term_based_near . foaf indicates that the status of this term is "unstable". "The based_near relationship relates two "spatial things" (anything that can be somewhere), the latter typically described using the geo:lat / geo:long geo-positioning vocabulary (http://www.w3.org/2003/01/geo/wgs84_pos#). This allows us to say describe the typical latitute and longitude of, say, a Person (people are spatial things - they can be places) without implying that a precise location has been given." - Used to link an agent, related to bibliographic things, to a place where it is based near: can be a city, a monument, a building, etc. - - - - - http://xmlns.com/foaf/spec/#term_lastName. Note from foaf: "The lastName property is provided (alongside firstName) as a mechanism to support legacy data that cannot be easily interpreted in terms of the (otherwise preferred) familyName and givenName properties. The concepts of 'first' and 'last' names do not work well across cultural and linguistic boundaries; however they are widely used in addressbooks and databases." - - - http://xmlns.com/foaf/spec/#term_firstName. Note from foaf: "The lastName property is provided (alongside firstName) as a mechanism to support legacy data that cannot be easily interpreted in terms of the (otherwise preferred) familyName and givenName properties. The concepts of 'first' and 'last' names do not work well across cultural and linguistic boundaries; however they are widely used in addressbooks and databases." - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-foaf-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-foaf-public-1.5.owl new file mode 100644 index 00000000..8d856433 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/vivo-foaf-public-1.5.owl @@ -0,0 +1,196 @@ + + + + FOAF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Agent + Agents are things that do stuff + see: http://xmlns.com/foaf/spec/#term_Agent + Used to describe any "agent" related to bibliographic items. Such agents can be persons, organizations or groups of any kind. + + + + + + + + Group + + A collection of individual agents (and may itself play the role of a Agent, ie. something that can perform actions). + A group can also be an organization but need not be; typically used for looser associations of people or organizations acting together in some fashion, not necessarily through formal agreement or on a long-term basis. Added to the VIVO ontology to be able to support informal and perhaps even private groups of people around an idea, funding opportunity, or event. + +see: http://xmlns.com/foaf/spec/#term_Group + + + + + + + + Organization + + A generic class encompassing several types of organizations. + Only use if no specific subclasses of foaf:organization desribe the organization. + This class will display all the instances in the subclasses below it, as well as any organizations that were added as part of this generic class because there wasn't a specific class available. + Ued to describe an organization related to bibliographic items such as a publishing company, etc. + + + + + + + + Person + + The most general classification of a person + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-pws-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-pws-1.5.owl deleted file mode 100644 index c4f46b89..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-pws-1.5.owl +++ /dev/null @@ -1,39 +0,0 @@ - - - - For data ingest from authoritative sources to record the actual way a person was listed, as potentially valuable information for provenance and person disambiguation. Represents one person's information from one source at one particular time. - For data ingest from authoritative sources to record the actual way a person was listed, as potentially valuable information for provenance and person disambiguation. - - - - - - - - - - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-pws-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-pws-public-1.5.owl new file mode 100644 index 00000000..c1dfc4e8 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/vivo-pws-public-1.5.owl @@ -0,0 +1,41 @@ + + + + provenance support + + + + + + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-skos-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-skos-public-1.5.owl similarity index 83% rename from productMods/WEB-INF/filegraph/tbox/vivo-skos-1.5.owl rename to productMods/WEB-INF/filegraph/tbox/vivo-skos-public-1.5.owl index 0dda4227..107038a6 100644 --- a/productMods/WEB-INF/filegraph/tbox/vivo-skos-1.5.owl +++ b/productMods/WEB-INF/filegraph/tbox/vivo-skos-public-1.5.owl @@ -1,4 +1,6 @@ + + SKOS (Simple Knowledge Organization System) + + Concept An idea or notion; a unit of thought. + Public description modified from the information on this page: http://www.w3.org/TR/2005/WD-swbp-skos-core-guide-20050510/#sechierarchy . - + narrower term + - + related + broader term + + + + + + + + + + + + + + + + + + + + + + + + + + + + part_of (RO) + + + + + + + + has_part (RO) + + + + + + + + inheres in + + + + + + + + bearer of + + + + + + + + + participates in + + + + + + + + has participant + + + + + + + + is about + + + + + + + + location of + + + + + + + + + located in + + + + + + + + has input + + + + + + + + + has output + + + + + + + + + member of + + + + + + + + + has member + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + assigned by + Relates a Relationship (as a predicate or n-ary relation over one or more Thing) to an Agent that defined or instantiated the predicate instance. + + + + + + + + + + + assigns + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + related by + Relates a Thing to a Relationship as a Thing that is somehow related to other Thing in the same Relationship instance. A Relationship instnace is a predicate over Thing and is created by an Agent. + + + + + + + + + relates + Relates a Relationship instance to the one or more Thing of the Relationship. There is a separate property (assigned by) to relate to the Agent that defines the Relationship. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + has_monetary_amount + + + + + + + + has_value + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + self governing + + + + + + + + + service + + + + + + + + + software + + + + + + + + + data + + + + + + + + + journal article (IAO) + + + + + + + + + information content entity (IAO) + + + + + + + + + scalar measurement datum + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + document (IAO) + + + + + + + + + global citation count + + + + + + + + + administrator role + + + + + + + + + advising process + + + + + + + + + + + + + + + + + attending process + + + + + + + + + + + + + + + + + awarded degree + + The awarding of a degree by an agent to another agent. It is mostly for academic degrees. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + editorship + + A relationship that represents the recognition of an agent as an editor. + + + + + + + + educational process + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + organizing process + + + + + + + + + + + + + + + + + + + + + + + + + presenting process + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + has_global_citation_frequency + + + geographic_location_of + + + geographical region + + + reviewed_in + + + geographically_within + + + + + + + From 087e33f13749eaf701ca77aa05ee24febdb6a54c Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Wed, 24 Jul 2013 16:38:45 -0400 Subject: [PATCH 02/66] person subtypes for 1.6 --- .../WEB-INF/filegraph/tbox/personTypes.n3 | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 productMods/WEB-INF/filegraph/tbox/personTypes.n3 diff --git a/productMods/WEB-INF/filegraph/tbox/personTypes.n3 b/productMods/WEB-INF/filegraph/tbox/personTypes.n3 new file mode 100644 index 00000000..42c233d7 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/personTypes.n3 @@ -0,0 +1,97 @@ +@prefix afn: . +@prefix : . +@prefix hr: . +@prefix ns: . +@prefix scires: . +@prefix aka: . +@prefix scirr: . +@prefix vann: . +@prefix pubmed: . +@prefix owl2: . +@prefix dcterms: . +@prefix rdfs: . +@prefix swrl: . +@prefix vitro: . +@prefix event: . +@prefix vivoc: . +@prefix swvs: . +@prefix rdf: . +@prefix c4o: . +@prefix cce: . +@prefix vivo: . +@prefix dcelem: . +@prefix app: . +@prefix pvs: . +@prefix geo: . +@prefix foaf: . +@prefix aktp: . +@prefix far: . +@prefix fabio: . +@prefix skco: . +@prefix ospcu: . +@prefix acti: . +@prefix obo: . +@prefix skos2: . +@prefix stars: . +@prefix bibo: . +@prefix xsd: . +@prefix swrlb: . +@prefix owl: . +@prefix socsci: . +@prefix rdfsyn: . +@prefix core: . +@prefix vitro-public: . +@prefix local: . +@prefix mann: . +@prefix skos: . +@prefix ero: . + +core:FacultyMember + a owl:Class ; + rdfs:label "Faculty Member"@en-us ; + rdfs:subClassOf foaf:Person , ; + vitro:descriptionAnnot + "Definition from here: http://research.carleton.ca/htr/defs.php."^^xsd:string ; + vitro:shortDef "A person with at least one academic appointment to a specific faculty of a university or institution of higher learning."^^xsd:string . + +core:Postdoc + a owl:Class ; + rdfs:label "Postdoc"@en-us ; + rdfs:subClassOf , core:NonFacultyAcademic ; + vitro:shortDef "A Person holding an academic employment appointment focused on research rather than teaching; temporary (or for some defined term)"^^xsd:string . + +core:NonFacultyAcademic + a owl:Class ; + rdfs:label "Non-Faculty Academic"@en-us ; + rdfs:subClassOf foaf:Person , ; + vitro:shortDef "A person not considered a faculty member but holding an academic appointment."^^xsd:string . + +core:EmeritusLibrarian + a owl:Class ; + rdfs:label "Librarian Emeritus"@en-us ; + rdfs:subClassOf foaf:Person , ; + vitro:shortDef "A retired librarian who has retained their rank, title and privileges."^^xsd:string . + +core:EmeritusFaculty + a owl:Class ; + rdfs:label "Faculty Member Emeritus"@en-us ; + rdfs:subClassOf foaf:Person , ; + vitro:shortDef "A retired faculty member who has retained their rank, title and privileges."^^xsd:string . + +core:Librarian + a owl:Class ; + rdfs:label "Librarian"@en-us ; + rdfs:subClassOf foaf:Person , ; + vitro:shortDef "A person working in a position of librarian or information professional, or academic or technical expert in support of providing information services or materials."^^xsd:string . + +core:EmeritusProfessor + a owl:Class ; + rdfs:label "Professor Emeritus"@en-us ; + rdfs:subClassOf core:EmeritusFaculty , foaf:Person , ; + vitro:shortDef "A retired professor who has retained their rank, title and privileges."^^xsd:string . + +core:NonAcademic + a owl:Class ; + rdfs:label "Non-Academic"@en-us ; + rdfs:subClassOf foaf:Person , ; + vitro:shortDef "A person holding a position that is not considered to be an academic appointment."^^xsd:string . From 5fad9b85fa8b6147c560f766df268b852bfb6943 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Wed, 24 Jul 2013 17:04:30 -0400 Subject: [PATCH 03/66] initial example file of application configuration for property/class combination --- .../app/loadedAtStartup/PropertyConfig.n3 | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 diff --git a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 new file mode 100644 index 00000000..aca9a4d8 --- /dev/null +++ b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 @@ -0,0 +1,43 @@ +@prefix xsd: . +@prefix owl: . +@prefix : . +@prefix display: . +@prefix rdf: . +@prefix rdfs: . +@prefix datagetter: . +@prefix vitro: . +@prefix role: . + +@base . + + + a :ConfigContext ; + :hasConfiguration ; + :configContextFor ; + :qualifiedBy . + + + a :ObjectPropertyDisplayConfig ; + :hasListView [ + :listViewConfigFile "listViewConfig-hasRole.xml"^^ + ] ; + :displayName "has service provider role" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddServiceProviderRoleToPersonGenerator"^^ ; + :propertyGroup . + + + a :ConfigContext ; + :hasConfiguration ; + :configContextFor ; + :qualifiedBy . + + + a :ObjectPropertyDisplayConfig ; + :displayName "resident of awesome country" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + :propertyGroup . + + From 4598aae5786cc6ca493af9328283ae142783d57b Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Mon, 5 Aug 2013 16:46:25 -0400 Subject: [PATCH 04/66] work in progress on data migration and related changes for ISF properties --- productMods/WEB-INF/filegraph/tbox/bfo.owl | 7310 +++++++++++++++++ .../app/loadedAtStartup/PropertyConfig.n3 | 21 +- .../ontologies/update/askUpdated.sparql | 4 +- .../WEB-INF/ontologies/update/diff.tab.txt | 1 + .../geopolitical.tbox.ver1.1-11-18-11.owl | 1868 +++++ .../update/oldVersion/isDefinedBy-1.5.owl | 25 + .../update/oldVersion/scires-1.5.owl | 208 + .../update/oldVersion/vivo-bibo-1.5.owl | 1417 ++++ .../update/oldVersion/vivo-c4o-1.5.owl | 51 + .../update/oldVersion/vivo-core-1.5.owl | 3492 ++++++++ .../update/oldVersion/vivo-dcelements-1.5.owl | 24 + .../update/oldVersion/vivo-dcterms-1.5.owl | 47 + .../update/oldVersion/vivo-event-1.5.owl | 112 + .../update/oldVersion/vivo-fabio-1.5.owl | 43 + .../update/oldVersion/vivo-foaf-1.5.owl | 208 + .../update/oldVersion/vivo-pws-1.5.owl | 39 + .../update/oldVersion/vivo-skos-1.5.owl | 45 + .../WEB-INF/ontologies/update/success.n3 | 6 +- .../WEB-INF/resources/startup_listeners.txt | 2 +- .../listViewConfig-authorInAuthorship.xml | 26 +- 20 files changed, 14929 insertions(+), 20 deletions(-) create mode 100644 productMods/WEB-INF/filegraph/tbox/bfo.owl create mode 100644 productMods/WEB-INF/ontologies/update/oldVersion/geopolitical.tbox.ver1.1-11-18-11.owl create mode 100644 productMods/WEB-INF/ontologies/update/oldVersion/isDefinedBy-1.5.owl create mode 100644 productMods/WEB-INF/ontologies/update/oldVersion/scires-1.5.owl create mode 100644 productMods/WEB-INF/ontologies/update/oldVersion/vivo-bibo-1.5.owl create mode 100644 productMods/WEB-INF/ontologies/update/oldVersion/vivo-c4o-1.5.owl create mode 100644 productMods/WEB-INF/ontologies/update/oldVersion/vivo-core-1.5.owl create mode 100644 productMods/WEB-INF/ontologies/update/oldVersion/vivo-dcelements-1.5.owl create mode 100644 productMods/WEB-INF/ontologies/update/oldVersion/vivo-dcterms-1.5.owl create mode 100644 productMods/WEB-INF/ontologies/update/oldVersion/vivo-event-1.5.owl create mode 100644 productMods/WEB-INF/ontologies/update/oldVersion/vivo-fabio-1.5.owl create mode 100644 productMods/WEB-INF/ontologies/update/oldVersion/vivo-foaf-1.5.owl create mode 100644 productMods/WEB-INF/ontologies/update/oldVersion/vivo-pws-1.5.owl create mode 100644 productMods/WEB-INF/ontologies/update/oldVersion/vivo-skos-1.5.owl diff --git a/productMods/WEB-INF/filegraph/tbox/bfo.owl b/productMods/WEB-INF/filegraph/tbox/bfo.owl new file mode 100644 index 00000000..9524f80c --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/bfo.owl @@ -0,0 +1,7310 @@ + + + + Alan Ruttenberg + Bill Duncan + Stefan Schulz + Melanie Courtot + BFO 2 Reference: BFO does not claim to be a complete coverage of all entities. It seeks only to provide coverage of those entities studied by empirical science together with those entities which affect or are involved in human activities such as data processing and planning – coverage that is sufficiently broad to provide assistance to those engaged in building domain ontologies for purposes of data annotation [17 + Mark Ressler + Fabian Neuhaus + Thomas Bittner + Bjoern Peters + Mauricio Almeida + David Osumi-Sutherland + BFO 2 Reference: For both terms and relational expressions in BFO, we distinguish between primitive and defined. ‘Entity’ is an example of one such primitive term. Primitive terms in a highest-level ontology such as BFO are terms that are so basic to our understanding of reality that there is no way of defining them in a non-circular fashion. For these, therefore, we can provide only elucidations, supplemented by examples and by axioms. + Leonard Jacuzzo + Janna Hastings + Mathias Brochhausen + Randall Dipert + Larry Hunter + Robert Rovetto + Albert Goldfain + Chris Mungall + Barry Smith + Ludger Jansen + This is an early version of BFO version 2 and has not yet been extensively reviewed by the project team members. Please see the project site http://code.google.com/p/bfo/ , the bfo2 owl discussion group http://groups.google.com/group/bfo-owl-devel , the bfo2 discussion group http://groups.google.com/group/bfo-devel, the tracking google doc http://goo.gl/IlrEE, and the current version of the bfo2 reference http://purl.obolibrary.org/obo/bfo/dev/bfo2-reference.docx . This ontology is generated from a specification at http://bfo.googlecode.com/svn/trunk/src/ontology/owl-group/specification/ and with the code that generates the OWL version in http://bfo.googlecode.com/svn/trunk/src/tools/. A very early version of BFO version 2 in CLIF is at http://purl.obolibrary.org/obo/bfo/dev/bfo.clif + Werner Ceusters + Pierre Grenon + BFO 2 Reference: BFO’s treatment of continuants and occurrents – as also its treatment of regions, rests on a dichotomy between space and time, and on the view that there are two perspectives on reality – earlier called the ‘SNAP’ and ‘SPAN’ perspectives, both of which are essential to the non-reductionist representation of reality as we understand it from the best available science [30 + Jonathan Bona + Ron Rudnicki + + + + + + + + + + + + + + + + + + + + + + BFO OWL specification label + Really of interest to developers only + Relates an entity in the ontology to the name of the variable that is used to represent it in the code that generates the BFO OWL file from the lispy specification. + + + + BFO CLIF specification label + Person:Alan Ruttenberg + Really of interest to developers only + Relates an entity in the ontology to the term that is used to represent it in the the CLIF specification of BFO2 + + + + + + has axiom label + + + + definition + + + + has associated axiom(nl) + + + + + editor note + + + + has associated axiom(fol) + + + + + imported from + + + + curator note + + + + definition source + + + + + term editor + + + + alternative term + + + + elucidation + + + + editor preferred term + + + + example of usage + + + + + + + + + + + + + + + + + + + inheres in at all times + BFO 2 Reference: Inherence is a subrelation of s-depends_on which holds between a dependent continuant and an independent continuant that is not a spatial region. Since dependent continuants cannot migrate from one independent continuant bearer to another, it follows that if b s-depends_on independent continuant c at some time, then b s-depends_on c at all times at which a exists. Inherence is in this sense redundantly time-indexed.For example, consider the particular instance of openness inhering in my mouth at t as I prepare to take a bite out of a donut, followed by a closedness at t+1 when I bite the donut and start chewing. The openness instance is then shortlived, and to say that it s-depends_on my mouth at all times at which this openness exists, means: at all times during this short life. Every time you make a fist, you make a new (instance of the universal) fist. (Every time your hand has the fist-shaped quality, there is created a new instance of the universal fist-shaped quality.) + inheresInAt + inheres-in_at + (iff (inheresInAt a b t) (and (DependentContinuant a) (IndependentContinuant b) (not (SpatialRegion b)) (specificallyDependsOnAt a b t))) // axiom label in BFO2 CLIF: [051-002] + BFO2 Reference: independent continuant that is not a spatial region + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'inheres in at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'inheres in@en(x,y,t)'. + BFO2 Reference: specifically dependent continuant + b inheres_in c at t =Def. b is a dependent continuant & c is an independent continuant that is not a spatial region & b s-depends_on c at t. (axiom label in BFO2 Reference: [051-002]) + + + + + + + + + + + + + + + + b inheres_in c at t =Def. b is a dependent continuant & c is an independent continuant that is not a spatial region & b s-depends_on c at t. (axiom label in BFO2 Reference: [051-002]) + + + + + + + + + + + + + + + + + + + + + (iff (inheresInAt a b t) (and (DependentContinuant a) (IndependentContinuant b) (not (SpatialRegion b)) (specificallyDependsOnAt a b t))) // axiom label in BFO2 CLIF: [051-002] + + + + + + + + + + + + + + + + + bearer of at some time + (iff (bearerOfAt a b t) (and (specificallyDependsOnAt b a t) (IndependentContinuant a) (not (SpatialRegion a)) (existsAt b t))) // axiom label in BFO2 CLIF: [053-004] + BFO2 Reference: independent continuant that is not a spatial region + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'bearer of at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'bearer of@en'(x,y,t) + BFO2 Reference: specifically dependent continuant + b bearer_of c at t =Def. c s-depends_on b at t & b is an independent continuant that is not a spatial region. (axiom label in BFO2 Reference: [053-004]) + bearerOfAt + bearer-of_st + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (iff (bearerOfAt a b t) (and (specificallyDependsOnAt b a t) (IndependentContinuant a) (not (SpatialRegion a)) (existsAt b t))) // axiom label in BFO2 CLIF: [053-004] + + + + + + + + + + + + b bearer_of c at t =Def. c s-depends_on b at t & b is an independent continuant that is not a spatial region. (axiom label in BFO2 Reference: [053-004]) + + + + + + + + + + + realized in + (forall (x y z t) (if (and (RealizableEntity x) (Process y) (realizesAt y x t) (bearerOfAt z x t)) (hasParticipantAt y z t))) // axiom label in BFO2 CLIF: [106-002] + [copied from inverse property 'realizes'] to say that b realizes c at t is to assert that there is some material entity d & b is a process which has participant d at t & c is a disposition or role of which d is bearer_of at t& the type instantiated by b is correlated with the type instantiated by c. (axiom label in BFO2 Reference: [059-003]) + if a realizable entity b is realized in a process p, then p stands in the has_participant relation to the bearer of b. (axiom label in BFO2 Reference: [106-002]) + realized-in + realizedIn + + + + + + (forall (x y z t) (if (and (RealizableEntity x) (Process y) (realizesAt y x t) (bearerOfAt z x t)) (hasParticipantAt y z t))) // axiom label in BFO2 CLIF: [106-002] + + + + + + if a realizable entity b is realized in a process p, then p stands in the has_participant relation to the bearer of b. (axiom label in BFO2 Reference: [106-002]) + + + + + + + + + + + + + + + + + + + + + + + realizes + (forall (x y t) (if (realizesAt x y t) (and (Process x) (or (Disposition y) (Role y)) (exists (z) (and (MaterialEntity z) (hasParticipantAt x z t) (bearerOfAt z y t)))))) // axiom label in BFO2 CLIF: [059-003] + realizes + realizes + to say that b realizes c at t is to assert that there is some material entity d & b is a process which has participant d at t & c is a disposition or role of which d is bearer_of at t& the type instantiated by b is correlated with the type instantiated by c. (axiom label in BFO2 Reference: [059-003]) + + + + + + + + + + + + + + + + + + + to say that b realizes c at t is to assert that there is some material entity d & b is a process which has participant d at t & c is a disposition or role of which d is bearer_of at t& the type instantiated by b is correlated with the type instantiated by c. (axiom label in BFO2 Reference: [059-003]) + + + + + + (forall (x y t) (if (realizesAt x y t) (and (Process x) (or (Disposition y) (Role y)) (exists (z) (and (MaterialEntity z) (hasParticipantAt x z t) (bearerOfAt z y t)))))) // axiom label in BFO2 CLIF: [059-003] + + + + + + + + + + + participates in at some time + [copied from inverse property 'has participant at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has participant at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has participant@en'(x,y,t) + [copied from inverse property 'has participant at some time'] BFO2 Reference: process + [copied from inverse property 'has participant at some time'] BFO2 Reference: independent continuant that is not a spatial region, specifically dependent continuant, generically dependent continuant + participates-in_st + [copied from inverse property 'has participant at some time'] has_participant is an instance-level relation between a process, a continuant, and a temporal region at which the continuant participates in some way in the process. (axiom label in BFO2 Reference: [086-003]) + [copied from inverse property 'has participant at some time'] BFO 2 Reference: Spatial regions do not participate in processes. + participatesInAt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + has participant at some time + (forall (x y t) (if (hasParticipantAt x y t) (Continuant y))) // axiom label in BFO2 CLIF: [088-001] + has-participant_st + hasParticipantAt + BFO2 Reference: process + (forall (x y t) (if (hasParticipantAt x y t) (Occurrent x))) // axiom label in BFO2 CLIF: [087-001] + (forall (x y t) (if (hasParticipantAt x y t) (existsAt y t))) // axiom label in BFO2 CLIF: [089-001] + (forall (x y t) (if (and (hasParticipantAt x y t) (GenericallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (genericallyDependsOn y z t) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [091-003] + (forall (x y t) (if (and (hasParticipantAt x y t) (SpecificallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t) (specificallyDependsOnAt y z t))))) // axiom label in BFO2 CLIF: [090-003] + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has participant at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has participant@en'(x,y,t) + BFO 2 Reference: Spatial regions do not participate in processes. + BFO2 Reference: independent continuant that is not a spatial region, specifically dependent continuant, generically dependent continuant + has_participant is an instance-level relation between a process, a continuant, and a temporal region at which the continuant participates in some way in the process. (axiom label in BFO2 Reference: [086-003]) + if b has_participant c at t & c is a generically dependent continuant, then there is some independent continuant that is not a spatial region d, and which is such that c g-depends on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [091-003]) + if b has_participant c at t & c is a specifically dependent continuant, then there is some independent continuant that is not a spatial region d, c s-depends_on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [090-003]) + if b has_participant c at t then b is an occurrent. (axiom label in BFO2 Reference: [087-001]) + if b has_participant c at t then c exists at t. (axiom label in BFO2 Reference: [089-001]) + if b has_participant c at t then c is a continuant. (axiom label in BFO2 Reference: [088-001]) + + + + + + + + + + + + + + + + + + + + + if b has_participant c at t & c is a specifically dependent continuant, then there is some independent continuant that is not a spatial region d, c s-depends_on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [090-003]) + + + + + + (forall (x y t) (if (hasParticipantAt x y t) (Continuant y))) // axiom label in BFO2 CLIF: [088-001] + + + + + + + + + + + + if b has_participant c at t then c is a continuant. (axiom label in BFO2 Reference: [088-001]) + + + + + + if b has_participant c at t then b is an occurrent. (axiom label in BFO2 Reference: [087-001]) + + + + + + (forall (x y t) (if (and (hasParticipantAt x y t) (GenericallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (genericallyDependsOn y z t) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [091-003] + + + + + + if b has_participant c at t then c exists at t. (axiom label in BFO2 Reference: [089-001]) + + + + + + + + + + + + + + + has_participant is an instance-level relation between a process, a continuant, and a temporal region at which the continuant participates in some way in the process. (axiom label in BFO2 Reference: [086-003]) + + + + + + + + + + + + + + + + + + + + + if b has_participant c at t & c is a generically dependent continuant, then there is some independent continuant that is not a spatial region d, and which is such that c g-depends on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [091-003]) + + + + + + (forall (x y t) (if (and (hasParticipantAt x y t) (SpecificallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t) (specificallyDependsOnAt y z t))))) // axiom label in BFO2 CLIF: [090-003] + + + + + + (forall (x y t) (if (hasParticipantAt x y t) (Occurrent x))) // axiom label in BFO2 CLIF: [087-001] + + + + + + (forall (x y t) (if (hasParticipantAt x y t) (existsAt y t))) // axiom label in BFO2 CLIF: [089-001] + + + + + + + + + + + concretized by at some time + concretized-by_st + [copied from inverse property 'concretizes at some time'] you may concretize a poem as a pattern of memory traces in your head + [copied from inverse property 'concretizes at some time'] b concretizes c at t means: b is a specifically dependent continuant & c is a generically dependent continuant & for some independent continuant that is not a spatial region d, b s-depends_on d at t & c g-depends on d at t & if c migrates from bearer d to another bearer e than a copy of b will be created in e. (axiom label in BFO2 Reference: [075-002]) + [copied from inverse property 'concretizes at some time'] You may concretize a piece of software by installing it in your computer + [copied from inverse property 'concretizes at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'concretizes at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'concretizes@en'(x,y,t) + [copied from inverse property 'concretizes at some time'] You may concretize a recipe that you find in a cookbook by turning it into a plan which exists as a realizable dependent continuant in your head. + + + + + + + + + + + + + + + + + + + + + + + concretizes at some time + concretizesAt + (forall (x y t) (if (genericallyDependsOnAt x y t) (exists (z) (and (concretizesAt z x t) (specificallyDependsOnAt z y t))))) // axiom label in BFO2 CLIF: [076-001] + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'concretizes at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'concretizes@en'(x,y,t) + (forall (x y t) (if (concretizesAt x y t) (and (SpecificallyDependentContinuant x) (GenericallyDependentContinuant y) (exists (z) (and (IndependentContinuant z) (specificallyDependsOnAt x z t) (genericallyDependsOnAt y z t)))))) // axiom label in BFO2 CLIF: [075-002] + concretizes_st + You may concretize a piece of software by installing it in your computer + You may concretize a recipe that you find in a cookbook by turning it into a plan which exists as a realizable dependent continuant in your head. + b concretizes c at t means: b is a specifically dependent continuant & c is a generically dependent continuant & for some independent continuant that is not a spatial region d, b s-depends_on d at t & c g-depends on d at t & if c migrates from bearer d to another bearer e than a copy of b will be created in e. (axiom label in BFO2 Reference: [075-002]) + if b g-depends on c at some time t, then there is some d, such that d concretizes b at t and d s-depends_on c at t. (axiom label in BFO2 Reference: [076-001]) + you may concretize a poem as a pattern of memory traces in your head + + + + + + + (forall (x y t) (if (concretizesAt x y t) (and (SpecificallyDependentContinuant x) (GenericallyDependentContinuant y) (exists (z) (and (IndependentContinuant z) (specificallyDependsOnAt x z t) (genericallyDependsOnAt y z t)))))) // axiom label in BFO2 CLIF: [075-002] + + + + + + if b g-depends on c at some time t, then there is some d, such that d concretizes b at t and d s-depends_on c at t. (axiom label in BFO2 Reference: [076-001]) + + + + + + b concretizes c at t means: b is a specifically dependent continuant & c is a generically dependent continuant & for some independent continuant that is not a spatial region d, b s-depends_on d at t & c g-depends on d at t & if c migrates from bearer d to another bearer e than a copy of b will be created in e. (axiom label in BFO2 Reference: [075-002]) + + + + + + (forall (x y t) (if (genericallyDependsOnAt x y t) (exists (z) (and (concretizesAt z x t) (specificallyDependsOnAt z y t))))) // axiom label in BFO2 CLIF: [076-001] + + + + + + + + + + + + + + + + + + + + + + + occurs in + occursIn + b occurs_in c =def b is a process and c is a material entity or immaterial entity& there exists a spatiotemporal region r and b occupies_spatiotemporal_region r.& forall(t) if b exists_at t then c exists_at t & there exist spatial regions s and s’ where & b spatially_projects_onto s at t& c is occupies_spatial_region s’ at t& s is a proper_continuant_part_of s’ at t [XXX-001 + occurs-in + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + contains process + contains-process + containsProcess + [copied from inverse property 'occurs in'] b occurs_in c =def b is a process and c is a material entity or immaterial entity& there exists a spatiotemporal region r and b occupies_spatiotemporal_region r.& forall(t) if b exists_at t then c exists_at t & there exist spatial regions s and s’ where & b spatially_projects_onto s at t& c is occupies_spatial_region s’ at t& s is a proper_continuant_part_of s’ at t [XXX-001 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + specifically depends on at all times + (forall (x y t) (if (and (Entity x) (or (continuantPartOfAt y x t) (continuantPartOfAt x y t) (occurrentPartOf x y) (occurrentPartOf y x))) (not (specificallyDependsOnAt x y t)))) // axiom label in BFO2 CLIF: [013-002] + (forall (x y z t) (if (and (specificallyDependsOnAt x y t) (specificallyDependsOnAt y z t)) (specificallyDependsOnAt x z t))) // axiom label in BFO2 CLIF: [054-002] + specificallyDependsOn + (forall (x y t) (if (and (Occurrent x) (IndependentContinuant y) (specificallyDependsOnAt x y t)) (forall (t_1) (if (existsAt x t_1) (specificallyDependsOnAt x y t_1))))) // axiom label in BFO2 CLIF: [015-002] + A pain s-depends_on the organism that is experiencing the pain + BFO2 Reference: specifically dependent continuant\; process; process boundary + s-depends-on_at + (forall (x) (if (exists (y t) (specificallyDependsOnAt x y t)) (not (MaterialEntity x)))) // axiom label in BFO2 CLIF: [052-001] + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'specifically depends on at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'specifically depends on@en(x,y,t)'. + (forall (x y t) (if (specificallyDependsOnAt x y t) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [136-001] + BFO 2 Reference: An entity – for example an act of communication or a game of football – can s-depends_on more than one entity. Complex phenomena for example in the psychological and social realms (such as inferring, commanding and requesting) or in the realm of multi-organismal biological processes (such as infection and resistance), will involve multiple families of dependence relations, involving both continuants and occurrents [1, 4, 28 + BFO 2 Reference: S-dependence is just one type of dependence among many; it is what, in the literature, is referred to as ‘existential dependence’ [87, 46, 65, 20 + BFO 2 Reference: the relation of s-depends_on does not in every case require simultaneous existence of its relata. Note the difference between such cases and the cases of continuant universals defined historically: the act of answering depends existentially on the prior act of questioning; the human being who was baptized or who answered a question does not himself depend existentially on the prior act of baptism or answering. He would still exist even if these acts had never taken place. + If b is s-depends_on something at some time, then b is not a material entity. (axiom label in BFO2 Reference: [052-001]) + If b s-depends_on something at t, then there is some c, which is an independent continuant and not a spatial region, such that b s-depends_on c at t. (axiom label in BFO2 Reference: [136-001]) + If occurrent b s-depends_on some independent continuant c at t, then b s-depends_on c at every time at which b exists. (axiom label in BFO2 Reference: [015-002]) + To say that b s-depends_on a at t is to say that b and c do not share common parts & b is of its nature such that it cannot exist unless c exists & b is not a boundary of c and b is not a site of which c is the host [64 + a gait s-depends_on the walking object. (All at some specific time.) + a shape s-depends_on the shaped object + an entity does not s-depend_on any of its (continuant or occurrent) parts or on anything it is part of. (axiom label in BFO2 Reference: [013-002]) + if b s-depends_on c at t & c s-depends_on d at t then b s-depends_on d at t. (axiom label in BFO2 Reference: [054-002]) + one-sided s-dependence of a dependent continuant on an independent continuant: an instance of headache s-depends_on some head + one-sided s-dependence of a dependent continuant on an independent continuant: an instance of temperature s-depends_on some organism + one-sided s-dependence of a process on something: a process of cell death s-depends_on a cell + one-sided s-dependence of a process on something: an instance of seeing (a relational process) s-depends_on some organism and on some seen entity, which may be an occurrent or a continuant + one-sided s-dependence of one occurrent on another: a process of answering a question is dependent on a prior process of asking a question + one-sided s-dependence of one occurrent on another: a process of obeying a command is dependent on a prior process of issuing a command + one-sided s-dependence of one occurrent on multiple independent continuants: a relational process of hitting a ball with a cricket bat + one-sided s-dependence of one occurrent on multiple independent continuants: a relational process of paying cash to a merchant in exchange for a bag of figs + reciprocal s-dependence between occurrents: a process of buying and the associated process of selling + reciprocal s-dependence between occurrents: a process of increasing the volume of a portion of gas while temperature remains constant and the associated process of decreasing the pressure exerted by the gas + reciprocal s-dependence between occurrents: in a game of chess the process of playing with the white pieces is mutually dependent on the process of playing with the black pieces + the one-sided dependence of an occurrent on an independent continuant: football match on the players, the ground, the ball + the one-sided dependence of an occurrent on an independent continuant: handwave on a hand + the three-sided reciprocal s-dependence of the hue, saturation and brightness of a color [45 + the three-sided reciprocal s-dependence of the pitch, timbre and volume of a tone [45 + the two-sided reciprocal s-dependence of the roles of husband and wife [20 + + + + + an entity does not s-depend_on any of its (continuant or occurrent) parts or on anything it is part of. (axiom label in BFO2 Reference: [013-002]) + + + + + + (forall (x y t) (if (and (Entity x) (or (continuantPartOfAt y x t) (continuantPartOfAt x y t) (occurrentPartOf x y) (occurrentPartOf y x))) (not (specificallyDependsOnAt x y t)))) // axiom label in BFO2 CLIF: [013-002] + + + + + + (forall (x y z t) (if (and (specificallyDependsOnAt x y t) (specificallyDependsOnAt y z t)) (specificallyDependsOnAt x z t))) // axiom label in BFO2 CLIF: [054-002] + + + + + + If b s-depends_on something at t, then there is some c, which is an independent continuant and not a spatial region, such that b s-depends_on c at t. (axiom label in BFO2 Reference: [136-001]) + + + + + + (forall (x y t) (if (and (Occurrent x) (IndependentContinuant y) (specificallyDependsOnAt x y t)) (forall (t_1) (if (existsAt x t_1) (specificallyDependsOnAt x y t_1))))) // axiom label in BFO2 CLIF: [015-002] + + + + + + (forall (x) (if (exists (y t) (specificallyDependsOnAt x y t)) (not (MaterialEntity x)))) // axiom label in BFO2 CLIF: [052-001] + + + + + + if b s-depends_on c at t & c s-depends_on d at t then b s-depends_on d at t. (axiom label in BFO2 Reference: [054-002]) + + + + + + (forall (x y t) (if (specificallyDependsOnAt x y t) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [136-001] + + + + + + If occurrent b s-depends_on some independent continuant c at t, then b s-depends_on c at every time at which b exists. (axiom label in BFO2 Reference: [015-002]) + + + + + + If b is s-depends_on something at some time, then b is not a material entity. (axiom label in BFO2 Reference: [052-001]) + + + + + + + + + + + function of at all times + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'function of at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'function of@en(x,y,t)'. + f-of_at + (iff (functionOf a b t) (and (Function a) (inheresInAt a b t))) // axiom label in BFO2 CLIF: [067-001] + functionOfAt + a function_of b at t =Def. a is a function and a inheres_in b at t. (axiom label in BFO2 Reference: [067-001]) + + + + + + (iff (functionOf a b t) (and (Function a) (inheresInAt a b t))) // axiom label in BFO2 CLIF: [067-001] + + + + + + + + + + + + a function_of b at t =Def. a is a function and a inheres_in b at t. (axiom label in BFO2 Reference: [067-001]) + + + + + + + + + + + quality of at all times + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'quality of at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'quality of@en(x,y,t)'. + b quality_of c at t = Def. b is a quality & c is an independent continuant that is not a spatial region & b s-depends_on c at t. (axiom label in BFO2 Reference: [056-002]) + q-of_at + (iff (qualityOfAt a b t) (and (Quality a) (IndependentContinuant b) (not (SpatialRegion b)) (specificallyDependsOnAt a b t))) // axiom label in BFO2 CLIF: [056-002] + qualityOfAt + + + + + + b quality_of c at t = Def. b is a quality & c is an independent continuant that is not a spatial region & b s-depends_on c at t. (axiom label in BFO2 Reference: [056-002]) + + + + + + (iff (qualityOfAt a b t) (and (Quality a) (IndependentContinuant b) (not (SpatialRegion b)) (specificallyDependsOnAt a b t))) // axiom label in BFO2 CLIF: [056-002] + + + + + + + + + + + + + + + + + role of at all times + roleOfAt + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'role of at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'role of@en(x,y,t)'. + (iff (roleOfAt a b t) (and (Role a) (inheresInAt a b t))) // axiom label in BFO2 CLIF: [065-001] + a role_of b at t =Def. a is a role and a inheres_in b at t. (axiom label in BFO2 Reference: [065-001]) + r-of_at + + + + + + + + + + + + a role_of b at t =Def. a is a role and a inheres_in b at t. (axiom label in BFO2 Reference: [065-001]) + + + + + + (iff (roleOfAt a b t) (and (Role a) (inheresInAt a b t))) // axiom label in BFO2 CLIF: [065-001] + + + + + + + + + + + + located in at all times + located-in_at + (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (locatedInAt x y t) (continuantPartOfAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [049-001] + locatedInAt + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'located in at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'located in@en(x,y,t)'. + (iff (locatedInAt a b t) (and (IndependentContinuant a) (IndependentContinuant b) (exists (r_1 r_2) (and (occupiesSpatialRegionAt a r_1 t) (occupiesSpatialRegionAt b r_2 t) (continuantPartOfAt r_1 r_2 t))))) // axiom label in BFO2 CLIF: [045-001] + BFO2 Reference: independent continuant + (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (continuantPartOfAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [048-001] + (forall (x y z t) (if (and (locatedInAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [046-001] + Located_in is transitive. (axiom label in BFO2 Reference: [046-001]) + Mary located_in Salzburg + b located_in c at t = Def. b and c are independent continuants, and the region at which b is located at t is a (proper or improper) continuant_part_of the region at which c is located at t. (axiom label in BFO2 Reference: [045-001]) + for all independent continuants b, c, and d: if b continuant_part_of c at t & c located_in d at t, then b located_in d at t. (axiom label in BFO2 Reference: [048-001]) + for all independent continuants b, c, and d: if b located_in c at t & c continuant_part_of d at t, then b located_in d at t. (axiom label in BFO2 Reference: [049-001]) + the Empire State Building located_in New York. + this portion of cocaine located_in this portion of blood + this stem cell located_in this portion of bone marrow + your arm located_in your body + + + + + for all independent continuants b, c, and d: if b located_in c at t & c continuant_part_of d at t, then b located_in d at t. (axiom label in BFO2 Reference: [049-001]) + + + + + + (forall (x y z t) (if (and (locatedInAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [046-001] + + + + + + b located_in c at t = Def. b and c are independent continuants, and the region at which b is located at t is a (proper or improper) continuant_part_of the region at which c is located at t. (axiom label in BFO2 Reference: [045-001]) + + + + + + (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (locatedInAt x y t) (continuantPartOfAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [049-001] + + + + + + (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (continuantPartOfAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [048-001] + + + + + + (iff (locatedInAt a b t) (and (IndependentContinuant a) (IndependentContinuant b) (exists (r_1 r_2) (and (occupiesSpatialRegionAt a r_1 t) (occupiesSpatialRegionAt b r_2 t) (continuantPartOfAt r_1 r_2 t))))) // axiom label in BFO2 CLIF: [045-001] + + + + + + for all independent continuants b, c, and d: if b continuant_part_of c at t & c located_in d at t, then b located_in d at t. (axiom label in BFO2 Reference: [048-001]) + + + + + + Located_in is transitive. (axiom label in BFO2 Reference: [046-001]) + + + + + + + + + + + occupies spatial region at some time + occupiesSpatialRegionAt + (forall (r t) (if (Region r) (occupiesSpatialRegionAt r r t))) // axiom label in BFO2 CLIF: [042-002] + BFO2 Reference: spatial region + located-at-r_st + (forall (x y r_1 t) (if (and (occupiesSpatialRegionAt x r_1 t) (continuantPartOfAt y x t)) (exists (r_2) (and (continuantPartOfAt r_2 r_1 t) (occupiesSpatialRegionAt y r_2 t))))) // axiom label in BFO2 CLIF: [043-001] + (forall (x r t) (if (occupiesSpatialRegionAt x r t) (and (SpatialRegion r) (IndependentContinuant x)))) // axiom label in BFO2 CLIF: [041-002] + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'occupies spatial region at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'occupies spatial region@en'(x,y,t) + BFO2 Reference: independent continuant + b occupies_spatial_region r at t means that r is a spatial region in which independent continuant b is exactly located (axiom label in BFO2 Reference: [041-002]) + every region r is occupies_spatial_region r at all times. (axiom label in BFO2 Reference: [042-002]) + if b occupies_spatial_region r at t & b continuant_part_of b at t, then there is some r which is continuant_part_of r at t such that b occupies_spatial_region r at t. (axiom label in BFO2 Reference: [043-001]) + + + + + + + (forall (x y r_1 t) (if (and (occupiesSpatialRegionAt x r_1 t) (continuantPartOfAt y x t)) (exists (r_2) (and (continuantPartOfAt r_2 r_1 t) (occupiesSpatialRegionAt y r_2 t))))) // axiom label in BFO2 CLIF: [043-001] + + + + + + (forall (r t) (if (Region r) (occupiesSpatialRegionAt r r t))) // axiom label in BFO2 CLIF: [042-002] + + + + + + + + + + + + b occupies_spatial_region r at t means that r is a spatial region in which independent continuant b is exactly located (axiom label in BFO2 Reference: [041-002]) + + + + + + if b occupies_spatial_region r at t & b continuant_part_of b at t, then there is some r which is continuant_part_of r at t such that b occupies_spatial_region r at t. (axiom label in BFO2 Reference: [043-001]) + + + + + + + + + + + + every region r is occupies_spatial_region r at all times. (axiom label in BFO2 Reference: [042-002]) + + + + + + (forall (x r t) (if (occupiesSpatialRegionAt x r t) (and (SpatialRegion r) (IndependentContinuant x)))) // axiom label in BFO2 CLIF: [041-002] + + + + + + + + + + + generically depends on at some time + genericallyDependsOn + g-depends-on_st + BFO2 Reference: generically dependent continuant + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'generically depends on at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'generically depends on@en'(x,y,t) + (forall (x y) (if (exists (t) (genericallyDependsOnAt x y t)) (forall (t_1) (if (existsAt x t_1) (exists (z) (genericallyDependsOnAt x z t_1)))))) // axiom label in BFO2 CLIF: [073-001] + BFO2 Reference: independent continuant + b g-depends on c at t1 means: b exists at t1 and c exists at t1 & for some type B it holds that (c instantiates B at t1) & necessarily, for all t (if b exists at t then some instance_of B exists at t) & not (b s-depends_on c at t1). (axiom label in BFO2 Reference: [072-002]) + if b g-depends_on c at some time t, then b g-depends_on something at all times at which b exists. (axiom label in BFO2 Reference: [073-001]) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (forall (x y) (if (exists (t) (genericallyDependsOnAt x y t)) (forall (t_1) (if (existsAt x t_1) (exists (z) (genericallyDependsOnAt x z t_1)))))) // axiom label in BFO2 CLIF: [073-001] + + + + + + b g-depends on c at t1 means: b exists at t1 and c exists at t1 & for some type B it holds that (c instantiates B at t1) & necessarily, for all t (if b exists at t then some instance_of B exists at t) & not (b s-depends_on c at t1). (axiom label in BFO2 Reference: [072-002]) + + + + + + if b g-depends_on c at some time t, then b g-depends_on something at all times at which b exists. (axiom label in BFO2 Reference: [073-001]) + + + + + + + + + + + has function at some time + hasFunctionAt + (iff (hasFunctionAt a b t) (functionOf b a t)) // axiom label in BFO2 CLIF: [070-001] + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has function at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has function@en'(x,y,t) + a has_function b at t =Def. b function_of a at t. (axiom label in BFO2 Reference: [070-001]) + has-f_st + + + + + + (iff (hasFunctionAt a b t) (functionOf b a t)) // axiom label in BFO2 CLIF: [070-001] + + + + + + + + + + + + a has_function b at t =Def. b function_of a at t. (axiom label in BFO2 Reference: [070-001]) + + + + + + + + + + + has quality at some time + has-q_st + + + + + + + + + + + + + + + + + has role at some time + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has role at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has role@en'(x,y,t) + a has_role b at t =Def. b role_of a at t. (axiom label in BFO2 Reference: [068-001]) + hasRoleAt + (iff (hasRoleAt a b t) (roleOfAt b a t)) // axiom label in BFO2 CLIF: [068-001] + has-r_st + + + + + + + + + + + + a has_role b at t =Def. b role_of a at t. (axiom label in BFO2 Reference: [068-001]) + + + + + + (iff (hasRoleAt a b t) (roleOfAt b a t)) // axiom label in BFO2 CLIF: [068-001] + + + + + + + + + + + has generic dependent at some time + [copied from inverse property 'generically depends on at some time'] BFO2 Reference: independent continuant + has-g-dep_st + [copied from inverse property 'generically depends on at some time'] b g-depends on c at t1 means: b exists at t1 and c exists at t1 & for some type B it holds that (c instantiates B at t1) & necessarily, for all t (if b exists at t then some instance_of B exists at t) & not (b s-depends_on c at t1). (axiom label in BFO2 Reference: [072-002]) + [copied from inverse property 'generically depends on at some time'] BFO2 Reference: generically dependent continuant + [copied from inverse property 'generically depends on at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'generically depends on at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'generically depends on@en'(x,y,t) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + disposition of at all times + (iff (dispositionOf a b t) (and (Disposition a) (inheresInAt a b t))) // axiom label in BFO2 CLIF: [066-001] + dispositionOfAt + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'disposition of at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'disposition of@en(x,y,t)'. + a disposition_of b at t =Def. a is a disposition and a inheres_in b at t. (axiom label in BFO2 Reference: [066-001]) + d-of_at + + + + + + (iff (dispositionOf a b t) (and (Disposition a) (inheresInAt a b t))) // axiom label in BFO2 CLIF: [066-001] + + + + + + + + + + + + a disposition_of b at t =Def. a is a disposition and a inheres_in b at t. (axiom label in BFO2 Reference: [066-001]) + + + + + + + + + + + exists at + exists-at + existsAt + BFO2 Reference: entity + BFO2 Reference: temporal region + b exists_at t means: b is an entity which exists at some temporal region t. (axiom label in BFO2 Reference: [118-002]) + + + + + + + + + + + + + b exists_at t means: b is an entity which exists at some temporal region t. (axiom label in BFO2 Reference: [118-002]) + + + + + + + + + + + + + + + + + + has continuant part at all times + hasContinuantPartAt + (iff (hasContinuantPartAt a b t) (continuantPartOfAt b a t)) // axiom label in BFO2 CLIF: [006-001] + b has_continuant_part c at t = Def. c continuant_part_of b at t. (axiom label in BFO2 Reference: [006-001]) + c-has-part_at + [copied from inverse property 'part of continuant at all times that whole exists'] forall(t) exists_at(y,t) -> exists_at(x,t) and 'part of continuant'(x,y,t) + [copied from inverse property 'part of continuant at all times that whole exists'] This is a binary version of a ternary time-indexed, instance level, relation. Unlike the rest of the temporalized relations which temporally quantify over existence of the subject of the relation, this relation temporally quantifies over the existence of the object of the relation. The relation is provided tentatively, to assess whether the GO needs such a relation. It is inverse of 'has continuant part at all times' + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has continuant part at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has continuant part@en(x,y,t)'. + + + + + + + + + + + b has_continuant_part c at t = Def. c continuant_part_of b at t. (axiom label in BFO2 Reference: [006-001]) + + + + + + (iff (hasContinuantPartAt a b t) (continuantPartOfAt b a t)) // axiom label in BFO2 CLIF: [006-001] + + + + + + + + + + + + has proper continuant part at all times + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has proper continuant part at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has proper continuant part@en(x,y,t)'. + hasProperContinuantPartAt + c-has-ppart_at + b has_proper_continuant_part c at t = Def. c proper_continuant_part_of b at t. [XXX-001 + + + + + + + + + + + has disposition at some time + has-d_st + hasDispositionAt + (iff (hasDispositionAt a b t) (dispositionOf b a t)) // axiom label in BFO2 CLIF: [069-001] + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has disposition at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has disposition@en'(x,y,t) + a has_disposition b at t =Def. b disposition_of a at t. (axiom label in BFO2 Reference: [069-001]) + + + + + + (iff (hasDispositionAt a b t) (dispositionOf b a t)) // axiom label in BFO2 CLIF: [069-001] + + + + + + a has_disposition b at t =Def. b disposition_of a at t. (axiom label in BFO2 Reference: [069-001]) + + + + + + + + + + + + + + + + + has material basis at all times + has-material-basis_at + hasMaterialBasisAt + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has material basis at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has material basis@en(x,y,t)'. + (forall (x y t) (if (hasMaterialBasisAt x y t) (and (Disposition x) (MaterialEntity y) (exists (z) (and (bearerOfAt z x t) (continuantPartOfAt y z t) (exists (w) (and (Disposition w) (if (hasDisposition z w) (continuantPartOfAt y z t))))))))) // axiom label in BFO2 CLIF: [071-002] + b has_material_basis c at t means: b is a disposition & c is a material entity & there is some d bearer_of b at t& c continuant_part_of d at t& d has_disposition b at t because c continuant_part_of d at t. (axiom label in BFO2 Reference: [071-002]) + the material basis of John’s disposition to cough is the viral infection in John’s upper respiratory tract + the material basis of the disposition to wear unevenly of John’s tires is the worn suspension of his car. + + + + + + + + + + + + b has_material_basis c at t means: b is a disposition & c is a material entity & there is some d bearer_of b at t& c continuant_part_of d at t& d has_disposition b at t because c continuant_part_of d at t. (axiom label in BFO2 Reference: [071-002]) + + + + + + (forall (x y t) (if (hasMaterialBasisAt x y t) (and (Disposition x) (MaterialEntity y) (exists (z) (and (bearerOfAt z x t) (continuantPartOfAt y z t) (exists (w) (and (Disposition w) (if (hasDisposition z w) (continuantPartOfAt y z t))))))))) // axiom label in BFO2 CLIF: [071-002] + + + + + + + + + + + + + + + + + has member part at some time + [copied from inverse property 'member part of at some time'] BFO2 Reference: object + [copied from inverse property 'member part of at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'member part of at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'member part of@en'(x,y,t) + [copied from inverse property 'member part of at some time'] each piece in a chess set is a member part of the chess set; each Beatle in the collection called The Beatles is a member part of The Beatles. + [copied from inverse property 'member part of at some time'] each tree in a forest is a member_part of the forest + has-member-part_st + [copied from inverse property 'member part of at some time'] b member_part_of c at t =Def. b is an object & there is at t a mutually exhaustive and pairwise disjoint partition of c into objects x1, …, xn (for some n &gt; 1) with b = xi for some 1 ≤ i ≤ n. (axiom label in BFO2 Reference: [026-004]) + [copied from inverse property 'member part of at some time'] BFO2 Reference: object aggregate + + + + + + + + + + + + + + + + + + + + + + + + + has occurrent part + [copied from inverse property 'part of occurrent'] Mary’s 5th birthday occurrent_part_of Mary’s life + [copied from inverse property 'part of occurrent'] the first set of the tennis match occurrent_part_of the tennis match. + [copied from inverse property 'part of occurrent'] BFO 2 Reference: a (continuant or occurrent) part of itself. We appreciate that this is counterintuitive for some users, since it implies for example that President Obama is a part of himself. However it brings benefits in simplifying the logical formalism, and it captures an important feature of identity, namely that it is the limit case of mereological inclusion. + (iff (hasOccurrentPart a b) (occurrentPartOf b a)) // axiom label in BFO2 CLIF: [007-001] + [copied from inverse property 'part of occurrent'] BFO2 Reference: occurrent + o-has-part + hasOccurrentPart + [copied from inverse property 'part of occurrent'] b occurrent_part_of c =Def. b is a part of c & b and c are occurrents. (axiom label in BFO2 Reference: [003-002]) + [copied from inverse property 'part of occurrent'] The process of a footballer’s heart beating once is an occurrent part but not a temporal_part of a game of football. + b has_occurrent_part c = Def. c occurrent_part_of b. (axiom label in BFO2 Reference: [007-001]) + + + + + + (iff (hasOccurrentPart a b) (occurrentPartOf b a)) // axiom label in BFO2 CLIF: [007-001] + + + + + + + + + + + + b has_occurrent_part c = Def. c occurrent_part_of b. (axiom label in BFO2 Reference: [007-001]) + + + + + + + + + + + + + + + + + + + + + + + + has proper occurrent part + [copied from inverse property 'proper part of occurrent'] b proper_occurrent_part_of c =Def. b occurrent_part_of c & b and c are not identical. (axiom label in BFO2 Reference: [005-001]) + hasProperOccurrentPart + o-has-ppart + b has_proper_occurrent_part c = Def. c proper_occurrent_part_of b. [XXX-001 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + has profile + has-profile + + + + + + + + + + + + + + + + + + + + + + + + has temporal part + [copied from inverse property 'temporal part of'] the 4th year of your life is a temporal part of your life\. The first quarter of a game of football is a temporal part of the whole game\. The process of your heart beating from 4pm to 5pm today is a temporal part of the entire process of your heart beating.\ The 4th year of your life is a temporal part of your life + [copied from inverse property 'temporal part of'] the process boundary which separates the 3rd and 4th years of your life. + [copied from inverse property 'temporal part of'] your heart beating from 4pm to 5pm today is a temporal part of the process of your heart beating + [copied from inverse property 'temporal part of'] b proper_temporal_part_of c =Def. b temporal_part_of c & not (b = c). (axiom label in BFO2 Reference: [116-001]) + has-t-part + [copied from inverse property 'temporal part of'] b temporal_part_of c =Def.b occurrent_part_of c & & for some temporal region t, b occupies_temporal_region t & for all occurrents d, t (if d occupies_temporal_region t & t occurrent_part_of t then (d occurrent_part_of a iff d occurrent_part_of b)). (axiom label in BFO2 Reference: [078-003]) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + has spatial occupant at some time + r-location-of_st + [copied from inverse property 'occupies spatial region at some time'] BFO2 Reference: independent continuant + [copied from inverse property 'occupies spatial region at some time'] b occupies_spatial_region r at t means that r is a spatial region in which independent continuant b is exactly located (axiom label in BFO2 Reference: [041-002]) + [copied from inverse property 'occupies spatial region at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'occupies spatial region at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'occupies spatial region@en'(x,y,t) + [copied from inverse property 'occupies spatial region at some time'] BFO2 Reference: spatial region + + + + + + + + + + + + + + + + + + + + + + + has location at some time + [copied from inverse property 'located in at some time'] Mary located_in Salzburg + has-location_st + [copied from inverse property 'located in at some time'] your arm located_in your body + [copied from inverse property 'located in at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'located in at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'located in@en'(x,y,t) + [copied from inverse property 'located in at some time'] BFO2 Reference: independent continuant + [copied from inverse property 'located in at some time'] this portion of cocaine located_in this portion of blood + [copied from inverse property 'located in at some time'] this stem cell located_in this portion of bone marrow + [copied from inverse property 'located in at some time'] b located_in c at t = Def. b and c are independent continuants, and the region at which b is located at t is a (proper or improper) continuant_part_of the region at which c is located at t. (axiom label in BFO2 Reference: [045-001]) + [copied from inverse property 'located in at some time'] the Empire State Building located_in New York. + + + + + + + + + + + + + + + + + + + + + + + has specific dependent at some time + [copied from inverse property 'specifically depends on at some time'] reciprocal s-dependence between occurrents: a process of increasing the volume of a portion of gas while temperature remains constant and the associated process of decreasing the pressure exerted by the gas + [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of one occurrent on multiple independent continuants: a relational process of hitting a ball with a cricket bat + [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of one occurrent on multiple independent continuants: a relational process of paying cash to a merchant in exchange for a bag of figs + [copied from inverse property 'specifically depends on at some time'] the one-sided dependence of an occurrent on an independent continuant: football match on the players, the ground, the ball + has-s-dep_st + [copied from inverse property 'specifically depends on at some time'] BFO 2 Reference: S-dependence is just one type of dependence among many; it is what, in the literature, is referred to as ‘existential dependence’ [87, 46, 65, 20 + [copied from inverse property 'specifically depends on at some time'] a shape s-depends_on the shaped object + [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of a dependent continuant on an independent continuant: an instance of headache s-depends_on some head + [copied from inverse property 'specifically depends on at some time'] the three-sided reciprocal s-dependence of the pitch, timbre and volume of a tone [45 + [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of a process on something: an instance of seeing (a relational process) s-depends_on some organism and on some seen entity, which may be an occurrent or a continuant + [copied from inverse property 'specifically depends on at some time'] a gait s-depends_on the walking object. (All at some specific time.) + [copied from inverse property 'specifically depends on at some time'] To say that b s-depends_on a at t is to say that b and c do not share common parts & b is of its nature such that it cannot exist unless c exists & b is not a boundary of c and b is not a site of which c is the host [64 + [copied from inverse property 'specifically depends on at some time'] BFO 2 Reference: the relation of s-depends_on does not in every case require simultaneous existence of its relata. Note the difference between such cases and the cases of continuant universals defined historically: the act of answering depends existentially on the prior act of questioning; the human being who was baptized or who answered a question does not himself depend existentially on the prior act of baptism or answering. He would still exist even if these acts had never taken place. + [copied from inverse property 'specifically depends on at some time'] reciprocal s-dependence between occurrents: in a game of chess the process of playing with the white pieces is mutually dependent on the process of playing with the black pieces + [copied from inverse property 'specifically depends on at some time'] the three-sided reciprocal s-dependence of the hue, saturation and brightness of a color [45 + [copied from inverse property 'specifically depends on at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'specifically depends on at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'specifically depends on@en'(x,y,t) + [copied from inverse property 'specifically depends on at some time'] reciprocal s-dependence between occurrents: a process of buying and the associated process of selling + [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of one occurrent on another: a process of answering a question is dependent on a prior process of asking a question + [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of one occurrent on another: a process of obeying a command is dependent on a prior process of issuing a command + [copied from inverse property 'specifically depends on at some time'] BFO 2 Reference: An entity – for example an act of communication or a game of football – can s-depends_on more than one entity. Complex phenomena for example in the psychological and social realms (such as inferring, commanding and requesting) or in the realm of multi-organismal biological processes (such as infection and resistance), will involve multiple families of dependence relations, involving both continuants and occurrents [1, 4, 28 + [copied from inverse property 'specifically depends on at some time'] A pain s-depends_on the organism that is experiencing the pain + [copied from inverse property 'specifically depends on at some time'] the one-sided dependence of an occurrent on an independent continuant: handwave on a hand + [copied from inverse property 'specifically depends on at some time'] the two-sided reciprocal s-dependence of the roles of husband and wife [20 + [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of a process on something: a process of cell death s-depends_on a cell + [copied from inverse property 'specifically depends on at some time'] BFO2 Reference: specifically dependent continuant\; process; process boundary + [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of a dependent continuant on an independent continuant: an instance of temperature s-depends_on some organism + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + has spatiotemporal occupant + occupied-by + [copied from inverse property 'occupies spatiotemporal region'] BFO 2 Reference: The occupies_spatiotemporal_region and occupies_temporal_region relations are the counterpart, on the occurrent side, of the relation occupies_spatial_region. + [copied from inverse property 'occupies spatiotemporal region'] p occupies_spatiotemporal_region s. This is a primitive relation between an occurrent p and the spatiotemporal region s which is its spatiotemporal extent. (axiom label in BFO2 Reference: [082-003]) + + + + + + + + + + + + + + + + + + + + + + + material basis of at some time + material-basis-of_st + + + + + + + + + + + + + + + + + + + + + + + member part of at some time + BFO2 Reference: object aggregate + member-part-of_st + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'member part of at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'member part of@en'(x,y,t) + (forall (x y t) (if (memberPartOfAt x y t) (continuantPartOfAt x y t))) // axiom label in BFO2 CLIF: [104-001] + BFO2 Reference: object + b member_part_of c at t =Def. b is an object & there is at t a mutually exhaustive and pairwise disjoint partition of c into objects x1, …, xn (for some n &gt; 1) with b = xi for some 1 ≤ i ≤ n. (axiom label in BFO2 Reference: [026-004]) + each piece in a chess set is a member part of the chess set; each Beatle in the collection called The Beatles is a member part of The Beatles. + each tree in a forest is a member_part of the forest + if b member_part_of c at t then b continuant_part_of c at t. (axiom label in BFO2 Reference: [104-001]) + memberPartOfAt + + + + + + + + + + + + + + + + + + + + + if b member_part_of c at t then b continuant_part_of c at t. (axiom label in BFO2 Reference: [104-001]) + + + + + + (forall (x y t) (if (memberPartOfAt x y t) (continuantPartOfAt x y t))) // axiom label in BFO2 CLIF: [104-001] + + + + + + b member_part_of c at t =Def. b is an object & there is at t a mutually exhaustive and pairwise disjoint partition of c into objects x1, …, xn (for some n &gt; 1) with b = xi for some 1 ≤ i ≤ n. (axiom label in BFO2 Reference: [026-004]) + + + + + + + + + + + occupies spatiotemporal region + occupies + BFO 2 Reference: The occupies_spatiotemporal_region and occupies_temporal_region relations are the counterpart, on the occurrent side, of the relation occupies_spatial_region. + occupiesSpatiotemporalRegion + p occupies_spatiotemporal_region s. This is a primitive relation between an occurrent p and the spatiotemporal region s which is its spatiotemporal extent. (axiom label in BFO2 Reference: [082-003]) + + + + + + + + + + + + + p occupies_spatiotemporal_region s. This is a primitive relation between an occurrent p and the spatiotemporal region s which is its spatiotemporal extent. (axiom label in BFO2 Reference: [082-003]) + + + + + + + + + + + + + + + + + + part of occurrent + [copied from inverse property 'has occurrent part'] b has_occurrent_part c = Def. c occurrent_part_of b. (axiom label in BFO2 Reference: [007-001]) + BFO2 Reference: occurrent + (forall (x) (if (Occurrent x) (occurrentPartOf x x))) // axiom label in BFO2 CLIF: [113-002] + (forall (x y t) (if (and (occurrentPartOf x y t) (occurrentPartOf y x t)) (= x y))) // axiom label in BFO2 CLIF: [123-001] + occurrentPartOf + (forall (x y z) (if (and (occurrentPartOf x y) (occurrentPartOf y z)) (occurrentPartOf x z))) // axiom label in BFO2 CLIF: [112-001] + o-part-of + (forall (x y t) (if (exists (v) (and (occurrentPartOf v x t) (occurrentPartOf v y t))) (exists (z) (forall (u w) (iff (iff (occurrentPartOf w u t) (and (occurrentPartOf w x t) (occurrentPartOf w y t))) (= z u)))))) // axiom label in BFO2 CLIF: [125-001] + (forall (x y t) (if (and (occurrentPartOf x y t) (not (= x y))) (exists (z) (and (occurrentPartOf z y t) (not (exists (w) (and (occurrentPartOf w x t) (occurrentPartOf w z t)))))))) // axiom label in BFO2 CLIF: [124-001] + BFO 2 Reference: a (continuant or occurrent) part of itself. We appreciate that this is counterintuitive for some users, since it implies for example that President Obama is a part of himself. However it brings benefits in simplifying the logical formalism, and it captures an important feature of identity, namely that it is the limit case of mereological inclusion. + Mary’s 5th birthday occurrent_part_of Mary’s life + The process of a footballer’s heart beating once is an occurrent part but not a temporal_part of a game of football. + b occurrent_part_of c =Def. b is a part of c & b and c are occurrents. (axiom label in BFO2 Reference: [003-002]) + occurrent_part_of is antisymmetric. (axiom label in BFO2 Reference: [123-001]) + occurrent_part_of is reflexive (every occurrent entity is an occurrent_part_of itself). (axiom label in BFO2 Reference: [113-002]) + occurrent_part_of is transitive. (axiom label in BFO2 Reference: [112-001]) + occurrent_part_of satisfies unique product. (axiom label in BFO2 Reference: [125-001]) + occurrent_part_of satisfies weak supplementation. (axiom label in BFO2 Reference: [124-001]) + the first set of the tennis match occurrent_part_of the tennis match. + + + + + + + (forall (x y t) (if (and (occurrentPartOf x y t) (not (= x y))) (exists (z) (and (occurrentPartOf z y t) (not (exists (w) (and (occurrentPartOf w x t) (occurrentPartOf w z t)))))))) // axiom label in BFO2 CLIF: [124-001] + + + + + + (forall (x) (if (Occurrent x) (occurrentPartOf x x))) // axiom label in BFO2 CLIF: [113-002] + + + + + + (forall (x y t) (if (exists (v) (and (occurrentPartOf v x t) (occurrentPartOf v y t))) (exists (z) (forall (u w) (iff (iff (occurrentPartOf w u t) (and (occurrentPartOf w x t) (occurrentPartOf w y t))) (= z u)))))) // axiom label in BFO2 CLIF: [125-001] + + + + + + + + + + + + (forall (x y z) (if (and (occurrentPartOf x y) (occurrentPartOf y z)) (occurrentPartOf x z))) // axiom label in BFO2 CLIF: [112-001] + + + + + + + + + + + + occurrent_part_of is antisymmetric. (axiom label in BFO2 Reference: [123-001]) + + + + + + occurrent_part_of satisfies weak supplementation. (axiom label in BFO2 Reference: [124-001]) + + + + + + b occurrent_part_of c =Def. b is a part of c & b and c are occurrents. (axiom label in BFO2 Reference: [003-002]) + + + + + + + + + + + + occurrent_part_of is transitive. (axiom label in BFO2 Reference: [112-001]) + + + + + + occurrent_part_of satisfies unique product. (axiom label in BFO2 Reference: [125-001]) + + + + + + (forall (x y t) (if (and (occurrentPartOf x y t) (occurrentPartOf y x t)) (= x y))) // axiom label in BFO2 CLIF: [123-001] + + + + + + occurrent_part_of is reflexive (every occurrent entity is an occurrent_part_of itself). (axiom label in BFO2 Reference: [113-002]) + + + + + + + + + + + process profile of + profile-of + processProfileOf + + + + + + + + + + + + + + + + + + + + + + + + + proper temporal part of + t-ppart-of + properTemporalPartOf + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + proper part of continuant at all times + (iff (properContinuantPartOfAt a b t) (and (continuantPartOfAt a b t) (not (= a b)))) // axiom label in BFO2 CLIF: [004-001] + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'proper part of continuant at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'proper part of continuant@en(x,y,t)'. + b proper_continuant_part_of c at t =Def. b continuant_part_of c at t & b and c are not identical. (axiom label in BFO2 Reference: [004-001]) + properContinuantPartOfAt + c-ppart-of_at + + + + + + b proper_continuant_part_of c at t =Def. b continuant_part_of c at t & b and c are not identical. (axiom label in BFO2 Reference: [004-001]) + + + + + + (iff (properContinuantPartOfAt a b t) (and (continuantPartOfAt a b t) (not (= a b)))) // axiom label in BFO2 CLIF: [004-001] + + + + + + + + + + + + proper part of occurrent + (iff (properOccurrentPartOf a b) (and (occurrentPartOf a b) (not (= a b)))) // axiom label in BFO2 CLIF: [005-001] + b proper_occurrent_part_of c =Def. b occurrent_part_of c & b and c are not identical. (axiom label in BFO2 Reference: [005-001]) + o-ppart-of + properOccurrentPartOf + [copied from inverse property 'has proper occurrent part'] b has_proper_occurrent_part c = Def. c proper_occurrent_part_of b. [XXX-001 + + + + + + + + + + + + + + + + + + + + b proper_occurrent_part_of c =Def. b occurrent_part_of c & b and c are not identical. (axiom label in BFO2 Reference: [005-001]) + + + + + + + + + + + + (iff (properOccurrentPartOf a b) (and (occurrentPartOf a b) (not (= a b)))) // axiom label in BFO2 CLIF: [005-001] + + + + + + + + + + + + temporal part of + t-part-of + (iff (temporalPartOf a b) (and (occurrentPartOf a b) (exists (t) (and (TemporalRegion t) (occupiesSpatioTemporalRegion a t))) (forall (c t_1) (if (and (Occurrent c) (occupiesSpatioTemporalRegion c t_1) (occurrentPartOf t_1 r)) (iff (occurrentPartOf c a) (occurrentPartOf c b)))))) // axiom label in BFO2 CLIF: [078-003] + (iff (properTemporalPartOf a b) (and (temporalPartOf a b) (not (= a b)))) // axiom label in BFO2 CLIF: [116-001] + temporalPartOf + (forall (x y) (if (properTemporalPartOf x y) (exists (z) (and (properTemporalPartOf z y) (not (exists (w) (and (temporalPartOf w x) (temporalPartOf w z)))))))) // axiom label in BFO2 CLIF: [117-002] + b proper_temporal_part_of c =Def. b temporal_part_of c & not (b = c). (axiom label in BFO2 Reference: [116-001]) + b temporal_part_of c =Def.b occurrent_part_of c & & for some temporal region t, b occupies_temporal_region t & for all occurrents d, t (if d occupies_temporal_region t & t occurrent_part_of t then (d occurrent_part_of a iff d occurrent_part_of b)). (axiom label in BFO2 Reference: [078-003]) + if b proper_temporal_part_of c, then there is some d which is a proper_temporal_part_of c and which shares no parts with b. (axiom label in BFO2 Reference: [117-002]) + the 4th year of your life is a temporal part of your life\. The first quarter of a game of football is a temporal part of the whole game\. The process of your heart beating from 4pm to 5pm today is a temporal part of the entire process of your heart beating.\ The 4th year of your life is a temporal part of your life + the process boundary which separates the 3rd and 4th years of your life. + your heart beating from 4pm to 5pm today is a temporal part of the process of your heart beating + + + + + + + + (iff (temporalPartOf a b) (and (occurrentPartOf a b) (exists (t) (and (TemporalRegion t) (occupiesSpatioTemporalRegion a t))) (forall (c t_1) (if (and (Occurrent c) (occupiesSpatioTemporalRegion c t_1) (occurrentPartOf t_1 r)) (iff (occurrentPartOf c a) (occurrentPartOf c b)))))) // axiom label in BFO2 CLIF: [078-003] + + + + + + b proper_temporal_part_of c =Def. b temporal_part_of c & not (b = c). (axiom label in BFO2 Reference: [116-001]) + + + + + + (forall (x y) (if (properTemporalPartOf x y) (exists (z) (and (properTemporalPartOf z y) (not (exists (w) (and (temporalPartOf w x) (temporalPartOf w z)))))))) // axiom label in BFO2 CLIF: [117-002] + + + + + + + + + + + + (iff (properTemporalPartOf a b) (and (temporalPartOf a b) (not (= a b)))) // axiom label in BFO2 CLIF: [116-001] + + + + + + b temporal_part_of c =Def.b occurrent_part_of c & & for some temporal region t, b occupies_temporal_region t & for all occurrents d, t (if d occupies_temporal_region t & t occurrent_part_of t then (d occurrent_part_of a iff d occurrent_part_of b)). (axiom label in BFO2 Reference: [078-003]) + + + + + + + + + + + + if b proper_temporal_part_of c, then there is some d which is a proper_temporal_part_of c and which shares no parts with b. (axiom label in BFO2 Reference: [117-002]) + + + + + + + + + + + + + + + + + projects onto spatial region at some time + st-projects-onto-s_st + + + + + + + + + + + + + + + + + + + + + + + + spatial projection of spatiotemporal at some time + s-projection-of-st_st + + + + + + + + + + + + + + + + + + + + + + + projects onto temporal region + st-projects-onto-t + + + + + + + + + + + + + + + + + + + + + + + + + temporal projection of spatiotemporal + t-projection-of-st + + + + + + + + + + + + + + + + + + + + + + + + occupies temporal region + occupiesTemporalRegion + spans + p occupies_temporal_region t. This is a primitive relation between an occurrent p and the temporal region t upon which the spatiotemporal region p occupies_spatiotemporal_region projects. (axiom label in BFO2 Reference: [132-001]) + + + + + + + + + + + + + + + + + + + + p occupies_temporal_region t. This is a primitive relation between an occurrent p and the temporal region t upon which the spatiotemporal region p occupies_spatiotemporal_region projects. (axiom label in BFO2 Reference: [132-001]) + + + + + + + + + + + has temporal occupant + [copied from inverse property 'occupies temporal region'] p occupies_temporal_region t. This is a primitive relation between an occurrent p and the temporal region t upon which the spatiotemporal region p occupies_spatiotemporal_region projects. (axiom label in BFO2 Reference: [132-001]) + spanOf + span-of + + + + + + + + + + + + + + + + + + + + + + + + during which exists + during-which-exists + [copied from inverse property 'exists at'] b exists_at t means: b is an entity which exists at some temporal region t. (axiom label in BFO2 Reference: [118-002]) + [copied from inverse property 'exists at'] BFO2 Reference: entity + [copied from inverse property 'exists at'] BFO2 Reference: temporal region + + + + + + + + + + + + + + + + + + + + + + + bearer of at all times + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'bearer of at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'bearer of@en(x,y,t)'. + BFO2 Reference: independent continuant that is not a spatial region + BFO2 Reference: specifically dependent continuant + (iff (bearerOfAt a b t) (and (specificallyDependsOnAt b a t) (IndependentContinuant a) (not (SpatialRegion a)) (existsAt b t))) // axiom label in BFO2 CLIF: [053-004] + b bearer_of c at t =Def. c s-depends_on b at t & b is an independent continuant that is not a spatial region. (axiom label in BFO2 Reference: [053-004]) + bearer-of_at + bearerOfAt + + + + + + + + + + + + + + + + + + + + + + (iff (bearerOfAt a b t) (and (specificallyDependsOnAt b a t) (IndependentContinuant a) (not (SpatialRegion a)) (existsAt b t))) // axiom label in BFO2 CLIF: [053-004] + + + + + + b bearer_of c at t =Def. c s-depends_on b at t & b is an independent continuant that is not a spatial region. (axiom label in BFO2 Reference: [053-004]) + + + + + + + + + + + + + + + + + + + + + + + + + + has quality at all times + has-q_at + + + + + + + + + + + + + + + + + has function at all times + has-f_at + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has function at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has function@en(x,y,t)'. + (iff (hasFunctionAt a b t) (functionOf b a t)) // axiom label in BFO2 CLIF: [070-001] + a has_function b at t =Def. b function_of a at t. (axiom label in BFO2 Reference: [070-001]) + hasFunctionAt + + + + + + a has_function b at t =Def. b function_of a at t. (axiom label in BFO2 Reference: [070-001]) + + + + + + + + + + + + (iff (hasFunctionAt a b t) (functionOf b a t)) // axiom label in BFO2 CLIF: [070-001] + + + + + + + + + + + has role at all times + hasRoleAt + has-r_at + (iff (hasRoleAt a b t) (roleOfAt b a t)) // axiom label in BFO2 CLIF: [068-001] + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has role at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has role@en(x,y,t)'. + a has_role b at t =Def. b role_of a at t. (axiom label in BFO2 Reference: [068-001]) + + + + + + + + + + + + (iff (hasRoleAt a b t) (roleOfAt b a t)) // axiom label in BFO2 CLIF: [068-001] + + + + + + a has_role b at t =Def. b role_of a at t. (axiom label in BFO2 Reference: [068-001]) + + + + + + + + + + + has disposition at all times + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has disposition at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has disposition@en(x,y,t)'. + a has_disposition b at t =Def. b disposition_of a at t. (axiom label in BFO2 Reference: [069-001]) + has-d_at + hasDispositionAt + (iff (hasDispositionAt a b t) (dispositionOf b a t)) // axiom label in BFO2 CLIF: [069-001] + + + + + + (iff (hasDispositionAt a b t) (dispositionOf b a t)) // axiom label in BFO2 CLIF: [069-001] + + + + + + a has_disposition b at t =Def. b disposition_of a at t. (axiom label in BFO2 Reference: [069-001]) + + + + + + + + + + + + + + + + + material basis of at all times + material-basis-of_at + + + + + + + + + + + + + + + + + + + + + + + + concretizes at all times + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'concretizes at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'concretizes@en(x,y,t)'. + (forall (x y t) (if (concretizesAt x y t) (and (SpecificallyDependentContinuant x) (GenericallyDependentContinuant y) (exists (z) (and (IndependentContinuant z) (specificallyDependsOnAt x z t) (genericallyDependsOnAt y z t)))))) // axiom label in BFO2 CLIF: [075-002] + concretizes_at + (forall (x y t) (if (genericallyDependsOnAt x y t) (exists (z) (and (concretizesAt z x t) (specificallyDependsOnAt z y t))))) // axiom label in BFO2 CLIF: [076-001] + You may concretize a piece of software by installing it in your computer + You may concretize a recipe that you find in a cookbook by turning it into a plan which exists as a realizable dependent continuant in your head. + b concretizes c at t means: b is a specifically dependent continuant & c is a generically dependent continuant & for some independent continuant that is not a spatial region d, b s-depends_on d at t & c g-depends on d at t & if c migrates from bearer d to another bearer e than a copy of b will be created in e. (axiom label in BFO2 Reference: [075-002]) + concretizesAt + if b g-depends on c at some time t, then there is some d, such that d concretizes b at t and d s-depends_on c at t. (axiom label in BFO2 Reference: [076-001]) + you may concretize a poem as a pattern of memory traces in your head + + + + + if b g-depends on c at some time t, then there is some d, such that d concretizes b at t and d s-depends_on c at t. (axiom label in BFO2 Reference: [076-001]) + + + + + + (forall (x y t) (if (concretizesAt x y t) (and (SpecificallyDependentContinuant x) (GenericallyDependentContinuant y) (exists (z) (and (IndependentContinuant z) (specificallyDependsOnAt x z t) (genericallyDependsOnAt y z t)))))) // axiom label in BFO2 CLIF: [075-002] + + + + + + (forall (x y t) (if (genericallyDependsOnAt x y t) (exists (z) (and (concretizesAt z x t) (specificallyDependsOnAt z y t))))) // axiom label in BFO2 CLIF: [076-001] + + + + + + b concretizes c at t means: b is a specifically dependent continuant & c is a generically dependent continuant & for some independent continuant that is not a spatial region d, b s-depends_on d at t & c g-depends on d at t & if c migrates from bearer d to another bearer e than a copy of b will be created in e. (axiom label in BFO2 Reference: [075-002]) + + + + + + + + + + + concretized by at all times + concretized-by_at + + + + + + + + + + participates in at all times + participatesInAt + participates-in_at + + + + + + + + + + has participant at all times + BFO2 Reference: independent continuant that is not a spatial region, specifically dependent continuant, generically dependent continuant + BFO2 Reference: process + (forall (x y t) (if (and (hasParticipantAt x y t) (GenericallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (genericallyDependsOn y z t) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [091-003] + (forall (x y t) (if (hasParticipantAt x y t) (Occurrent x))) // axiom label in BFO2 CLIF: [087-001] + (forall (x y t) (if (and (hasParticipantAt x y t) (SpecificallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t) (specificallyDependsOnAt y z t))))) // axiom label in BFO2 CLIF: [090-003] + (forall (x y t) (if (hasParticipantAt x y t) (existsAt y t))) // axiom label in BFO2 CLIF: [089-001] + has-participant_at + (forall (x y t) (if (hasParticipantAt x y t) (Continuant y))) // axiom label in BFO2 CLIF: [088-001] + hasParticipantAt + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has participant at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has participant@en(x,y,t)'. + BFO 2 Reference: Spatial regions do not participate in processes. + has_participant is an instance-level relation between a process, a continuant, and a temporal region at which the continuant participates in some way in the process. (axiom label in BFO2 Reference: [086-003]) + if b has_participant c at t & c is a generically dependent continuant, then there is some independent continuant that is not a spatial region d, and which is such that c g-depends on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [091-003]) + if b has_participant c at t & c is a specifically dependent continuant, then there is some independent continuant that is not a spatial region d, c s-depends_on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [090-003]) + if b has_participant c at t then b is an occurrent. (axiom label in BFO2 Reference: [087-001]) + if b has_participant c at t then c exists at t. (axiom label in BFO2 Reference: [089-001]) + if b has_participant c at t then c is a continuant. (axiom label in BFO2 Reference: [088-001]) + + + + + + + + + + + + + + + + if b has_participant c at t & c is a generically dependent continuant, then there is some independent continuant that is not a spatial region d, and which is such that c g-depends on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [091-003]) + + + + + + (forall (x y t) (if (hasParticipantAt x y t) (Continuant y))) // axiom label in BFO2 CLIF: [088-001] + + + + + + if b has_participant c at t then b is an occurrent. (axiom label in BFO2 Reference: [087-001]) + + + + + + (forall (x y t) (if (hasParticipantAt x y t) (Occurrent x))) // axiom label in BFO2 CLIF: [087-001] + + + + + + (forall (x y t) (if (hasParticipantAt x y t) (existsAt y t))) // axiom label in BFO2 CLIF: [089-001] + + + + + + if b has_participant c at t then c exists at t. (axiom label in BFO2 Reference: [089-001]) + + + + + + has_participant is an instance-level relation between a process, a continuant, and a temporal region at which the continuant participates in some way in the process. (axiom label in BFO2 Reference: [086-003]) + + + + + + (forall (x y t) (if (and (hasParticipantAt x y t) (SpecificallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t) (specificallyDependsOnAt y z t))))) // axiom label in BFO2 CLIF: [090-003] + + + + + + if b has_participant c at t & c is a specifically dependent continuant, then there is some independent continuant that is not a spatial region d, c s-depends_on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [090-003]) + + + + + + if b has_participant c at t then c is a continuant. (axiom label in BFO2 Reference: [088-001]) + + + + + + (forall (x y t) (if (and (hasParticipantAt x y t) (GenericallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (genericallyDependsOn y z t) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [091-003] + + + + + + + + + + + has specific dependent at all times + has-s-dep_at + + + + + + + + + + specifically depends on at some time + s-depends-on_st + (forall (x y t) (if (and (Occurrent x) (IndependentContinuant y) (specificallyDependsOnAt x y t)) (forall (t_1) (if (existsAt x t_1) (specificallyDependsOnAt x y t_1))))) // axiom label in BFO2 CLIF: [015-002] + BFO2 Reference: specifically dependent continuant\; process; process boundary + (forall (x y t) (if (specificallyDependsOnAt x y t) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [136-001] + specificallyDependsOn + (forall (x y z t) (if (and (specificallyDependsOnAt x y t) (specificallyDependsOnAt y z t)) (specificallyDependsOnAt x z t))) // axiom label in BFO2 CLIF: [054-002] + (forall (x) (if (exists (y t) (specificallyDependsOnAt x y t)) (not (MaterialEntity x)))) // axiom label in BFO2 CLIF: [052-001] + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'specifically depends on at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'specifically depends on@en'(x,y,t) + (forall (x y t) (if (and (Entity x) (or (continuantPartOfAt y x t) (continuantPartOfAt x y t) (occurrentPartOf x y) (occurrentPartOf y x))) (not (specificallyDependsOnAt x y t)))) // axiom label in BFO2 CLIF: [013-002] + A pain s-depends_on the organism that is experiencing the pain + BFO 2 Reference: An entity – for example an act of communication or a game of football – can s-depends_on more than one entity. Complex phenomena for example in the psychological and social realms (such as inferring, commanding and requesting) or in the realm of multi-organismal biological processes (such as infection and resistance), will involve multiple families of dependence relations, involving both continuants and occurrents [1, 4, 28 + BFO 2 Reference: S-dependence is just one type of dependence among many; it is what, in the literature, is referred to as ‘existential dependence’ [87, 46, 65, 20 + BFO 2 Reference: the relation of s-depends_on does not in every case require simultaneous existence of its relata. Note the difference between such cases and the cases of continuant universals defined historically: the act of answering depends existentially on the prior act of questioning; the human being who was baptized or who answered a question does not himself depend existentially on the prior act of baptism or answering. He would still exist even if these acts had never taken place. + If b is s-depends_on something at some time, then b is not a material entity. (axiom label in BFO2 Reference: [052-001]) + If b s-depends_on something at t, then there is some c, which is an independent continuant and not a spatial region, such that b s-depends_on c at t. (axiom label in BFO2 Reference: [136-001]) + If occurrent b s-depends_on some independent continuant c at t, then b s-depends_on c at every time at which b exists. (axiom label in BFO2 Reference: [015-002]) + To say that b s-depends_on a at t is to say that b and c do not share common parts & b is of its nature such that it cannot exist unless c exists & b is not a boundary of c and b is not a site of which c is the host [64 + a gait s-depends_on the walking object. (All at some specific time.) + a shape s-depends_on the shaped object + an entity does not s-depend_on any of its (continuant or occurrent) parts or on anything it is part of. (axiom label in BFO2 Reference: [013-002]) + if b s-depends_on c at t & c s-depends_on d at t then b s-depends_on d at t. (axiom label in BFO2 Reference: [054-002]) + one-sided s-dependence of a dependent continuant on an independent continuant: an instance of headache s-depends_on some head + one-sided s-dependence of a dependent continuant on an independent continuant: an instance of temperature s-depends_on some organism + one-sided s-dependence of a process on something: a process of cell death s-depends_on a cell + one-sided s-dependence of a process on something: an instance of seeing (a relational process) s-depends_on some organism and on some seen entity, which may be an occurrent or a continuant + one-sided s-dependence of one occurrent on another: a process of answering a question is dependent on a prior process of asking a question + one-sided s-dependence of one occurrent on another: a process of obeying a command is dependent on a prior process of issuing a command + one-sided s-dependence of one occurrent on multiple independent continuants: a relational process of hitting a ball with a cricket bat + one-sided s-dependence of one occurrent on multiple independent continuants: a relational process of paying cash to a merchant in exchange for a bag of figs + reciprocal s-dependence between occurrents: a process of buying and the associated process of selling + reciprocal s-dependence between occurrents: a process of increasing the volume of a portion of gas while temperature remains constant and the associated process of decreasing the pressure exerted by the gas + reciprocal s-dependence between occurrents: in a game of chess the process of playing with the white pieces is mutually dependent on the process of playing with the black pieces + the one-sided dependence of an occurrent on an independent continuant: football match on the players, the ground, the ball + the one-sided dependence of an occurrent on an independent continuant: handwave on a hand + the three-sided reciprocal s-dependence of the hue, saturation and brightness of a color [45 + the three-sided reciprocal s-dependence of the pitch, timbre and volume of a tone [45 + the two-sided reciprocal s-dependence of the roles of husband and wife [20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + if b s-depends_on c at t & c s-depends_on d at t then b s-depends_on d at t. (axiom label in BFO2 Reference: [054-002]) + + + + + + (forall (x y t) (if (and (Occurrent x) (IndependentContinuant y) (specificallyDependsOnAt x y t)) (forall (t_1) (if (existsAt x t_1) (specificallyDependsOnAt x y t_1))))) // axiom label in BFO2 CLIF: [015-002] + + + + + + + + + + + + + + + + + + + + + + + + + + + (forall (x y t) (if (specificallyDependsOnAt x y t) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [136-001] + + + + + + (forall (x y t) (if (and (Entity x) (or (continuantPartOfAt y x t) (continuantPartOfAt x y t) (occurrentPartOf x y) (occurrentPartOf y x))) (not (specificallyDependsOnAt x y t)))) // axiom label in BFO2 CLIF: [013-002] + + + + + + (forall (x) (if (exists (y t) (specificallyDependsOnAt x y t)) (not (MaterialEntity x)))) // axiom label in BFO2 CLIF: [052-001] + + + + + + (forall (x y z t) (if (and (specificallyDependsOnAt x y t) (specificallyDependsOnAt y z t)) (specificallyDependsOnAt x z t))) // axiom label in BFO2 CLIF: [054-002] + + + + + + If b s-depends_on something at t, then there is some c, which is an independent continuant and not a spatial region, such that b s-depends_on c at t. (axiom label in BFO2 Reference: [136-001]) + + + + + + an entity does not s-depend_on any of its (continuant or occurrent) parts or on anything it is part of. (axiom label in BFO2 Reference: [013-002]) + + + + + + If occurrent b s-depends_on some independent continuant c at t, then b s-depends_on c at every time at which b exists. (axiom label in BFO2 Reference: [015-002]) + + + + + + If b is s-depends_on something at some time, then b is not a material entity. (axiom label in BFO2 Reference: [052-001]) + + + + + + + + + + + + has location at all times + has-location_at + + + + + + + + + + located in at some time + (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (locatedInAt x y t) (continuantPartOfAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [049-001] + BFO2 Reference: independent continuant + (forall (x y z t) (if (and (locatedInAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [046-001] + (iff (locatedInAt a b t) (and (IndependentContinuant a) (IndependentContinuant b) (exists (r_1 r_2) (and (occupiesSpatialRegionAt a r_1 t) (occupiesSpatialRegionAt b r_2 t) (continuantPartOfAt r_1 r_2 t))))) // axiom label in BFO2 CLIF: [045-001] + locatedInAt + located-in_st + (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (continuantPartOfAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [048-001] + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'located in at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'located in@en'(x,y,t) + Located_in is transitive. (axiom label in BFO2 Reference: [046-001]) + Mary located_in Salzburg + b located_in c at t = Def. b and c are independent continuants, and the region at which b is located at t is a (proper or improper) continuant_part_of the region at which c is located at t. (axiom label in BFO2 Reference: [045-001]) + for all independent continuants b, c, and d: if b continuant_part_of c at t & c located_in d at t, then b located_in d at t. (axiom label in BFO2 Reference: [048-001]) + for all independent continuants b, c, and d: if b located_in c at t & c continuant_part_of d at t, then b located_in d at t. (axiom label in BFO2 Reference: [049-001]) + the Empire State Building located_in New York. + this portion of cocaine located_in this portion of blood + this stem cell located_in this portion of bone marrow + your arm located_in your body + + + + + + + b located_in c at t = Def. b and c are independent continuants, and the region at which b is located at t is a (proper or improper) continuant_part_of the region at which c is located at t. (axiom label in BFO2 Reference: [045-001]) + + + + + + (forall (x y z t) (if (and (locatedInAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [046-001] + + + + + + (iff (locatedInAt a b t) (and (IndependentContinuant a) (IndependentContinuant b) (exists (r_1 r_2) (and (occupiesSpatialRegionAt a r_1 t) (occupiesSpatialRegionAt b r_2 t) (continuantPartOfAt r_1 r_2 t))))) // axiom label in BFO2 CLIF: [045-001] + + + + + + (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (locatedInAt x y t) (continuantPartOfAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [049-001] + + + + + + + + + + + + for all independent continuants b, c, and d: if b located_in c at t & c continuant_part_of d at t, then b located_in d at t. (axiom label in BFO2 Reference: [049-001]) + + + + + + Located_in is transitive. (axiom label in BFO2 Reference: [046-001]) + + + + + + for all independent continuants b, c, and d: if b continuant_part_of c at t & c located_in d at t, then b located_in d at t. (axiom label in BFO2 Reference: [048-001]) + + + + + + + + + + + + (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (continuantPartOfAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [048-001] + + + + + + + + + + + has member part at all times + has-member-part_at + + + + + + + + + + + + member part of at all times + BFO2 Reference: object + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'member part of at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'member part of@en(x,y,t)'. + memberPartOfAt + BFO2 Reference: object aggregate + member-part-of_at + (forall (x y t) (if (memberPartOfAt x y t) (continuantPartOfAt x y t))) // axiom label in BFO2 CLIF: [104-001] + b member_part_of c at t =Def. b is an object & there is at t a mutually exhaustive and pairwise disjoint partition of c into objects x1, …, xn (for some n &gt; 1) with b = xi for some 1 ≤ i ≤ n. (axiom label in BFO2 Reference: [026-004]) + each piece in a chess set is a member part of the chess set; each Beatle in the collection called The Beatles is a member part of The Beatles. + each tree in a forest is a member_part of the forest + if b member_part_of c at t then b continuant_part_of c at t. (axiom label in BFO2 Reference: [104-001]) + + + + + + + if b member_part_of c at t then b continuant_part_of c at t. (axiom label in BFO2 Reference: [104-001]) + + + + + + (forall (x y t) (if (memberPartOfAt x y t) (continuantPartOfAt x y t))) // axiom label in BFO2 CLIF: [104-001] + + + + + + b member_part_of c at t =Def. b is an object & there is at t a mutually exhaustive and pairwise disjoint partition of c into objects x1, …, xn (for some n &gt; 1) with b = xi for some 1 ≤ i ≤ n. (axiom label in BFO2 Reference: [026-004]) + + + + + + + + + + + has proper continuant part at some time + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has proper continuant part at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has proper continuant part@en'(x,y,t) + b has_proper_continuant_part c at t = Def. c proper_continuant_part_of b at t. [XXX-001 + c-has-ppart_st + [copied from inverse property 'proper part of continuant at some time'] b proper_continuant_part_of c at t =Def. b continuant_part_of c at t & b and c are not identical. (axiom label in BFO2 Reference: [004-001]) + hasProperContinuantPartAt + [copied from inverse property 'proper part of continuant at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'proper part of continuant at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'proper part of continuant@en'(x,y,t) + + + + + + + + + + + + + + + + + + + + + + + + proper part of continuant at some time + c-ppart-of_st + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'proper part of continuant at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'proper part of continuant@en'(x,y,t) + properContinuantPartOfAt + [copied from inverse property 'has proper continuant part at some time'] b has_proper_continuant_part c at t = Def. c proper_continuant_part_of b at t. [XXX-001 + [copied from inverse property 'has proper continuant part at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has proper continuant part at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has proper continuant part@en'(x,y,t) + (iff (properContinuantPartOfAt a b t) (and (continuantPartOfAt a b t) (not (= a b)))) // axiom label in BFO2 CLIF: [004-001] + b proper_continuant_part_of c at t =Def. b continuant_part_of c at t & b and c are not identical. (axiom label in BFO2 Reference: [004-001]) + + + + + + + + + + + + + + (iff (properContinuantPartOfAt a b t) (and (continuantPartOfAt a b t) (not (= a b)))) // axiom label in BFO2 CLIF: [004-001] + + + + + + b proper_continuant_part_of c at t =Def. b continuant_part_of c at t & b and c are not identical. (axiom label in BFO2 Reference: [004-001]) + + + + + + + + + + + + + + + + + part of continuant at some time + (forall (x y t) (if (and (continuantPartOfAt x y t) (not (= x y))) (exists (z) (and (continuantPartOfAt z y t) (not (exists (w) (and (continuantPartOfAt w x t) (continuantPartOfAt w z t)))))))) // axiom label in BFO2 CLIF: [121-001] + (forall (x y z t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y z t)) (continuantPartOfAt x z t))) // axiom label in BFO2 CLIF: [110-001] + continuantPartOfAt + (forall (x y t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y x t)) (= x y))) // axiom label in BFO2 CLIF: [120-001] + BFO2 Reference: continuantThe range for ‘t’ (as in all cases throughout this document unless otherwise specified) is: temporal region. + (forall (x y t) (if (and (continuantPartOfAt x y t) (IndependentContinuant x)) (locatedInAt x y t))) // axiom label in BFO2 CLIF: [047-002] + BFO2 Reference: continuant + (forall (x y t) (if (exists (v) (and (continuantPartOfAt v x t) (continuantPartOfAt v y t))) (exists (z) (forall (u w) (iff (iff (continuantPartOfAt w u t) (and (continuantPartOfAt w x t) (continuantPartOfAt w y t))) (= z u)))))) // axiom label in BFO2 CLIF: [122-001] + [copied from inverse property 'has continuant part at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has continuant part at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has continuant part@en'(x,y,t) + (forall (x t) (if (Continuant x) (continuantPartOfAt x x t))) // axiom label in BFO2 CLIF: [111-002] + (iff (ImmaterialEntity a) (and (IndependentContinuant a) (not (exists (b t) (and (MaterialEntity b) (continuantPartOfAt b a t)))))) // axiom label in BFO2 CLIF: [028-001] + [copied from inverse property 'has continuant part at some time'] b has_continuant_part c at t = Def. c continuant_part_of b at t. (axiom label in BFO2 Reference: [006-001]) + c-part-of_st + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'part of continuant at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'part of continuant@en'(x,y,t) + BFO 2 Reference: Immaterial entities are in some cases continuant parts of their material hosts. Thus the hold of a ship, for example, is a part of the ship; it may itself have parts, which may have names (used for example by ship stow planners, customs inspectors, and the like). Immaterial entities under both 1. and 2. can be of zero, one, two or three dimensions. We define:a(immaterial entity)[Definition: a is an immaterial entity = Def. a is an independent continuant that has no material entities as parts. (axiom label in BFO2 Reference: [028-001]) + BFO 2 Reference: a (continuant or occurrent) part of itself. We appreciate that this is counterintuitive for some users, since it implies for example that President Obama is a part of himself. However it brings benefits in simplifying the logical formalism, and it captures an important feature of identity, namely that it is the limit case of mereological inclusion. + Mary’s arm continuant_part_of Mary in the time of her life prior to her operation + b continuant_part_of c at t =Def. b is a part of c at t & t is a time & b and c are continuants. (axiom label in BFO2 Reference: [002-001]) + continuant_part_of is antisymmetric. (axiom label in BFO2 Reference: [120-001]) + continuant_part_of is reflexive (every continuant entity is a continuant_part_of itself). (axiom label in BFO2 Reference: [111-002]) + continuant_part_of is transitive. (axiom label in BFO2 Reference: [110-001]) + continuant_part_of satisfies unique product. (axiom label in BFO2 Reference: [122-001]) + continuant_part_of satisfies weak supplementation. (axiom label in BFO2 Reference: [121-001]) + if b continuant_part_of c at t and b is an independent continuant, then b is located_in c at t. (axiom label in BFO2 Reference: [047-002]) + the Northern hemisphere of the planet Earth is a part of the planet Earth at all times at which the planet Earth exists. + + + + + + + b continuant_part_of c at t =Def. b is a part of c at t & t is a time & b and c are continuants. (axiom label in BFO2 Reference: [002-001]) + + + + + + + + + + + + continuant_part_of is transitive. (axiom label in BFO2 Reference: [110-001]) + + + + + + (forall (x y t) (if (and (continuantPartOfAt x y t) (IndependentContinuant x)) (locatedInAt x y t))) // axiom label in BFO2 CLIF: [047-002] + + + + + + (forall (x y t) (if (and (continuantPartOfAt x y t) (not (= x y))) (exists (z) (and (continuantPartOfAt z y t) (not (exists (w) (and (continuantPartOfAt w x t) (continuantPartOfAt w z t)))))))) // axiom label in BFO2 CLIF: [121-001] + + + + + + if b continuant_part_of c at t and b is an independent continuant, then b is located_in c at t. (axiom label in BFO2 Reference: [047-002]) + + + + + + continuant_part_of satisfies unique product. (axiom label in BFO2 Reference: [122-001]) + + + + + + (forall (x t) (if (Continuant x) (continuantPartOfAt x x t))) // axiom label in BFO2 CLIF: [111-002] + + + + + + (iff (ImmaterialEntity a) (and (IndependentContinuant a) (not (exists (b t) (and (MaterialEntity b) (continuantPartOfAt b a t)))))) // axiom label in BFO2 CLIF: [028-001] + + + + + + + + + + + + continuant_part_of is antisymmetric. (axiom label in BFO2 Reference: [120-001]) + + + + + + BFO 2 Reference: Immaterial entities are in some cases continuant parts of their material hosts. Thus the hold of a ship, for example, is a part of the ship; it may itself have parts, which may have names (used for example by ship stow planners, customs inspectors, and the like). Immaterial entities under both 1. and 2. can be of zero, one, two or three dimensions. We define:a(immaterial entity)[Definition: a is an immaterial entity = Def. a is an independent continuant that has no material entities as parts. (axiom label in BFO2 Reference: [028-001]) + + + + + + (forall (x y z t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y z t)) (continuantPartOfAt x z t))) // axiom label in BFO2 CLIF: [110-001] + + + + + + (forall (x y t) (if (exists (v) (and (continuantPartOfAt v x t) (continuantPartOfAt v y t))) (exists (z) (forall (u w) (iff (iff (continuantPartOfAt w u t) (and (continuantPartOfAt w x t) (continuantPartOfAt w y t))) (= z u)))))) // axiom label in BFO2 CLIF: [122-001] + + + + + + continuant_part_of satisfies weak supplementation. (axiom label in BFO2 Reference: [121-001]) + + + + + + continuant_part_of is reflexive (every continuant entity is a continuant_part_of itself). (axiom label in BFO2 Reference: [111-002]) + + + + + + (forall (x y t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y x t)) (= x y))) // axiom label in BFO2 CLIF: [120-001] + + + + + + + + + + + + part of continuant at all times + (forall (x y t) (if (and (continuantPartOfAt x y t) (IndependentContinuant x)) (locatedInAt x y t))) // axiom label in BFO2 CLIF: [047-002] + (forall (x y t) (if (and (continuantPartOfAt x y t) (not (= x y))) (exists (z) (and (continuantPartOfAt z y t) (not (exists (w) (and (continuantPartOfAt w x t) (continuantPartOfAt w z t)))))))) // axiom label in BFO2 CLIF: [121-001] + BFO2 Reference: continuant + continuantPartOfAt + c-part-of_at + [copied from inverse property 'has continuant part at all times that part exists'] This is a binary version of a ternary time-indexed, instance level, relation. Unlike the rest of the temporalized relations which temporally quantify over existence of the subject of the relation, this relation temporally quantifies over the existence of the object of the relation. The relation is provided tentatively, to assess whether the GO needs such a relation. It is inverse of 'part of continuant at all times' + (forall (x y z t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y z t)) (continuantPartOfAt x z t))) // axiom label in BFO2 CLIF: [110-001] + (forall (x y t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y x t)) (= x y))) // axiom label in BFO2 CLIF: [120-001] + [copied from inverse property 'has continuant part at all times that part exists'] forall(t) exists_at(y,t) -> exists_at(x,t) and 'has continuant part'(x,y,t) + BFO2 Reference: continuantThe range for ‘t’ (as in all cases throughout this document unless otherwise specified) is: temporal region. + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'part of continuant at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'part of continuant@en(x,y,t)'. + (forall (x y t) (if (exists (v) (and (continuantPartOfAt v x t) (continuantPartOfAt v y t))) (exists (z) (forall (u w) (iff (iff (continuantPartOfAt w u t) (and (continuantPartOfAt w x t) (continuantPartOfAt w y t))) (= z u)))))) // axiom label in BFO2 CLIF: [122-001] + (forall (x t) (if (Continuant x) (continuantPartOfAt x x t))) // axiom label in BFO2 CLIF: [111-002] + (iff (ImmaterialEntity a) (and (IndependentContinuant a) (not (exists (b t) (and (MaterialEntity b) (continuantPartOfAt b a t)))))) // axiom label in BFO2 CLIF: [028-001] + BFO 2 Reference: Immaterial entities are in some cases continuant parts of their material hosts. Thus the hold of a ship, for example, is a part of the ship; it may itself have parts, which may have names (used for example by ship stow planners, customs inspectors, and the like). Immaterial entities under both 1. and 2. can be of zero, one, two or three dimensions. We define:a(immaterial entity)[Definition: a is an immaterial entity = Def. a is an independent continuant that has no material entities as parts. (axiom label in BFO2 Reference: [028-001]) + BFO 2 Reference: a (continuant or occurrent) part of itself. We appreciate that this is counterintuitive for some users, since it implies for example that President Obama is a part of himself. However it brings benefits in simplifying the logical formalism, and it captures an important feature of identity, namely that it is the limit case of mereological inclusion. + Mary’s arm continuant_part_of Mary in the time of her life prior to her operation + b continuant_part_of c at t =Def. b is a part of c at t & t is a time & b and c are continuants. (axiom label in BFO2 Reference: [002-001]) + continuant_part_of is antisymmetric. (axiom label in BFO2 Reference: [120-001]) + continuant_part_of is reflexive (every continuant entity is a continuant_part_of itself). (axiom label in BFO2 Reference: [111-002]) + continuant_part_of is transitive. (axiom label in BFO2 Reference: [110-001]) + continuant_part_of satisfies unique product. (axiom label in BFO2 Reference: [122-001]) + continuant_part_of satisfies weak supplementation. (axiom label in BFO2 Reference: [121-001]) + if b continuant_part_of c at t and b is an independent continuant, then b is located_in c at t. (axiom label in BFO2 Reference: [047-002]) + the Northern hemisphere of the planet Earth is a part of the planet Earth at all times at which the planet Earth exists. + + + + + b continuant_part_of c at t =Def. b is a part of c at t & t is a time & b and c are continuants. (axiom label in BFO2 Reference: [002-001]) + + + + + + (forall (x y t) (if (exists (v) (and (continuantPartOfAt v x t) (continuantPartOfAt v y t))) (exists (z) (forall (u w) (iff (iff (continuantPartOfAt w u t) (and (continuantPartOfAt w x t) (continuantPartOfAt w y t))) (= z u)))))) // axiom label in BFO2 CLIF: [122-001] + + + + + + (forall (x y t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y x t)) (= x y))) // axiom label in BFO2 CLIF: [120-001] + + + + + + (forall (x y z t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y z t)) (continuantPartOfAt x z t))) // axiom label in BFO2 CLIF: [110-001] + + + + + + (forall (x y t) (if (and (continuantPartOfAt x y t) (IndependentContinuant x)) (locatedInAt x y t))) // axiom label in BFO2 CLIF: [047-002] + + + + + + continuant_part_of is antisymmetric. (axiom label in BFO2 Reference: [120-001]) + + + + + + continuant_part_of satisfies unique product. (axiom label in BFO2 Reference: [122-001]) + + + + + + continuant_part_of is reflexive (every continuant entity is a continuant_part_of itself). (axiom label in BFO2 Reference: [111-002]) + + + + + + continuant_part_of satisfies weak supplementation. (axiom label in BFO2 Reference: [121-001]) + + + + + + (forall (x y t) (if (and (continuantPartOfAt x y t) (not (= x y))) (exists (z) (and (continuantPartOfAt z y t) (not (exists (w) (and (continuantPartOfAt w x t) (continuantPartOfAt w z t)))))))) // axiom label in BFO2 CLIF: [121-001] + + + + + + if b continuant_part_of c at t and b is an independent continuant, then b is located_in c at t. (axiom label in BFO2 Reference: [047-002]) + + + + + + BFO 2 Reference: Immaterial entities are in some cases continuant parts of their material hosts. Thus the hold of a ship, for example, is a part of the ship; it may itself have parts, which may have names (used for example by ship stow planners, customs inspectors, and the like). Immaterial entities under both 1. and 2. can be of zero, one, two or three dimensions. We define:a(immaterial entity)[Definition: a is an immaterial entity = Def. a is an independent continuant that has no material entities as parts. (axiom label in BFO2 Reference: [028-001]) + + + + + + (forall (x t) (if (Continuant x) (continuantPartOfAt x x t))) // axiom label in BFO2 CLIF: [111-002] + + + + + + + + + + + + continuant_part_of is transitive. (axiom label in BFO2 Reference: [110-001]) + + + + + + (iff (ImmaterialEntity a) (and (IndependentContinuant a) (not (exists (b t) (and (MaterialEntity b) (continuantPartOfAt b a t)))))) // axiom label in BFO2 CLIF: [028-001] + + + + + + + + + + + has continuant part at some time + c-has-part_st + [copied from inverse property 'part of continuant at some time'] BFO2 Reference: continuant + [copied from inverse property 'part of continuant at some time'] the Northern hemisphere of the planet Earth is a part of the planet Earth at all times at which the planet Earth exists. + [copied from inverse property 'part of continuant at some time'] b continuant_part_of c at t =Def. b is a part of c at t & t is a time & b and c are continuants. (axiom label in BFO2 Reference: [002-001]) + hasContinuantPartAt + [copied from inverse property 'part of continuant at some time'] Mary’s arm continuant_part_of Mary in the time of her life prior to her operation + [copied from inverse property 'part of continuant at some time'] BFO 2 Reference: a (continuant or occurrent) part of itself. We appreciate that this is counterintuitive for some users, since it implies for example that President Obama is a part of himself. However it brings benefits in simplifying the logical formalism, and it captures an important feature of identity, namely that it is the limit case of mereological inclusion. + Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has continuant part at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has continuant part@en'(x,y,t) + [copied from inverse property 'part of continuant at some time'] BFO 2 Reference: Immaterial entities are in some cases continuant parts of their material hosts. Thus the hold of a ship, for example, is a part of the ship; it may itself have parts, which may have names (used for example by ship stow planners, customs inspectors, and the like). Immaterial entities under both 1. and 2. can be of zero, one, two or three dimensions. We define:a(immaterial entity)[Definition: a is an immaterial entity = Def. a is an independent continuant that has no material entities as parts. (axiom label in BFO2 Reference: [028-001]) + [copied from inverse property 'part of continuant at some time'] BFO2 Reference: continuantThe range for ‘t’ (as in all cases throughout this document unless otherwise specified) is: temporal region. + (iff (hasContinuantPartAt a b t) (continuantPartOfAt b a t)) // axiom label in BFO2 CLIF: [006-001] + [copied from inverse property 'part of continuant at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'part of continuant at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'part of continuant@en'(x,y,t) + b has_continuant_part c at t = Def. c continuant_part_of b at t. (axiom label in BFO2 Reference: [006-001]) + + + + + + (iff (hasContinuantPartAt a b t) (continuantPartOfAt b a t)) // axiom label in BFO2 CLIF: [006-001] + + + + + + + + + + + + b has_continuant_part c at t = Def. c continuant_part_of b at t. (axiom label in BFO2 Reference: [006-001]) + + + + + + + + + + + + + + + + + + has proper temporal part + has-t-ppart + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + history of + [copied from inverse property 'has history'] b has_history c iff c history_of b [XXX-001 + b history_of c if c is a material entity or site and b is a history that is the unique history of cAxiom: if b history_of c and b history_of d then c=d [XXX-001 + historyOf + history-of + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + has history + [copied from inverse property 'history of'] b history_of c if c is a material entity or site and b is a history that is the unique history of cAxiom: if b history_of c and b history_of d then c=d [XXX-001 + hasHistory + has-history + b has_history c iff c history_of b [XXX-001 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + part of continuant at all times that whole exists + This is a binary version of a ternary time-indexed, instance level, relation. Unlike the rest of the temporalized relations which temporally quantify over existence of the subject of the relation, this relation temporally quantifies over the existence of the object of the relation. The relation is provided tentatively, to assess whether the GO needs such a relation. It is inverse of 'has continuant part at all times' + [copied from inverse property 'has continuant part at all times'] b has_continuant_part c at t = Def. c continuant_part_of b at t. (axiom label in BFO2 Reference: [006-001]) + forall(t) exists_at(y,t) -> exists_at(x,t) and 'part of continuant'(x,y,t) + [copied from inverse property 'has continuant part at all times'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has continuant part at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has continuant part@en(x,y,t)'. + c-part-of-object_at + + + + + + + + + + + + + + This is a binary version of a ternary time-indexed, instance level, relation. Unlike the rest of the temporalized relations which temporally quantify over existence of the subject of the relation, this relation temporally quantifies over the existence of the object of the relation. The relation is provided tentatively, to assess whether the GO needs such a relation. It is inverse of 'has continuant part at all times' + + + + + + + + + + + + + + + + + + forall(t) exists_at(y,t) -> exists_at(x,t) and 'part of continuant'(x,y,t) + + + + + + + + + + + + + + + + + + has continuant part at all times that part exists + [copied from inverse property 'part of continuant at all times'] BFO2 Reference: continuantThe range for ‘t’ (as in all cases throughout this document unless otherwise specified) is: temporal region. + [copied from inverse property 'part of continuant at all times'] BFO2 Reference: continuant + [copied from inverse property 'part of continuant at all times'] BFO 2 Reference: Immaterial entities are in some cases continuant parts of their material hosts. Thus the hold of a ship, for example, is a part of the ship; it may itself have parts, which may have names (used for example by ship stow planners, customs inspectors, and the like). Immaterial entities under both 1. and 2. can be of zero, one, two or three dimensions. We define:a(immaterial entity)[Definition: a is an immaterial entity = Def. a is an independent continuant that has no material entities as parts. (axiom label in BFO2 Reference: [028-001]) + [copied from inverse property 'part of continuant at all times'] BFO 2 Reference: a (continuant or occurrent) part of itself. We appreciate that this is counterintuitive for some users, since it implies for example that President Obama is a part of himself. However it brings benefits in simplifying the logical formalism, and it captures an important feature of identity, namely that it is the limit case of mereological inclusion. + [copied from inverse property 'part of continuant at all times'] b continuant_part_of c at t =Def. b is a part of c at t & t is a time & b and c are continuants. (axiom label in BFO2 Reference: [002-001]) + [copied from inverse property 'part of continuant at all times'] Mary’s arm continuant_part_of Mary in the time of her life prior to her operation + This is a binary version of a ternary time-indexed, instance level, relation. Unlike the rest of the temporalized relations which temporally quantify over existence of the subject of the relation, this relation temporally quantifies over the existence of the object of the relation. The relation is provided tentatively, to assess whether the GO needs such a relation. It is inverse of 'part of continuant at all times' + c-has-part-object_at + [copied from inverse property 'part of continuant at all times'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'part of continuant at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'part of continuant@en(x,y,t)'. + [copied from inverse property 'part of continuant at all times'] the Northern hemisphere of the planet Earth is a part of the planet Earth at all times at which the planet Earth exists. + forall(t) exists_at(y,t) -> exists_at(x,t) and 'has continuant part'(x,y,t) + + + + + + + + + + + + + + forall(t) exists_at(y,t) -> exists_at(x,t) and 'has continuant part'(x,y,t) + + + + + + + + + + + + This is a binary version of a ternary time-indexed, instance level, relation. Unlike the rest of the temporalized relations which temporally quantify over existence of the subject of the relation, this relation temporally quantifies over the existence of the object of the relation. The relation is provided tentatively, to assess whether the GO needs such a relation. It is inverse of 'part of continuant at all times' + + + + + + + + + + + + + + + + + + + + + + + + + + + + entity + + + + + + + An entity is anything that exists or has existed or will exist. (axiom label in BFO2 Reference: [001-001]) + Entity doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. For example Werner Ceusters 'portions of reality' include 4 sorts, entities (as BFO construes them), universals, configurations, and relations. It is an open question as to whether entities as construed in BFO will at some point also include these other portions of reality. See, for example, 'How to track absolutely everything' at http://www.referent-tracking.com/_RTU/papers/CeustersICbookRevised.pdf + Julius Caesar + entity + Entity + BFO 2 Reference: In all areas of empirical inquiry we encounter general terms of two sorts. First are general terms which refer to universals or types:animaltuberculosissurgical procedurediseaseSecond, are general terms used to refer to groups of entities which instantiate a given universal but do not correspond to the extension of any subuniversal of that universal because there is nothing intrinsic to the entities in question by virtue of which they – and only they – are counted as belonging to the given group. Examples are: animal purchased by the Emperortuberculosis diagnosed on a Wednesdaysurgical procedure performed on a patient from Stockholmperson identified as candidate for clinical trial #2056-555person who is signatory of Form 656-PPVpainting by Leonardo da VinciSuch terms, which represent what are called ‘specializations’ in [81 + Verdi’s Requiem + the Second World War + your body mass index + + + + per discussion with Barry Smith + Entity doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. For example Werner Ceusters 'portions of reality' include 4 sorts, entities (as BFO construes them), universals, configurations, and relations. It is an open question as to whether entities as construed in BFO will at some point also include these other portions of reality. See, for example, 'How to track absolutely everything' at http://www.referent-tracking.com/_RTU/papers/CeustersICbookRevised.pdf + + + + + + + + + + + + + + + + + + An entity is anything that exists or has existed or will exist. (axiom label in BFO2 Reference: [001-001]) + + + + + + + + + + + continuant + + + (forall (x) (if (Material Entity x) (exists (t) (and (TemporalRegion t) (existsAt x t))))) // axiom label in BFO2 CLIF: [011-002] + (forall (x) (if (Continuant x) (Entity x))) // axiom label in BFO2 CLIF: [008-002] + (forall (x y) (if (and (Continuant x) (exists (t) (continuantPartOfAt y x t))) (Continuant y))) // axiom label in BFO2 CLIF: [009-002] + Continuant + continuant + (forall (x y) (if (and (Continuant x) (exists (t) (hasContinuantPartOfAt y x t))) (Continuant y))) // axiom label in BFO2 CLIF: [126-001] + A continuant is an entity that persists, endures, or continues to exist through time while maintaining its identity. (axiom label in BFO2 Reference: [008-002]) + BFO 2 Reference: Continuant entities are entities which can be sliced to yield parts only along the spatial dimension, yielding for example the parts of your table which we call its legs, its top, its nails. ‘My desk stretches from the window to the door. It has spatial parts, and can be sliced (in space) in two. With respect to time, however, a thing is a continuant.’ [60, p. 240 + Continuant doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. For example, in an expansion involving bringing in some of Ceuster's other portions of reality, questions are raised as to whether universals are continuants + if b is a continuant and if, for some t, c has_continuant_part b at t, then c is a continuant. (axiom label in BFO2 Reference: [126-001]) + if b is a continuant and if, for some t, cis continuant_part of b at t, then c is a continuant. (axiom label in BFO2 Reference: [009-002]) + if b is a material entity, then there is some temporal interval (referred to below as a one-dimensional temporal region) during which b exists. (axiom label in BFO2 Reference: [011-002]) + + + + (forall (x) (if (Material Entity x) (exists (t) (and (TemporalRegion t) (existsAt x t))))) // axiom label in BFO2 CLIF: [011-002] + + + + + + if b is a material entity, then there is some temporal interval (referred to below as a one-dimensional temporal region) during which b exists. (axiom label in BFO2 Reference: [011-002]) + + + + + + if b is a continuant and if, for some t, c has_continuant_part b at t, then c is a continuant. (axiom label in BFO2 Reference: [126-001]) + + + + + + Continuant doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. For example, in an expansion involving bringing in some of Ceuster's other portions of reality, questions are raised as to whether universals are continuants + + + + + + A continuant is an entity that persists, endures, or continues to exist through time while maintaining its identity. (axiom label in BFO2 Reference: [008-002]) + + + + + + (forall (x) (if (Continuant x) (Entity x))) // axiom label in BFO2 CLIF: [008-002] + + + + + + if b is a continuant and if, for some t, cis continuant_part of b at t, then c is a continuant. (axiom label in BFO2 Reference: [009-002]) + + + + + + (forall (x y) (if (and (Continuant x) (exists (t) (hasContinuantPartOfAt y x t))) (Continuant y))) // axiom label in BFO2 CLIF: [126-001] + + + + + + (forall (x y) (if (and (Continuant x) (exists (t) (continuantPartOfAt y x t))) (Continuant y))) // axiom label in BFO2 CLIF: [009-002] + + + + + + + + + + + occurrent + + Occurrent + (forall (x) (iff (Occurrent x) (and (Entity x) (exists (y) (temporalPartOf y x))))) // axiom label in BFO2 CLIF: [079-001] + occurrent + (forall (x) (if (Occurrent x) (exists (r) (and (SpatioTemporalRegion r) (occupiesSpatioTemporalRegion x r))))) // axiom label in BFO2 CLIF: [108-001] + An occurrent is an entity that unfolds itself in time or it is the instantaneous boundary of such an entity (for example a beginning or an ending) or it is a temporal or spatiotemporal region which such an entity occupies_temporal_region or occupies_spatiotemporal_region. (axiom label in BFO2 Reference: [077-002]) + BFO 2 Reference: every occurrent that is not a temporal or spatiotemporal region is s-dependent on some independent continuant that is not a spatial region + BFO 2 Reference: s-dependence obtains between every process and its participants in the sense that, as a matter of necessity, this process could not have existed unless these or those participants existed also. A process may have a succession of participants at different phases of its unfolding. Thus there may be different players on the field at different times during the course of a football game; but the process which is the entire game s-depends_on all of these players nonetheless. Some temporal parts of this process will s-depend_on on only some of the players. + Every occurrent occupies_spatiotemporal_region some spatiotemporal region. (axiom label in BFO2 Reference: [108-001]) + Occurrent doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. An example would be the sum of a process and the process boundary of another process. + Simons uses different terminology for relations of occurrents to regions: Denote the spatio-temporal location of a given occurrent e by 'spn[e]' and call this region its span. We may say an occurrent is at its span, in any larger region, and covers any smaller region. Now suppose we have fixed a frame of reference so that we can speak not merely of spatio-temporal but also of spatial regions (places) and temporal regions (times). The spread of an occurrent, (relative to a frame of reference) is the space it exactly occupies, and its spell is likewise the time it exactly occupies. We write 'spr[e]' and `spl[e]' respectively for the spread and spell of e, omitting mention of the frame. + b is an occurrent entity iff b is an entity that has temporal parts. (axiom label in BFO2 Reference: [079-001]) + + + + Every occurrent occupies_spatiotemporal_region some spatiotemporal region. (axiom label in BFO2 Reference: [108-001]) + + + + + + An occurrent is an entity that unfolds itself in time or it is the instantaneous boundary of such an entity (for example a beginning or an ending) or it is a temporal or spatiotemporal region which such an entity occupies_temporal_region or occupies_spatiotemporal_region. (axiom label in BFO2 Reference: [077-002]) + + + + + + (forall (x) (iff (Occurrent x) (and (Entity x) (exists (y) (temporalPartOf y x))))) // axiom label in BFO2 CLIF: [079-001] + + + + + + (forall (x) (if (Occurrent x) (exists (r) (and (SpatioTemporalRegion r) (occupiesSpatioTemporalRegion x r))))) // axiom label in BFO2 CLIF: [108-001] + + + + + + Occurrent doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. An example would be the sum of a process and the process boundary of another process. + per discussion with Barry Smith + + + + + + Simons uses different terminology for relations of occurrents to regions: Denote the spatio-temporal location of a given occurrent e by 'spn[e]' and call this region its span. We may say an occurrent is at its span, in any larger region, and covers any smaller region. Now suppose we have fixed a frame of reference so that we can speak not merely of spatio-temporal but also of spatial regions (places) and temporal regions (times). The spread of an occurrent, (relative to a frame of reference) is the space it exactly occupies, and its spell is likewise the time it exactly occupies. We write 'spr[e]' and `spl[e]' respectively for the spread and spell of e, omitting mention of the frame. + + + + + + b is an occurrent entity iff b is an entity that has temporal parts. (axiom label in BFO2 Reference: [079-001]) + + + + + + + + + + + independent continuant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (forall (x t) (if (and (IndependentContinuant x) (existsAt x t)) (exists (y) (and (Entity y) (specificallyDependsOnAt y x t))))) // axiom label in BFO2 CLIF: [018-002] + (forall (x t) (if (IndependentContinuant x) (exists (r) (and (SpatialRegion r) (locatedInAt x r t))))) // axiom label in BFO2 CLIF: [134-001] + (iff (IndependentContinuant a) (and (Continuant a) (not (exists (b t) (specificallyDependsOnAt a b t))))) // axiom label in BFO2 CLIF: [017-002] + For any independent continuant b and any time t there is some spatial region r such that b is located_in r at t. (axiom label in BFO2 Reference: [134-001]) + For every independent continuant b and time t during the region of time spanned by its life, there are entities which s-depends_on b during t. (axiom label in BFO2 Reference: [018-002]) + ic + IndependentContinuant + a chair + a heart + a leg + a molecule + a spatial region + an atom + an orchestra. + an organism + b is an independent continuant = Def. b is a continuant which is such that there is no c and no t such that b s-depends_on c at t. (axiom label in BFO2 Reference: [017-002]) + the bottom right portion of a human torso + the interior of your mouth + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + For any independent continuant b and any time t there is some spatial region r such that b is located_in r at t. (axiom label in BFO2 Reference: [134-001]) + + + + + + (forall (x t) (if (and (IndependentContinuant x) (existsAt x t)) (exists (y) (and (Entity y) (specificallyDependsOnAt y x t))))) // axiom label in BFO2 CLIF: [018-002] + + + + + + (forall (x t) (if (IndependentContinuant x) (exists (r) (and (SpatialRegion r) (locatedInAt x r t))))) // axiom label in BFO2 CLIF: [134-001] + + + + + + b is an independent continuant = Def. b is a continuant which is such that there is no c and no t such that b s-depends_on c at t. (axiom label in BFO2 Reference: [017-002]) + + + + + + (iff (IndependentContinuant a) (and (Continuant a) (not (exists (b t) (specificallyDependsOnAt a b t))))) // axiom label in BFO2 CLIF: [017-002] + + + + + + For every independent continuant b and time t during the region of time spanned by its life, there are entities which s-depends_on b during t. (axiom label in BFO2 Reference: [018-002]) + + + + + + + + + + + + + + + + + + + + + + spatial region + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + (forall (x y t) (if (and (SpatialRegion x) (continuantPartOfAt y x t)) (SpatialRegion y))) // axiom label in BFO2 CLIF: [036-001] + SpatialRegion + (forall (x) (if (SpatialRegion x) (Continuant x))) // axiom label in BFO2 CLIF: [035-001] + s-region + A spatial region is a continuant entity that is a continuant_part_of spaceR as defined relative to some frame R. (axiom label in BFO2 Reference: [035-001]) + All continuant parts of spatial regions are spatial regions. (axiom label in BFO2 Reference: [036-001]) + BFO 2 Reference: Spatial regions do not participate in processes. + Spatial region doesn't have a closure axiom because the subclasses don't exhaust all possibilites. An example would be the union of a spatial point and a spatial line that doesn't overlap the point, or two spatial lines that intersect at a single point. In both cases the resultant spatial region is neither 0-dimensional, 1-dimensional, 2-dimensional, or 3-dimensional. + + + + + + + + + + + + + + + (forall (x) (if (SpatialRegion x) (Continuant x))) // axiom label in BFO2 CLIF: [035-001] + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + true + + + + + A spatial region is a continuant entity that is a continuant_part_of spaceR as defined relative to some frame R. (axiom label in BFO2 Reference: [035-001]) + + + + + + + + + + + + + + + + + (forall (x y t) (if (and (SpatialRegion x) (continuantPartOfAt y x t)) (SpatialRegion y))) // axiom label in BFO2 CLIF: [036-001] + + + + + + + + + + + + + + + + + All continuant parts of spatial regions are spatial regions. (axiom label in BFO2 Reference: [036-001]) + + + + + + Spatial region doesn't have a closure axiom because the subclasses don't exhaust all possibilites. An example would be the union of a spatial point and a spatial line that doesn't overlap the point, or two spatial lines that intersect at a single point. In both cases the resultant spatial region is neither 0-dimensional, 1-dimensional, 2-dimensional, or 3-dimensional. + per discussion with Barry Smith + + + + + + + + + + + temporal region + + + + + true + + + + + + + + + + + + + + + + + + true + + + (forall (x) (if (TemporalRegion x) (Occurrent x))) // axiom label in BFO2 CLIF: [100-001] + t-region + (forall (x y) (if (and (TemporalRegion x) (occurrentPartOf y x)) (TemporalRegion y))) // axiom label in BFO2 CLIF: [101-001] + (forall (r) (if (TemporalRegion r) (occupiesTemporalRegion r r))) // axiom label in BFO2 CLIF: [119-002] + A temporal region is an occurrent entity that is part of time as defined relative to some reference frame. (axiom label in BFO2 Reference: [100-001]) + All parts of temporal regions are temporal regions. (axiom label in BFO2 Reference: [101-001]) + Temporal region doesn't have a closure axiom because the subclasses don't exhaust all possibilites. An example would be the mereological sum of a temporal instant and a temporal interval that doesn't overlap the instant. In this case the resultant temporal region is neither 0-dimensional nor 1-dimensional + TemporalRegion + Every temporal region t is such that t occupies_temporal_region t. (axiom label in BFO2 Reference: [119-002]) + + + + All parts of temporal regions are temporal regions. (axiom label in BFO2 Reference: [101-001]) + + + + + + (forall (x y) (if (and (TemporalRegion x) (occurrentPartOf y x)) (TemporalRegion y))) // axiom label in BFO2 CLIF: [101-001] + + + + + + Every temporal region t is such that t occupies_temporal_region t. (axiom label in BFO2 Reference: [119-002]) + + + + + + (forall (x) (if (TemporalRegion x) (Occurrent x))) // axiom label in BFO2 CLIF: [100-001] + + + + + + + + + + + + + + + + + per discussion with Barry Smith + Temporal region doesn't have a closure axiom because the subclasses don't exhaust all possibilites. An example would be the mereological sum of a temporal instant and a temporal interval that doesn't overlap the instant. In this case the resultant temporal region is neither 0-dimensional nor 1-dimensional + + + + + + + + + + + + true + + + + + + + + + + + true + + + + + (forall (r) (if (TemporalRegion r) (occupiesTemporalRegion r r))) // axiom label in BFO2 CLIF: [119-002] + + + + + + + + + + + + + + + + + A temporal region is an occurrent entity that is part of time as defined relative to some reference frame. (axiom label in BFO2 Reference: [100-001]) + + + + + + + + + + + two-dimensional spatial region + + + + + + + + + + + + + + + + + + + + + + (forall (x) (if (TwoDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [039-001] + TwoDimensionalSpatialRegion + 2d-s-region + A two-dimensional spatial region is a spatial region that is of two dimensions. (axiom label in BFO2 Reference: [039-001]) + an infinitely thin plane in space. + the surface of a sphere-shaped part of space + + + + + + + + + + + + + + + + + + + A two-dimensional spatial region is a spatial region that is of two dimensions. (axiom label in BFO2 Reference: [039-001]) + + + + + + (forall (x) (if (TwoDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [039-001] + + + + + + + + + + + + + + + + + + + + + + + + + + spatiotemporal region + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + true + + + + + + + + + (forall (r) (if (SpatioTemporalRegion r) (occupiesSpatioTemporalRegion r r))) // axiom label in BFO2 CLIF: [107-002] + (forall (x) (if (SpatioTemporalRegion x) (Occurrent x))) // axiom label in BFO2 CLIF: [095-001] + (forall (x) (if (SpatioTemporalRegion x) (exists (y) (and (TemporalRegion y) (temporallyProjectsOnto x y))))) // axiom label in BFO2 CLIF: [098-001] + (forall (x y) (if (and (SpatioTemporalRegion x) (occurrentPartOf y x)) (SpatioTemporalRegion y))) // axiom label in BFO2 CLIF: [096-001] + (forall (x t) (if (SpatioTemporalRegion x) (exists (y) (and (SpatialRegion y) (spatiallyProjectsOntoAt x y t))))) // axiom label in BFO2 CLIF: [099-001] + All parts of spatiotemporal regions are spatiotemporal regions. (axiom label in BFO2 Reference: [096-001]) + Each spatiotemporal region at any time t projects_onto some spatial region at t. (axiom label in BFO2 Reference: [099-001]) + Each spatiotemporal region projects_onto some temporal region. (axiom label in BFO2 Reference: [098-001]) + Every spatiotemporal region occupies_spatiotemporal_region itself. + Every spatiotemporal region s is such that s occupies_spatiotemporal_region s. (axiom label in BFO2 Reference: [107-002]) + SpatiotemporalRegion + st-region + A spatiotemporal region is an occurrent entity that is part of spacetime. (axiom label in BFO2 Reference: [095-001]) + the spatiotemporal region occupied by a human life + the spatiotemporal region occupied by a process of cellular meiosis. + the spatiotemporal region occupied by the development of a cancer tumor + + + + Each spatiotemporal region at any time t projects_onto some spatial region at t. (axiom label in BFO2 Reference: [099-001]) + + + + + + (forall (x y) (if (and (SpatioTemporalRegion x) (occurrentPartOf y x)) (SpatioTemporalRegion y))) // axiom label in BFO2 CLIF: [096-001] + + + + + + A spatiotemporal region is an occurrent entity that is part of spacetime. (axiom label in BFO2 Reference: [095-001]) + + + + + + + + + + + + true + + + + + Each spatiotemporal region projects_onto some temporal region. (axiom label in BFO2 Reference: [098-001]) + + + + + + All parts of spatiotemporal regions are spatiotemporal regions. (axiom label in BFO2 Reference: [096-001]) + + + + + + (forall (x t) (if (SpatioTemporalRegion x) (exists (y) (and (SpatialRegion y) (spatiallyProjectsOntoAt x y t))))) // axiom label in BFO2 CLIF: [099-001] + + + + + + + + + + + + + + + + + (forall (x) (if (SpatioTemporalRegion x) (exists (y) (and (TemporalRegion y) (temporallyProjectsOnto x y))))) // axiom label in BFO2 CLIF: [098-001] + + + + + + (forall (x) (if (SpatioTemporalRegion x) (Occurrent x))) // axiom label in BFO2 CLIF: [095-001] + + + + + + Every spatiotemporal region s is such that s occupies_spatiotemporal_region s. (axiom label in BFO2 Reference: [107-002]) + + + + + + + + + + + + + + + + + (forall (r) (if (SpatioTemporalRegion r) (occupiesSpatioTemporalRegion r r))) // axiom label in BFO2 CLIF: [107-002] + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + process + + + + + + + + + + + + + + + + + + + + + + + + + + + process + Process + (iff (Process a) (and (Occurrent a) (exists (b) (properTemporalPartOf b a)) (exists (c t) (and (MaterialEntity c) (specificallyDependsOnAt a c t))))) // axiom label in BFO2 CLIF: [083-003] + BFO 2 Reference: The realm of occurrents is less pervasively marked by the presence of natural units than is the case in the realm of independent continuants. Thus there is here no counterpart of ‘object’. In BFO 1.0 ‘process’ served as such a counterpart. In BFO 2.0 ‘process’ is, rather, the occurrent counterpart of ‘material entity’. Those natural – as contrasted with engineered, which here means: deliberately executed – units which do exist in the realm of occurrents are typically either parasitic on the existence of natural units on the continuant side, or they are fiat in nature. Thus we can count lives; we can count football games; we can count chemical reactions performed in experiments or in chemical manufacturing. We cannot count the processes taking place, for instance, in an episode of insect mating behavior.Even where natural units are identifiable, for example cycles in a cyclical process such as the beating of a heart or an organism’s sleep/wake cycle, the processes in question form a sequence with no discontinuities (temporal gaps) of the sort that we find for instance where billiard balls or zebrafish or planets are separated by clear spatial gaps. Lives of organisms are process units, but they too unfold in a continuous series from other, prior processes such as fertilization, and they unfold in turn in continuous series of post-life processes such as post-mortem decay. Clear examples of boundaries of processes are almost always of the fiat sort (midnight, a time of death as declared in an operating theater or on a death certificate, the initiation of a state of war) + a process of cell-division, \ a beating of the heart + a process of meiosis + a process of sleeping + p is a process = Def. p is an occurrent that has temporal proper parts and for some time t, p s-depends_on some material entity at t. (axiom label in BFO2 Reference: [083-003]) + the course of a disease + the flight of a bird + the life of an organism + your process of aging. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (iff (Process a) (and (Occurrent a) (exists (b) (properTemporalPartOf b a)) (exists (c t) (and (MaterialEntity c) (specificallyDependsOnAt a c t))))) // axiom label in BFO2 CLIF: [083-003] + + + + + + p is a process = Def. p is an occurrent that has temporal proper parts and for some time t, p s-depends_on some material entity at t. (axiom label in BFO2 Reference: [083-003]) + + + + + + + + + + + disposition + + + + + + + + + + + + + + + + + + + + + + + disposition + Disposition + (forall (x t) (if (and (RealizableEntity x) (existsAt x t)) (exists (y) (and (MaterialEntity y) (specificallyDepends x y t))))) // axiom label in BFO2 CLIF: [063-002] + (forall (x) (if (Disposition x) (and (RealizableEntity x) (exists (y) (and (MaterialEntity y) (bearerOfAt x y t)))))) // axiom label in BFO2 CLIF: [062-002] + BFO 2 Reference: Dispositions exist along a strength continuum. Weaker forms of disposition are realized in only a fraction of triggering cases. These forms occur in a significant number of cases of a similar type [89 + If b is a realizable entity then for all t at which b exists, b s-depends_on some material entity at t. (axiom label in BFO2 Reference: [063-002]) + an atom of element X has the disposition to decay to an atom of element Y + b is a disposition means: b is a realizable entity & b’s bearer is some material entity & b is such that if it ceases to exist, then its bearer is physically changed, & b’s realization occurs when and because this bearer is in some special physical circumstances, & this realization occurs in virtue of the bearer’s physical make-up. (axiom label in BFO2 Reference: [062-002]) + certain people have a predisposition to colon cancer + children are innately disposed to categorize objects in certain ways. + the cell wall is disposed to filter chemicals in endocitosis and exocitosis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + b is a disposition means: b is a realizable entity & b’s bearer is some material entity & b is such that if it ceases to exist, then its bearer is physically changed, & b’s realization occurs when and because this bearer is in some special physical circumstances, & this realization occurs in virtue of the bearer’s physical make-up. (axiom label in BFO2 Reference: [062-002]) + + + + + + (forall (x) (if (Disposition x) (and (RealizableEntity x) (exists (y) (and (MaterialEntity y) (bearerOfAt x y t)))))) // axiom label in BFO2 CLIF: [062-002] + + + + + + If b is a realizable entity then for all t at which b exists, b s-depends_on some material entity at t. (axiom label in BFO2 Reference: [063-002]) + + + + + + (forall (x t) (if (and (RealizableEntity x) (existsAt x t)) (exists (y) (and (MaterialEntity y) (specificallyDepends x y t))))) // axiom label in BFO2 CLIF: [063-002] + + + + + + + + + + + realizable entity + + + + + + + + + + + + + + + + + + + + + + + (forall (x t) (if (RealizableEntity x) (exists (y) (and (IndependentContinuant y) (not (SpatialRegion y)) (bearerOfAt y x t))))) // axiom label in BFO2 CLIF: [060-002] + (forall (x) (if (RealizableEntity x) (and (SpecificallyDependentContinuant x) (exists (y) (and (IndependentContinuant y) (not (SpatialRegion y)) (inheresIn x y)))))) // axiom label in BFO2 CLIF: [058-002] + RealizableEntity + All realizable dependent continuants have independent continuants that are not spatial regions as their bearers. (axiom label in BFO2 Reference: [060-002]) + To say that b is a realizable entity is to say that b is a specifically dependent continuant that inheres in some independent continuant which is not a spatial region and is of a type instances of which are realized in processes of a correlated type. (axiom label in BFO2 Reference: [058-002]) + realizable + the disposition of this piece of metal to conduct electricity. + the disposition of your blood to coagulate + the function of your reproductive organs + the role of being a doctor + the role of this boundary to delineate where Utah and Colorado meet + + + + All realizable dependent continuants have independent continuants that are not spatial regions as their bearers. (axiom label in BFO2 Reference: [060-002]) + + + + + + + + + + + + + + + + + + + + + To say that b is a realizable entity is to say that b is a specifically dependent continuant that inheres in some independent continuant which is not a spatial region and is of a type instances of which are realized in processes of a correlated type. (axiom label in BFO2 Reference: [058-002]) + + + + + + + + + + + + + + + + + + + + + (forall (x) (if (RealizableEntity x) (and (SpecificallyDependentContinuant x) (exists (y) (and (IndependentContinuant y) (not (SpatialRegion y)) (inheresIn x y)))))) // axiom label in BFO2 CLIF: [058-002] + + + + + + (forall (x t) (if (RealizableEntity x) (exists (y) (and (IndependentContinuant y) (not (SpatialRegion y)) (bearerOfAt y x t))))) // axiom label in BFO2 CLIF: [060-002] + + + + + + + + + + + zero-dimensional spatial region + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ZeroDimensionalSpatialRegion + (forall (x) (if (ZeroDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [037-001] + 0d-s-region + A zero-dimensional spatial region is a point in space. (axiom label in BFO2 Reference: [037-001]) + + + + + + + + + + + + + + + + + + + + + + + + + + + A zero-dimensional spatial region is a point in space. (axiom label in BFO2 Reference: [037-001]) + + + + + + (forall (x) (if (ZeroDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [037-001] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + quality + + + + + + + + + + + + + + + + + + + + + + (forall (x) (if (exists (t) (and (existsAt x t) (Quality x))) (forall (t_1) (if (existsAt x t_1) (Quality x))))) // axiom label in BFO2 CLIF: [105-001] + Quality + (forall (x) (if (Quality x) (SpecificallyDependentContinuant x))) // axiom label in BFO2 CLIF: [055-001] + quality + If an entity is a quality at any time that it exists, then it is a quality at every time that it exists. (axiom label in BFO2 Reference: [105-001]) + a quality is a specifically dependent continuant that, in contrast to roles and dispositions, does not require any further process in order to be realized. (axiom label in BFO2 Reference: [055-001]) + the ambient temperature of this portion of air + the color of a tomato + the length of the circumference of your waist + the mass of this piece of gold. + the shape of your nose + the shape of your nostril + + + + (forall (x) (if (Quality x) (SpecificallyDependentContinuant x))) // axiom label in BFO2 CLIF: [055-001] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a quality is a specifically dependent continuant that, in contrast to roles and dispositions, does not require any further process in order to be realized. (axiom label in BFO2 Reference: [055-001]) + + + + + + (forall (x) (if (exists (t) (and (existsAt x t) (Quality x))) (forall (t_1) (if (existsAt x t_1) (Quality x))))) // axiom label in BFO2 CLIF: [105-001] + + + + + + If an entity is a quality at any time that it exists, then it is a quality at every time that it exists. (axiom label in BFO2 Reference: [105-001]) + + + + + + + + + + + specifically dependent continuant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (iff (SpecificallyDependentContinuant a) (and (Continuant a) (forall (t) (if (existsAt a t) (exists (b) (and (IndependentContinuant b) (not (SpatialRegion b)) (specificallyDependsOnAt a b t))))))) // axiom label in BFO2 CLIF: [050-003] + sdc + (iff (RelationalSpecificallyDependentContinuant a) (and (SpecificallyDependentContinuant a) (forall (t) (exists (b c) (and (not (SpatialRegion b)) (not (SpatialRegion c)) (not (= b c)) (not (exists (d) (and (continuantPartOfAt d b t) (continuantPartOfAt d c t)))) (specificallyDependsOnAt a b t) (specificallyDependsOnAt a c t)))))) // axiom label in BFO2 CLIF: [131-004] + Reciprocal specifically dependent continuants: the function of this key to open this lock and the mutually dependent disposition of this lock: to be opened by this key + Specifically dependent continuant doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. We're not sure what else will develop here, but for example there are questions such as what are promises, obligation, etc. + SpecificallyDependentContinuant + b is a relational specifically dependent continuant = Def. b is a specifically dependent continuant and there are n &gt; 1 independent continuants c1, … cn which are not spatial regions are such that for all 1 i &lt; j n, ci and cj share no common parts, are such that for each 1 i n, b s-depends_on ci at every time t during the course of b’s existence (axiom label in BFO2 Reference: [131-004]) + b is a specifically dependent continuant = Def. b is a continuant & there is some independent continuant c which is not a spatial region and which is such that b s-depends_on c at every time t during the course of b’s existence. (axiom label in BFO2 Reference: [050-003]) + of one-sided specifically dependent continuants: the mass of this tomato + of relational dependent continuants (multiple bearers): John’s love for Mary, the ownership relation between John and this statue, the relation of authority between John and his subordinates. + the disposition of this fish to decay + the function of this heart: to pump blood + the mutual dependence of proton donors and acceptors in chemical reactions [79 + the mutual dependence of the role predator and the role prey as played by two organisms in a given interaction + the pink color of a medium rare piece of grilled filet mignon at its center + the role of being a doctor + the shape of this hole. + the smell of this portion of mozzarella + + + + (iff (RelationalSpecificallyDependentContinuant a) (and (SpecificallyDependentContinuant a) (forall (t) (exists (b c) (and (not (SpatialRegion b)) (not (SpatialRegion c)) (not (= b c)) (not (exists (d) (and (continuantPartOfAt d b t) (continuantPartOfAt d c t)))) (specificallyDependsOnAt a b t) (specificallyDependsOnAt a c t)))))) // axiom label in BFO2 CLIF: [131-004] + + + + + + + + + + + + + + + + + + + + + + + + + + + + b is a relational specifically dependent continuant = Def. b is a specifically dependent continuant and there are n &gt; 1 independent continuants c1, … cn which are not spatial regions are such that for all 1 i &lt; j n, ci and cj share no common parts, are such that for each 1 i n, b s-depends_on ci at every time t during the course of b’s existence (axiom label in BFO2 Reference: [131-004]) + + + + + + b is a specifically dependent continuant = Def. b is a continuant & there is some independent continuant c which is not a spatial region and which is such that b s-depends_on c at every time t during the course of b’s existence. (axiom label in BFO2 Reference: [050-003]) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifically dependent continuant doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. We're not sure what else will develop here, but for example there are questions such as what are promises, obligation, etc. + per discussion with Barry Smith + + + + + + (iff (SpecificallyDependentContinuant a) (and (Continuant a) (forall (t) (if (existsAt a t) (exists (b) (and (IndependentContinuant b) (not (SpatialRegion b)) (specificallyDependsOnAt a b t))))))) // axiom label in BFO2 CLIF: [050-003] + + + + + + + + + + + role + + + + + + + + + + + + + + + + + + + + + + role + (forall (x) (if (Role x) (RealizableEntity x))) // axiom label in BFO2 CLIF: [061-001] + BFO 2 Reference: One major family of examples of non-rigid universals involves roles, and ontologies developed for corresponding administrative purposes may consist entirely of representatives of entities of this sort. Thus ‘professor’, defined as follows,b instance_of professor at t =Def. there is some c, c instance_of professor role & c inheres_in b at t.denotes a non-rigid universal and so also do ‘nurse’, ‘student’, ‘colonel’, ‘taxpayer’, and so forth. (These terms are all, in the jargon of philosophy, phase sortals.) By using role terms in definitions, we can create a BFO conformant treatment of such entities drawing on the fact that, while an instance of professor may be simultaneously an instance of trade union member, no instance of the type professor role is also (at any time) an instance of the type trade union member role (any more than any instance of the type color is at any time an instance of the type length).If an ontology of employment positions should be defined in terms of roles following the above pattern, this enables the ontology to do justice to the fact that individuals instantiate the corresponding universals – professor, sergeant, nurse – only during certain phases in their lives. + John’s role of husband to Mary is dependent on Mary’s role of wife to John, and both are dependent on the object aggregate comprising John and Mary as member parts joined together through the relational quality of being married. + Role + b is a role means: b is a realizable entity & b exists because there is some single bearer that is in some special physical, social, or institutional set of circumstances in which this bearer does not have to be& b is not such that, if it ceases to exist, then the physical make-up of the bearer is thereby changed. (axiom label in BFO2 Reference: [061-001]) + the priest role + the role of a boundary to demarcate two neighboring administrative territories + the role of a building in serving as a military target + the role of a stone in marking a property boundary + the role of subject in a clinical trial + the student role + + + + + + + + + + + + + + + + + + + (forall (x) (if (Role x) (RealizableEntity x))) // axiom label in BFO2 CLIF: [061-001] + + + + + + + + + + + + + + + + + + + + + b is a role means: b is a realizable entity & b exists because there is some single bearer that is in some special physical, social, or institutional set of circumstances in which this bearer does not have to be& b is not such that, if it ceases to exist, then the physical make-up of the bearer is thereby changed. (axiom label in BFO2 Reference: [061-001]) + + + + + + + + + + + fiat object + + (forall (x) (if (FiatObjectPart x) (and (MaterialEntity x) (forall (t) (if (existsAt x t) (exists (y) (and (Object y) (properContinuantPartOfAt x y t)))))))) // axiom label in BFO2 CLIF: [027-004] + BFO 2 Reference: Most examples of fiat object parts are associated with theoretically drawn divisions + FiatObjectPart + b is a fiat object part = Def. b is a material entity which is such that for all times t, if b exists at t then there is some object c such that b proper continuant_part of c at t and c is demarcated from the remainder of c by a two-dimensional continuant fiat boundary. (axiom label in BFO2 Reference: [027-004]) + fiat-object + or with divisions drawn by cognitive subjects for practical reasons, such as the division of a cake (before slicing) into (what will become) slices (and thus member parts of an object aggregate). However, this does not mean that fiat object parts are dependent for their existence on divisions or delineations effected by cognitive subjects. If, for example, it is correct to conceive geological layers of the Earth as fiat object parts of the Earth, then even though these layers were first delineated in recent times, still existed long before such delineation and what holds of these layers (for example that the oldest layers are also the lowest layers) did not begin to hold because of our acts of delineation.Treatment of material entity in BFOExamples viewed by some as problematic cases for the trichotomy of fiat object part, object, and object aggregate include: a mussel on (and attached to) a rock, a slime mold, a pizza, a cloud, a galaxy, a railway train with engine and multiple carriages, a clonal stand of quaking aspen, a bacterial community (biofilm), a broken femur. Note that, as Aristotle already clearly recognized, such problematic cases – which lie at or near the penumbra of instances defined by the categories in question – need not invalidate these categories. The existence of grey objects does not prove that there are not objects which are black and objects which are white; the existence of mules does not prove that there are not objects which are donkeys and objects which are horses. It does, however, show that the examples in question need to be addressed carefully in order to show how they can be fitted into the proposed scheme, for example by recognizing additional subdivisions [29 + the FMA:regional parts of an intact human body. + the Western hemisphere of the Earth + the division of the brain into regions + the division of the planet into hemispheres + the dorsal and ventral surfaces of the body + the upper and lower lobes of the left lung + + + + (forall (x) (if (FiatObjectPart x) (and (MaterialEntity x) (forall (t) (if (existsAt x t) (exists (y) (and (Object y) (properContinuantPartOfAt x y t)))))))) // axiom label in BFO2 CLIF: [027-004] + + + + + + b is a fiat object part = Def. b is a material entity which is such that for all times t, if b exists at t then there is some object c such that b proper continuant_part of c at t and c is demarcated from the remainder of c by a two-dimensional continuant fiat boundary. (axiom label in BFO2 Reference: [027-004]) + + + + + + + + + + + one-dimensional spatial region + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (forall (x) (if (OneDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [038-001] + OneDimensionalSpatialRegion + 1d-s-region + A one-dimensional spatial region is a line or aggregate of lines stretching from one point in space to another. (axiom label in BFO2 Reference: [038-001]) + an edge of a cube-shaped portion of space. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A one-dimensional spatial region is a line or aggregate of lines stretching from one point in space to another. (axiom label in BFO2 Reference: [038-001]) + + + + + + (forall (x) (if (OneDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [038-001] + + + + + + + + + + + object aggregate + + object-aggregate + ObjectAggregate + ISBN:978-3-938793-98-5pp124-158#Thomas Bittner and Barry Smith, 'A Theory of Granular Partitions', in K. Munn and B. Smith (eds.), Applied Ontology: An Introduction, Frankfurt/Lancaster: ontos, 2008, 125-158. + (forall (x) (if (ObjectAggregate x) (and (MaterialEntity x) (forall (t) (if (existsAt x t) (exists (y z) (and (Object y) (Object z) (memberPartOfAt y x t) (memberPartOfAt z x t) (not (= y z)))))) (not (exists (w t_1) (and (memberPartOfAt w x t_1) (not (Object w)))))))) // axiom label in BFO2 CLIF: [025-004] + An entity a is an object aggregate if and only if there is a mutually exhaustive and pairwise disjoint partition of a into objects + BFO 2 Reference: object aggregates may gain and lose parts while remaining numerically identical (one and the same individual) over time. This holds both for aggregates whose membership is determined naturally (the aggregate of cells in your body) and aggregates determined by fiat (a baseball team, a congressional committee). + a collection of cells in a blood biobank. + a swarm of bees is an aggregate of members who are linked together through natural bonds + a symphony orchestra + an organization is an aggregate whose member parts have roles of specific types (for example in a jazz band, a chess club, a football team) + b is an object aggregate means: b is a material entity consisting exactly of a plurality of objects as member_parts at all times at which b exists. (axiom label in BFO2 Reference: [025-004]) + defined by fiat: the aggregate of members of an organization + defined through physical attachment: the aggregate of atoms in a lump of granite + defined through physical containment: the aggregate of molecules of carbon dioxide in a sealed container + defined via attributive delimitations such as: the patients in this hospital + the aggregate of bearings in a constant velocity axle joint + the aggregate of blood cells in your body + the nitrogen atoms in the atmosphere + the restaurants in Palo Alto + your collection of Meissen ceramic plates. + + + + b is an object aggregate means: b is a material entity consisting exactly of a plurality of objects as member_parts at all times at which b exists. (axiom label in BFO2 Reference: [025-004]) + + + + + + An entity a is an object aggregate if and only if there is a mutually exhaustive and pairwise disjoint partition of a into objects + + + + + + ISBN:978-3-938793-98-5pp124-158#Thomas Bittner and Barry Smith, 'A Theory of Granular Partitions', in K. Munn and B. Smith (eds.), Applied Ontology: An Introduction, Frankfurt/Lancaster: ontos, 2008, 125-158. + + + + + + An entity a is an object aggregate if and only if there is a mutually exhaustive and pairwise disjoint partition of a into objects + + + + + + (forall (x) (if (ObjectAggregate x) (and (MaterialEntity x) (forall (t) (if (existsAt x t) (exists (y z) (and (Object y) (Object z) (memberPartOfAt y x t) (memberPartOfAt z x t) (not (= y z)))))) (not (exists (w t_1) (and (memberPartOfAt w x t_1) (not (Object w)))))))) // axiom label in BFO2 CLIF: [025-004] + + + + + + + + + + + three-dimensional spatial region + + (forall (x) (if (ThreeDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [040-001] + 3d-s-region + ThreeDimensionalSpatialRegion + A three-dimensional spatial region is a spatial region that is of three dimensions. (axiom label in BFO2 Reference: [040-001]) + a cube-shaped region of space + a sphere-shaped region of space, + + + + A three-dimensional spatial region is a spatial region that is of three dimensions. (axiom label in BFO2 Reference: [040-001]) + + + + + + (forall (x) (if (ThreeDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [040-001] + + + + + + + + + + + site + + Site + (forall (x) (if (Site x) (ImmaterialEntity x))) // axiom label in BFO2 CLIF: [034-002] + a hole in the interior of a portion of cheese + a rabbit hole + an air traffic control region defined in the airspace above an airport + b is a site means: b is a three-dimensional immaterial entity that is (partially or wholly) bounded by a material entity or it is a three-dimensional immaterial part thereof. (axiom label in BFO2 Reference: [034-002]) + site + Manhattan Canyon) + the Grand Canyon + the Piazza San Marco + the cockpit of an aircraft + the hold of a ship + the interior of a kangaroo pouch + the interior of the trunk of your car + the interior of your bedroom + the interior of your office + the interior of your refrigerator + the lumen of your gut + your left nostril (a fiat part – the opening – of your left nasal cavity) + + + + b is a site means: b is a three-dimensional immaterial entity that is (partially or wholly) bounded by a material entity or it is a three-dimensional immaterial part thereof. (axiom label in BFO2 Reference: [034-002]) + + + + + + (forall (x) (if (Site x) (ImmaterialEntity x))) // axiom label in BFO2 CLIF: [034-002] + + + + + + + + + + + object + + Object + BFO 2 Reference: Each object is such that there are entities of which we can assert unproblematically that they lie in its interior, and other entities of which we can assert unproblematically that they lie in its exterior. This may not be so for entities lying at or near the boundary between the interior and exterior. This means that two objects – for example the two cells depicted in Figure 3 – may be such that there are material entities crossing their boundaries which belong determinately to neither cell. Something similar obtains in certain cases of conjoined twins (see below). + BFO 2 Reference: To say that b is causally unified means: b is a material entity which is such that its material parts are tied together in such a way that, in environments typical for entities of the type in question,if c, a continuant part of b that is in the interior of b at t, is larger than a certain threshold size (which will be determined differently from case to case, depending on factors such as porosity of external cover) and is moved in space to be at t at a location on the exterior of the spatial region that had been occupied by b at t, then either b’s other parts will be moved in coordinated fashion or b will be damaged (be affected, for example, by breakage or tearing) in the interval between t and t.causal changes in one part of b can have consequences for other parts of b without the mediation of any entity that lies on the exterior of b. Material entities with no proper material parts would satisfy these conditions trivially. Candidate examples of types of causal unity for material entities of more complex sorts are as follows (this is not intended to be an exhaustive list):CU1: Causal unity via physical coveringHere the parts in the interior of the unified entity are combined together causally through a common membrane or other physical covering\. The latter points outwards toward and may serve a protective function in relation to what lies on the exterior of the entity [13, 47 + object + BFO 2 Reference: BFO rests on the presupposition that at multiple micro-, meso- and macroscopic scales reality exhibits certain stable, spatially separated or separable material units, combined or combinable into aggregates of various sorts (for example organisms into what are called ‘populations’). Such units play a central role in almost all domains of natural science from particle physics to cosmology. Many scientific laws govern the units in question, employing general terms (such as ‘molecule’ or ‘planet’) referring to the types and subtypes of units, and also to the types and subtypes of the processes through which such units develop and interact. The division of reality into such natural units is at the heart of biological science, as also is the fact that these units may form higher-level units (as cells form multicellular organisms) and that they may also form aggregates of units, for example as cells form portions of tissue and organs form families, herds, breeds, species, and so on. At the same time, the division of certain portions of reality into engineered units (manufactured artifacts) is the basis of modern industrial technology, which rests on the distributed mass production of engineered parts through division of labor and on their assembly into larger, compound units such as cars and laptops. The division of portions of reality into units is one starting point for the phenomenon of counting. + BFO 2 Reference: an object is a maximal causally unified material entity + BFO 2 Reference: ‘objects’ are sometimes referred to as ‘grains’ [74 + atom + b is an object means: b is a material entity which manifests causal unity of one or other of the types CUn listed above & is of a type (a material universal) instances of which are maximal relative to this criterion of causal unity. (axiom label in BFO2 Reference: [024-001]) + cell + cells and organisms + engineered artifacts + grain of sand + molecule + organelle + organism + planet + solid portions of matter + star + + + + b is an object means: b is a material entity which manifests causal unity of one or other of the types CUn listed above & is of a type (a material universal) instances of which are maximal relative to this criterion of causal unity. (axiom label in BFO2 Reference: [024-001]) + + + + + + + + + + + generically dependent continuant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + gdc + GenericallyDependentContinuant + (iff (GenericallyDependentContinuant a) (and (Continuant a) (exists (b t) (genericallyDependsOnAt a b t)))) // axiom label in BFO2 CLIF: [074-001] + The entries in your database are patterns instantiated as quality instances in your hard drive. The database itself is an aggregate of such patterns. When you create the database you create a particular instance of the generically dependent continuant type database. Each entry in the database is an instance of the generically dependent continuant type IAO: information content entity. + b is a generically dependent continuant = Def. b is a continuant that g-depends_on one or more other entities. (axiom label in BFO2 Reference: [074-001]) + the pdf file on your laptop, the pdf file that is a copy thereof on my laptop + the sequence of this protein molecule; the sequence that is a copy thereof in that protein molecule. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (iff (GenericallyDependentContinuant a) (and (Continuant a) (exists (b t) (genericallyDependsOnAt a b t)))) // axiom label in BFO2 CLIF: [074-001] + + + + + + b is a generically dependent continuant = Def. b is a continuant that g-depends_on one or more other entities. (axiom label in BFO2 Reference: [074-001]) + + + + + + + + + + + + + + + + + + + + + + function + + function + (forall (x) (if (Function x) (Disposition x))) // axiom label in BFO2 CLIF: [064-001] + A function is a disposition that exists in virtue of the bearer’s physical make-up and this physical make-up is something the bearer possesses because it came into being, either through evolution (in the case of natural biological entities) or through intentional design (in the case of artifacts), in order to realize processes of a certain sort. (axiom label in BFO2 Reference: [064-001]) + BFO 2 Reference: In the past, we have distinguished two varieties of function, artifactual function and biological function. These are not asserted subtypes of BFO:function however, since the same function – for example: to pump, to transport – can exist both in artifacts and in biological entities. The asserted subtypes of function that would be needed in order to yield a separate monoheirarchy are not artifactual function, biological function, etc., but rather transporting function, pumping function, etc. + Function + the function of a hammer to drive in nails + the function of a heart pacemaker to regulate the beating of a heart through electricity + the function of amylase in saliva to break down starch into sugar + + + + (forall (x) (if (Function x) (Disposition x))) // axiom label in BFO2 CLIF: [064-001] + + + + + + A function is a disposition that exists in virtue of the bearer’s physical make-up and this physical make-up is something the bearer possesses because it came into being, either through evolution (in the case of natural biological entities) or through intentional design (in the case of artifacts), in order to realize processes of a certain sort. (axiom label in BFO2 Reference: [064-001]) + + + + + + + + + + + process boundary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (iff (ProcessBoundary a) (exists (p) (and (Process p) (temporalPartOf a p) (not (exists (b) (properTemporalPartOf b a)))))) // axiom label in BFO2 CLIF: [084-001] + (forall (x) (if (ProcessBoundary x) (exists (y) (and (ZeroDimensionalTemporalRegion y) (occupiesTemporalRegion x y))))) // axiom label in BFO2 CLIF: [085-002] + Every process boundary occupies_temporal_region a zero-dimensional temporal region. (axiom label in BFO2 Reference: [085-002]) + ProcessBoundary + p is a process boundary =Def. p is a temporal part of a process & p has no proper temporal parts. (axiom label in BFO2 Reference: [084-001]) + p-boundary + the boundary between the 2nd and 3rd year of your life. + + + + Every process boundary occupies_temporal_region a zero-dimensional temporal region. (axiom label in BFO2 Reference: [085-002]) + + + + + + (forall (x) (if (ProcessBoundary x) (exists (y) (and (ZeroDimensionalTemporalRegion y) (occupiesTemporalRegion x y))))) // axiom label in BFO2 CLIF: [085-002] + + + + + + + + + + + + + + + + + + + + + + + + + + + p is a process boundary =Def. p is a temporal part of a process & p has no proper temporal parts. (axiom label in BFO2 Reference: [084-001]) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (iff (ProcessBoundary a) (exists (p) (and (Process p) (temporalPartOf a p) (not (exists (b) (properTemporalPartOf b a)))))) // axiom label in BFO2 CLIF: [084-001] + + + + + + + + + + + one-dimensional temporal region + + + (forall (x) (if (OneDimensionalTemporalRegion x) (TemporalRegion x))) // axiom label in BFO2 CLIF: [103-001] + 1d-t-region + A one-dimensional temporal region is a temporal region that is extended. (axiom label in BFO2 Reference: [103-001]) + BFO 2 Reference: A temporal interval is a special kind of one-dimensional temporal region, namely one that is self-connected (is without gaps or breaks). + OneDimensionalTemporalRegion + the temporal region during which a process occurs. + + + + A one-dimensional temporal region is a temporal region that is extended. (axiom label in BFO2 Reference: [103-001]) + + + + + + (forall (x) (if (OneDimensionalTemporalRegion x) (TemporalRegion x))) // axiom label in BFO2 CLIF: [103-001] + + + + + + + + + + + material entity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + material + (forall (x) (if (MaterialEntity x) (IndependentContinuant x))) // axiom label in BFO2 CLIF: [019-002] + MaterialEntity + (forall (x) (if (and (Entity x) (exists (y t) (and (MaterialEntity y) (continuantPartOfAt x y t)))) (MaterialEntity x))) // axiom label in BFO2 CLIF: [021-002] + (forall (x) (if (and (Entity x) (exists (y t) (and (MaterialEntity y) (continuantPartOfAt y x t)))) (MaterialEntity x))) // axiom label in BFO2 CLIF: [020-002] + A material entity is an independent continuant that has some portion of matter as proper or improper continuant part. (axiom label in BFO2 Reference: [019-002]) + BFO 2 Reference: Material entities (continuants) can preserve their identity even while gaining and losing material parts. Continuants are contrasted with occurrents, which unfold themselves in successive temporal parts or phases [60 + BFO 2 Reference: Object, Fiat Object Part and Object Aggregate are not intended to be exhaustive of Material Entity. Users are invited to propose new subcategories of Material Entity. + BFO 2 Reference: ‘Matter’ is intended to encompass both mass and energy (we will address the ontological treatment of portions of energy in a later version of BFO). A portion of matter is anything that includes elementary particles among its proper or improper parts: quarks and leptons, including electrons, as the smallest particles thus far discovered; baryons (including protons and neutrons) at a higher level of granularity; atoms and molecules at still higher levels, forming the cells, organs, organisms and other material entities studied by biologists, the portions of rock studied by geologists, the fossils studied by paleontologists, and so on.Material entities are three-dimensional entities (entities extended in three spatial dimensions), as contrasted with the processes in which they participate, which are four-dimensional entities (entities extended also along the dimension of time).According to the FMA, material entities may have immaterial entities as parts – including the entities identified below as sites; for example the interior (or ‘lumen’) of your small intestine is a part of your body. BFO 2.0 embodies a decision to follow the FMA here. + Every entity which has a material entity as continuant part is a material entity. (axiom label in BFO2 Reference: [020-002]) + a flame + a forest fire + a human being + a hurricane + a photon + a puff of smoke + a sea wave + a tornado + an aggregate of human beings. + an energy wave + an epidemic + every entity of which a material entity is continuant part is also a material entity. (axiom label in BFO2 Reference: [021-002]) + the undetached arm of a human being + + + + A material entity is an independent continuant that has some portion of matter as proper or improper continuant part. (axiom label in BFO2 Reference: [019-002]) + + + + + + Every entity which has a material entity as continuant part is a material entity. (axiom label in BFO2 Reference: [020-002]) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (forall (x) (if (MaterialEntity x) (IndependentContinuant x))) // axiom label in BFO2 CLIF: [019-002] + + + + + + (forall (x) (if (and (Entity x) (exists (y t) (and (MaterialEntity y) (continuantPartOfAt x y t)))) (MaterialEntity x))) // axiom label in BFO2 CLIF: [021-002] + + + + + + + + + + + + + + + + + every entity of which a material entity is continuant part is also a material entity. (axiom label in BFO2 Reference: [021-002]) + + + + + + (forall (x) (if (and (Entity x) (exists (y t) (and (MaterialEntity y) (continuantPartOfAt y x t)))) (MaterialEntity x))) // axiom label in BFO2 CLIF: [020-002] + + + + + + + + + + + continuant fiat boundary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ContinuantFiatBoundary + cf-boundary + (iff (ContinuantFiatBoundary a) (and (ImmaterialEntity a) (exists (b) (and (or (ZeroDimensionalSpatialRegion b) (OneDimensionalSpatialRegion b) (TwoDimensionalSpatialRegion b)) (forall (t) (locatedInAt a b t)))) (not (exists (c t) (and (SpatialRegion c) (continuantPartOfAt c a t)))))) // axiom label in BFO2 CLIF: [029-001] + BFO 2 Reference: In BFO 1.1 the assumption was made that the external surface of a material entity such as a cell could be treated as if it were a boundary in the mathematical sense. The new document propounds the view that when we talk about external surfaces of material objects in this way then we are talking about something fiat. To be dealt with in a future version: fiat boundaries at different levels of granularity.More generally, the focus in discussion of boundaries in BFO 2.0 is now on fiat boundaries, which means: boundaries for which there is no assumption that they coincide with physical discontinuities. The ontology of boundaries becomes more closely allied with the ontology of regions. + BFO 2 Reference: a continuant fiat boundary is a boundary of some material entity (for example: the plane separating the Northern and Southern hemispheres; the North Pole), or it is a boundary of some immaterial entity (for example of some portion of airspace). Three basic kinds of continuant fiat boundary can be distinguished (together with various combination kinds [29 + Continuant fiat boundary doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. An example would be the mereological sum of two-dimensional continuant fiat boundary and a one dimensional continuant fiat boundary that doesn't overlap it. The situation is analogous to temporal and spatial regions. + Every continuant fiat boundary is located at some spatial region at every time at which it exists + b is a continuant fiat boundary = Def. b is an immaterial entity that is of zero, one or two dimensions and does not include a spatial region as part. (axiom label in BFO2 Reference: [029-001]) + + + + b is a continuant fiat boundary = Def. b is an immaterial entity that is of zero, one or two dimensions and does not include a spatial region as part. (axiom label in BFO2 Reference: [029-001]) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (iff (ContinuantFiatBoundary a) (and (ImmaterialEntity a) (exists (b) (and (or (ZeroDimensionalSpatialRegion b) (OneDimensionalSpatialRegion b) (TwoDimensionalSpatialRegion b)) (forall (t) (locatedInAt a b t)))) (not (exists (c t) (and (SpatialRegion c) (continuantPartOfAt c a t)))))) // axiom label in BFO2 CLIF: [029-001] + + + + + + + + + + + + + + + + + Continuant fiat boundary doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. An example would be the mereological sum of two-dimensional continuant fiat boundary and a one dimensional continuant fiat boundary that doesn't overlap it. The situation is analogous to temporal and spatial regions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + immaterial entity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ImmaterialEntity + immaterial + BFO 2 Reference: Immaterial entities are divided into two subgroups:boundaries and sites, which bound, or are demarcated in relation, to material entities, and which can thus change location, shape and size and as their material hosts move or change shape or size (for example: your nasal passage; the hold of a ship; the boundary of Wales (which moves with the rotation of the Earth) [38, 7, 10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + one-dimensional continuant fiat boundary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OneDimensionalContinuantFiatBoundary + (iff (OneDimensionalContinuantFiatBoundary a) (and (ContinuantFiatBoundary a) (exists (b) (and (OneDimensionalSpatialRegion b) (forall (t) (locatedInAt a b t)))))) // axiom label in BFO2 CLIF: [032-001] + 1d-cf-boundary + The Equator + a one-dimensional continuant fiat boundary is a continuous fiat line whose location is defined in relation to some material entity. (axiom label in BFO2 Reference: [032-001]) + all geopolitical boundaries + all lines of latitude and longitude + the line separating the outer surface of the mucosa of the lower lip from the outer surface of the skin of the chin. + the median sulcus of your tongue + + + + + + + + + + + + + + + + + + + + + + + + + (iff (OneDimensionalContinuantFiatBoundary a) (and (ContinuantFiatBoundary a) (exists (b) (and (OneDimensionalSpatialRegion b) (forall (t) (locatedInAt a b t)))))) // axiom label in BFO2 CLIF: [032-001] + + + + + + + + + + + + + + + + + + + + + + + + + + + a one-dimensional continuant fiat boundary is a continuous fiat line whose location is defined in relation to some material entity. (axiom label in BFO2 Reference: [032-001]) + + + + + + + + + + + process profile + + + + + + + + + + + + + + + (forall (x y) (if (processProfileOf x y) (and (properContinuantPartOf x y) (exists (z t) (and (properOccurrentPartOf z y) (TemporalRegion t) (occupiesSpatioTemporalRegion x t) (occupiesSpatioTemporalRegion y t) (occupiesSpatioTemporalRegion z t) (not (exists (w) (and (occurrentPartOf w x) (occurrentPartOf w z))))))))) // axiom label in BFO2 CLIF: [094-005] + ProcessProfile + process-profile + (iff (ProcessProfile a) (exists (b) (and (Process b) (processProfileOf a b)))) // axiom label in BFO2 CLIF: [093-002] + On a somewhat higher level of complexity are what we shall call rate process profiles, which are the targets of selective abstraction focused not on determinate quality magnitudes plotted over time, but rather on certain ratios between these magnitudes and elapsed times. A speed process profile, for example, is represented by a graph plotting against time the ratio of distance covered per unit of time. Since rates may change, and since such changes, too, may have rates of change, we have to deal here with a hierarchy of process profile universals at successive levels + One important sub-family of rate process profiles is illustrated by the beat or frequency profiles of cyclical processes, illustrated by the 60 beats per minute beating process of John’s heart, or the 120 beats per minute drumming process involved in one of John’s performances in a rock band, and so on. Each such process includes what we shall call a beat process profile instance as part, a subtype of rate process profile in which the salient ratio is not distance covered but rather number of beat cycles per unit of time. Each beat process profile instance instantiates the determinable universal beat process profile. But it also instantiates multiple more specialized universals at lower levels of generality, selected from rate process profilebeat process profileregular beat process profile3 bpm beat process profile4 bpm beat process profileirregular beat process profileincreasing beat process profileand so on.In the case of a regular beat process profile, a rate can be assigned in the simplest possible fashion by dividing the number of cycles by the length of the temporal region occupied by the beating process profile as a whole. Irregular process profiles of this sort, for example as identified in the clinic, or in the readings on an aircraft instrument panel, are often of diagnostic significance. + The simplest type of process profiles are what we shall call ‘quality process profiles’, which are the process profiles which serve as the foci of the sort of selective abstraction that is involved when measurements are made of changes in single qualities, as illustrated, for example, by process profiles of mass, temperature, aortic pressure, and so on. + b is a process_profile =Def. there is some process c such that b process_profile_of c (axiom label in BFO2 Reference: [093-002]) + b process_profile_of c holds when b proper_occurrent_part_of c& there is some proper_occurrent_part d of c which has no parts in common with b & is mutually dependent on b& is such that b, c and d occupy the same temporal region (axiom label in BFO2 Reference: [094-005]) + + + + + + + + + + + + + + + + + + + + + + + + + + (iff (ProcessProfile a) (exists (b) (and (Process b) (processProfileOf a b)))) // axiom label in BFO2 CLIF: [093-002] + + + + + + b is a process_profile =Def. there is some process c such that b process_profile_of c (axiom label in BFO2 Reference: [093-002]) + + + + + + b process_profile_of c holds when b proper_occurrent_part_of c& there is some proper_occurrent_part d of c which has no parts in common with b & is mutually dependent on b& is such that b, c and d occupy the same temporal region (axiom label in BFO2 Reference: [094-005]) + + + + + + (forall (x y) (if (processProfileOf x y) (and (properContinuantPartOf x y) (exists (z t) (and (properOccurrentPartOf z y) (TemporalRegion t) (occupiesSpatioTemporalRegion x t) (occupiesSpatioTemporalRegion y t) (occupiesSpatioTemporalRegion z t) (not (exists (w) (and (occurrentPartOf w x) (occurrentPartOf w z))))))))) // axiom label in BFO2 CLIF: [094-005] + + + + + + + + + + + relational quality + + + + + + + + 2 + + + + + + (iff (RelationalQuality a) (exists (b c t) (and (IndependentContinuant b) (IndependentContinuant c) (qualityOfAt a b t) (qualityOfAt a c t)))) // axiom label in BFO2 CLIF: [057-001] + John’s role of husband to Mary is dependent on Mary’s role of wife to John, and both are dependent on the object aggregate comprising John and Mary as member parts joined together through the relational quality of being married. + RelationalQuality + a marriage bond, an instance of love, an obligation between one person and another. + r-quality + b is a relational quality = Def. for some independent continuants c, d and for some time t: b quality_of c at t & b quality_of d at t. (axiom label in BFO2 Reference: [057-001]) + + + + b is a relational quality = Def. for some independent continuants c, d and for some time t: b quality_of c at t & b quality_of d at t. (axiom label in BFO2 Reference: [057-001]) + + + + + + (iff (RelationalQuality a) (exists (b c t) (and (IndependentContinuant b) (IndependentContinuant c) (qualityOfAt a b t) (qualityOfAt a c t)))) // axiom label in BFO2 CLIF: [057-001] + + + + + + + + + + + + + + + + 2 + + + + + + + + + + + + two-dimensional continuant fiat boundary + + 2d-cf-boundary + TwoDimensionalContinuantFiatBoundary + (iff (TwoDimensionalContinuantFiatBoundary a) (and (ContinuantFiatBoundary a) (exists (b) (and (TwoDimensionalSpatialRegion b) (forall (t) (locatedInAt a b t)))))) // axiom label in BFO2 CLIF: [033-001] + a two-dimensional continuant fiat boundary (surface) is a self-connected fiat surface whose location is defined in relation to some material entity. (axiom label in BFO2 Reference: [033-001]) + + + + a two-dimensional continuant fiat boundary (surface) is a self-connected fiat surface whose location is defined in relation to some material entity. (axiom label in BFO2 Reference: [033-001]) + + + + + + (iff (TwoDimensionalContinuantFiatBoundary a) (and (ContinuantFiatBoundary a) (exists (b) (and (TwoDimensionalSpatialRegion b) (forall (t) (locatedInAt a b t)))))) // axiom label in BFO2 CLIF: [033-001] + + + + + + + + + + + zero-dimensional continuant fiat boundary + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (iff (ZeroDimensionalContinuantFiatBoundary a) (and (ContinuantFiatBoundary a) (exists (b) (and (ZeroDimensionalSpatialRegion b) (forall (t) (locatedInAt a b t)))))) // axiom label in BFO2 CLIF: [031-001] + 0d-cf-boundary + ZeroDimensionalContinuantFiatBoundary + a zero-dimensional continuant fiat boundary is a fiat point whose location is defined in relation to some material entity. (axiom label in BFO2 Reference: [031-001]) + the geographic North Pole + the point of origin of some spatial coordinate system. + the quadripoint where the boundaries of Colorado, Utah, New Mexico, and Arizona meet + zero dimension continuant fiat boundaries are not spatial points. Considering the example 'the quadripoint where the boundaries of Colorado, Utah, New Mexico, and Arizona meet' : There are many frames in which that point is zooming through many points in space. Whereas, no matter what the frame, the quadripoint is always in the same relation to the boundaries of Colorado, Utah, New Mexico, and Arizona. + + + + requested by Melanie Courtot + zero dimension continuant fiat boundaries are not spatial points. Considering the example 'the quadripoint where the boundaries of Colorado, Utah, New Mexico, and Arizona meet' : There are many frames in which that point is zooming through many points in space. Whereas, no matter what the frame, the quadripoint is always in the same relation to the boundaries of Colorado, Utah, New Mexico, and Arizona. + + + + + + + (iff (ZeroDimensionalContinuantFiatBoundary a) (and (ContinuantFiatBoundary a) (exists (b) (and (ZeroDimensionalSpatialRegion b) (forall (t) (locatedInAt a b t)))))) // axiom label in BFO2 CLIF: [031-001] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a zero-dimensional continuant fiat boundary is a fiat point whose location is defined in relation to some material entity. (axiom label in BFO2 Reference: [031-001]) + + + + + + + + + + + zero-dimensional temporal region + + + + + + + + 0d-t-region + (forall (x) (if (ZeroDimensionalTemporalRegion x) (TemporalRegion x))) // axiom label in BFO2 CLIF: [102-001] + A zero-dimensional temporal region is a temporal region that is without extent. (axiom label in BFO2 Reference: [102-001]) + ZeroDimensionalTemporalRegion + a temporal region that is occupied by a process boundary + right now + temporal instant. + the moment at which a child is born + the moment at which a finger is detached in an industrial accident + the moment of death. + + + + + + + + + + + + + + + A zero-dimensional temporal region is a temporal region that is without extent. (axiom label in BFO2 Reference: [102-001]) + + + + + + (forall (x) (if (ZeroDimensionalTemporalRegion x) (TemporalRegion x))) // axiom label in BFO2 CLIF: [102-001] + + + + + + + + + + + history + + + + + + + + + + + + + + + + + + A history is a process that is the sum of the totality of processes taking place in the spatiotemporal region occupied by a material entity or site, including processes on the surface of the entity or within the cavities to which it serves as host. (axiom label in BFO2 Reference: [138-001]) + History + history + + + + A history is a process that is the sum of the totality of processes taking place in the spatiotemporal region occupied by a material entity or site, including processes on the surface of the entity or within the cavities to which it serves as host. (axiom label in BFO2 Reference: [138-001]) + + + + + + + + + + + Person:Alan Ruttenberg + + + To say that each spatiotemporal region s temporally_projects_onto some temporal region t is to say that t is the temporal extension of s. (axiom label in BFO2 Reference: [080-003]) + To say that spatiotemporal region s spatially_projects_onto spatial region r at t is to say that r is the spatial extent of s at t. (axiom label in BFO2 Reference: [081-003]) + + + To say that each spatiotemporal region s temporally_projects_onto some temporal region t is to say that t is the temporal extension of s. (axiom label in BFO2 Reference: [080-003]) + + + + + + To say that spatiotemporal region s spatially_projects_onto spatial region r at t is to say that r is the spatial extent of s at t. (axiom label in BFO2 Reference: [081-003]) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 index aca9a4d8..2f03a9fe 100644 --- a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 +++ b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 @@ -7,10 +7,25 @@ @prefix datagetter: . @prefix vitro: . @prefix role: . - +@prefix local: . +@prefix vivo: . + @base . +local:authorInAuthorshipContext a :ConfigContext ; + :hasConfiguration local:authorInAuthorshipConfig ; + :configContextFor vivo:relatedBy ; + :qualifiedBy vivo:Authorship . + +local:authorInAuthorshipConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-authorInAuthorship.xml"^^xsd:string ; + :displayName "selected publications" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddPublicationToPersonGenerator"^^xsd:string ; + :propertyGroup . + a :ConfigContext ; :hasConfiguration ; :configContextFor ; @@ -18,9 +33,7 @@ a :ObjectPropertyDisplayConfig ; - :hasListView [ - :listViewConfigFile "listViewConfig-hasRole.xml"^^ - ] ; + :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; :displayName "has service provider role" ; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; diff --git a/productMods/WEB-INF/ontologies/update/askUpdated.sparql b/productMods/WEB-INF/ontologies/update/askUpdated.sparql index a9a17942..b11b0b85 100644 --- a/productMods/WEB-INF/ontologies/update/askUpdated.sparql +++ b/productMods/WEB-INF/ontologies/update/askUpdated.sparql @@ -6,6 +6,6 @@ ASK { graph { vitro:updatedToOntology ?u . ?u vitro:updatedOntology . - ?u vitro:toOntologyVersion "1.5" . + ?u vitro:toOntologyVersion "1.6" . } -} \ No newline at end of file +} diff --git a/productMods/WEB-INF/ontologies/update/diff.tab.txt b/productMods/WEB-INF/ontologies/update/diff.tab.txt index e69de29b..009c167b 100644 --- a/productMods/WEB-INF/ontologies/update/diff.tab.txt +++ b/productMods/WEB-INF/ontologies/update/diff.tab.txt @@ -0,0 +1 @@ +http://vivoweb.org/ontology/core#administeredBy complex construct with grant administrator role http://vivoweb.org/ontology/core#administers complex construct with grant administrator role http://vivoweb.org/ontology/core#advisee CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#adviseeIn CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#advisingContributionTo realizedIn? Come back to this. http://vivoweb.org/ontology/core#advisor CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#advisorIn CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#affiliatedOrganization construct Relationship node? http://vivoweb.org/ontology/core#assignedBy patent - come back to this http://vivoweb.org/ontology/core#assignee patent - come back to this http://vivoweb.org/ontology/core#associatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#associatedWithPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#attendeeRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#authorInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardConferred http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#awardConferredBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#awardOrHonor http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardOrHonorFor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#awardsGrant http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#clinicalRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#co-PrincipalInvestigatorRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#contributingAdvising come back to this http://vivoweb.org/ontology/core#contributingRole come back to this http://vivoweb.org/ontology/core#courseOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#credentialOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#currentMemberOf http://vivoweb.org/ontology/core#memberOf Yes z http://vivoweb.org/ontology/core#currentlyHeadOf CC or delete? http://vivoweb.org/ontology/core#currentlyHeadedBy CC or delete? http://vivoweb.org/ontology/core#degreeCandidacy revisit http://vivoweb.org/ontology/core#degreeEarned http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#degreeOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#degreeOutcomeOf http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#distributes revisit (distributor role?) http://vivoweb.org/ontology/core#distributesFundingFrom revisit http://vivoweb.org/ontology/core#domesticGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#domesticGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#editor CC editorship http://vivoweb.org/ontology/core#editorOf CC editorship http://vivoweb.org/ontology/core#editorRoleOf http://purl.obolibrary.org/obo/BFO_0000052 z http://vivoweb.org/ontology/core#educationalTraining http://vivoweb.org/ontology/core#relatedBy z http://vivoweb.org/ontology/core#educationalTrainingOf http://vivoweb.org/ontology/core#relates z http://vivoweb.org/ontology/core#eligibleFor revisit http://vivoweb.org/ontology/core#equipmentInFacility http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#eventWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#geographicLocationOf http://purl.obolibrary.org/obo/RO_0001015 Yes """location of""" http://vivoweb.org/ontology/core#geographicallyContains http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#geographicallyWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#governingAuthorityFor revisit http://vivoweb.org/ontology/core#grantAwardedBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#hasAttendeeRole http://purl.obolibrary.org/obo/BFO_0000053 Yes """bearer of""" http://vivoweb.org/ontology/core#hasClinicalRole http://purl.obolibrary.org/obo/BFO_0000053 Yes """bearer of""" http://vivoweb.org/ontology/core#hasCo-PrincipalInvestigatorRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasCollaborator http://vivoweb.org/ontology/core#relatedBy Yes CC construct Relationship http://vivoweb.org/ontology/core#hasCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#hasCurrentMember revisit - construct relationship? http://vivoweb.org/ontology/core#hasEditorRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasGeographicLocation http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#hasGoverningAuthority revisit http://vivoweb.org/ontology/core#hasInvestigatorRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasLeaderRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasMemberRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasOrganizerRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasOutreachProviderRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasPart http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasPredecessorOrganization revisit http://vivoweb.org/ontology/core#hasPresenterRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasPrincipalInvestigatorRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasResearcherRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasReviewerRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasRoom http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#hasServiceProviderRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasSubOrganization http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasSuccessorOrganization revisit http://vivoweb.org/ontology/core#hasTeacherRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#inEventSeries http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#includesEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#informationProduct revisit http://vivoweb.org/ontology/core#informationProductOf revisit http://vivoweb.org/ontology/core#informationResourceInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#internationalGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#internationalGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#investigatorRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes """inheres in""" http://vivoweb.org/ontology/core#issuanceOfCredential http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#issuedCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#leaderRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#linkedAuthor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#linkedInformationResource http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#locationOfEquipment http://purl.obolibrary.org/obo/RO_0001015 Yes z http://vivoweb.org/ontology/core#mailingAddress VCard http://vivoweb.org/ontology/core#mailingAddressFor VCard http://vivoweb.org/ontology/core#memberRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#offersCourse http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#offersDegree http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#organizationForPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizationForTraining http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizerRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#outcome revisit: RO? http://vivoweb.org/ontology/core#outcomeOf revisit: RO? http://vivoweb.org/ontology/core#outreachProviderRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#partOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#personInPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#positionForPerson http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#positionInOrganization http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#presenterRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#principalInvestigatorRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#providesService http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#realizedRole http://purl.obolibrary.org/obo/BFO_0000055 Yes """realizes""" http://vivoweb.org/ontology/core#receipt http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#receiptOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#relatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#researcherRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#reviewerRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#roleContributesTo http://vivoweb.org/ontology/core#relatedBy Yes may not apply in all situations http://vivoweb.org/ontology/core#roleIn http://purl.obolibrary.org/obo/BFO_0000054 Yes """realized in"" (or delete, since there should be subs?)" http://vivoweb.org/ontology/core#roleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#roleRealizedIn http://purl.obolibrary.org/obo/BFO_0000054 Yes z http://vivoweb.org/ontology/core#roomWithinBuilding http://purl.obolibrary.org/obo/RO_0001025 Yes double check this http://vivoweb.org/ontology/core#seriesForEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#serviceProvidedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#serviceProviderRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#subGrantOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#subOrganizationWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#teacherRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#trainingAtOrganization http://vivoweb.org/ontology/core#relates Yes double check this http://vivoweb.org/ontology/core#webpage VCard? http://vivoweb.org/ontology/core#webpageOf VCard \ No newline at end of file diff --git a/productMods/WEB-INF/ontologies/update/oldVersion/geopolitical.tbox.ver1.1-11-18-11.owl b/productMods/WEB-INF/ontologies/update/oldVersion/geopolitical.tbox.ver1.1-11-18-11.owl new file mode 100644 index 00000000..37834ae3 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldVersion/geopolitical.tbox.ver1.1-11-18-11.owl @@ -0,0 +1,1868 @@ + + + prior version : " http://aims.fao.org/aos/geopolitical_v10.owl" + The use of the information presented on the FAO Country Profiles portal is governed by FAO's copyright reservation. Any queries regarding the content, sources or use, please contact FAO-country-profiles@fao.org or visit http://www.fao.org/countryprofiles. + FAO DISCLAIMER: Information on the FAO Country Profiles portal is provided as and when available. The designations employed and the presentation of information do not imply the expression of any opinion whatsoever on the part of the Food and Agriculture Organization of the United Nations (FAO) concerning the legal status of any country, territory, city or area, or of its authorities, or concerning the delimitation of its frontiers or boundaries. FAO makes every effort to ensure, but does not guarantee, the accuracy or completeness of and declines responsibility for any loss, damage, liability or expense suffered which is claimed to result from its use. + Version 1.1 of the ontology includes a structured description of sources (source creator, source identifier by language, and last updated date on source) . + + FAO's geopolitical ontology version 1.1 was populated with FAO, UN and internationally recognized data sources. + 2011-08-11 + version 1.1 + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + 1 + + + + + + UN Cartographic Section, Department of Field Support + http://www.un.org/Depts/Cartographic/map/profile/world00.pdf + 2010-05-01 + UN Cartographic Section, Department of Field Support http://www.un.org/Depts/Cartographic/map/profile/world00.pdf + + + + + + United Nations Map Library + http://www.un.org/depts/dhl/maplib/countinfo.htm + 2010-09-08 + United Nations Map Library http://www.un.org/depts/dhl/maplib/countinfo.htm + + + + + + United Nations statistics department + http://unstats.un.org/unsd/methods/m49/m49regnf.htm + http://unstats.un.org/unsd/methods/m49/m49regin.htm + 2010-04-01 + United Nations statistics department http://unstats.un.org/unsd/methods/m49/m49regin.htm + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + United Nations Statistics Division + + United Nations Statistics Division http://unstats.un.org/unsd/methods/m49/m49chang.htm + http://unstats.un.org/unsd/methods/m49/m49chang.htm + 2010-04-15 + http://unstats.un.org/unsd/methods/m49/m49chgef.htm + + + + + + + + + + + + + + + + + + United Nations cartographic maps + http://www.un.org/Depts/Cartographic/map/profile/world00.pdf + 2010-05-01 + United Nations cartographic maps http://www.un.org/Depts/Cartographic/map/profile/world00.pdf + + + + + + + + + http://unstats.un.org/unsd/methods/m49/m49chgef.htm + United Nations Statistics Division + 2010-04-15 + + United Nations Statistics Division http://unstats.un.org/unsd/methods/m49/m49chang.htm + http://unstats.un.org/unsd/methods/m49/m49chang.htm + + + + + + + + United Nations cartographic maps + http://www.un.org/Depts/Cartographic/map/profile/world00.pdf + 2010-05-01 + United Nations cartographic maps http://www.un.org/Depts/Cartographic/map/profile/world00.pdf + + + + + + + + + + + + + http://www.fao.org/termportal/contr/ar/ + + + + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/en/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/es/ + 2010-06-24 + FAO terminology + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + FAO terminology + http://www.fao.org/termportal/contr/zh/ + 2010-06-24 + FAO terminology http://www.fao.org/termportal/en/ + + + + http://www.fao.org/termportal/en/ + + + + + + + + + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/en/ + FAO terminology + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/en/ + + + + http://www.fao.org/termportal/contr/zh/ + 2010-06-24 + http://www.fao.org/termportal/contr/es/ + + + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/es/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/zh/ + http://www.fao.org/termportal/contr/en/ + + + + FAO terminology + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/fr/ + 2010-06-24 + + + + + + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + FAOSTAT + FAOSTAT http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=fr#ancor + 2010-07-21 + Agricultural area, this category is the sum of areas under a) arable land - land under temporary agricultural crops (multiple-cropped areas are counted only once), temporary meadows for mowing or pasture, land under market and kitchen gardens and land temporarily fallow (less than five years). The abandoned land resulting from shifting cultivation is not included in this category. Data for “Arable land” are not meant to indicate the amount of land that is potentially cultivable; (b) permanent crops - land cultivated with long-term crops which do not have to be replanted for several years (such as cocoa and coffee); land under trees and shrubs producing flowers, such as roses and jasmine; and nurseries (except those for forest trees, which should be classified under "forest"); and (c) permanent meadows and pastures - land used permanently (five years or more) to grow herbaceous forage crops, either cultivated or growing wild (wild prairie or grazing land). Data are expressed in 1000 hectares. http://faostat.fao.org/site/375/default.aspx + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=es#ancor + + + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/zh/ + FAO terminology http://www.fao.org/termportal/en/ + FAO terminology + 2010-06-24 + http://www.fao.org/termportal/en/ + + + + http://www.fao.org/termportal/contr/es/ + + + 2010-06-24 + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/zh/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/ar/ + FAO terminology http://www.fao.org/termportal/en/ + + + + FAO terminology + + + + + + + + + 2010-06-24 + http://www.fao.org/termportal/contr/ar/ + FAO terminology + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/zh/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/en/ + + + + + + FAO terminology + 2010-06-24 + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/ar/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/es/ + + + + http://www.fao.org/termportal/contr/zh/ + http://www.fao.org/termportal/contr/fr/ + + + http://www.fao.org/termportal/en/ + FAO terminology + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/es/ + 2010-06-24 + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/fr/ + FAO terminology http://www.fao.org/termportal/en/ + + + + http://www.fao.org/termportal/contr/zh/ + + + + + + + + + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/es/ + + + + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/en/ + FAO terminology + 2010-06-24 + http://www.fao.org/termportal/contr/ar/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + + http://www.fao.org/termportal/contr/en/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/es/ + FAO terminology + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/ar/ + + + + http://www.fao.org/termportal/contr/zh/ + http://www.fao.org/termportal/en/ + 2010-06-24 + + + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/en/ + + + + http://www.fao.org/termportal/contr/ar/ + + FAO terminology + http://www.fao.org/termportal/contr/zh/ + FAO terminology http://www.fao.org/termportal/en/ + 2010-06-24 + http://www.fao.org/termportal/en/ + + + + + + + + + http://www.fao.org/termportal/contr/zh/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/en/ + + + + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/ar/ + FAO terminology + 2010-06-24 + + + http://faostat.fao.org/DesktopDefault.aspx?PageID=550&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=550&lang=en#ancor + 2009-09-21 + The total population usually refers to the present-in-area (de facto) population which includes all persons physically present within the present geographical boundaries of countries at the mid-point of the reference period. http://faostat.fao.org/site/375/default.aspx + http://faostat.fao.org/DesktopDefault.aspx?PageID=550&lang=es#ancor + FAOSTAT + + + + http://faostat.fao.org/DesktopDefault.aspx?PageID=550&lang=fr#ancor + FAOSTAT http://faostat.fao.org/site/550/default.aspx + + + + + + + + http://www.fao.org/termportal/contr/es/ + FAO terminology + http://www.fao.org/termportal/contr/zh/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/en/ + FAO terminology http://www.fao.org/termportal/en/ + + + + 2010-06-24 + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/fr/ + + + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/fr/ + FAO terminology http://www.fao.org/termportal/en/ + 2010-06-24 + + + + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/zh/ + http://www.fao.org/termportal/contr/en/ + FAO terminology + http://www.fao.org/termportal/en/ + + + 2010-06-24 + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/ar/ + + + + + + + + + + + + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/en/ + FAO terminology + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/zh/ + 2010-06-24 + http://www.fao.org/termportal/contr/ar/ + + + + + + + + + + + + + + + FAO terminology + + + + 2010-06-24 + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/en/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + + + + + + http://data.albankaldawli.org/indicator/NY.GDP.MKTP.CD + World Bank http://data.worldbank.org/indicator/NY.GDP.MKTP.CD + http://donnees.banquemondiale.org/indicateur/NY.GDP.MKTP.CD + GDP at purchaser's prices is the sum of gross value added by all resident producers in the economy plus any product taxes and minus any subsidies not included in the value of the products. It is calculated without making deductions for depreciation of fabricated assets or for depletion and degradation of natural resources. Data are in current U.S. dollars. Dollar figures for GDP are converted from domestic currencies using single year official exchange rates. For a few countries where the official exchange rate does not reflect the rate effectively applied to actual foreign exchange transactions, an alternative conversion factor is used. Source: World Bank national accounts data, and OECD National Accounts data files. http://data.worldbank.org/indicator/NY.GDP.MKTP.CD + 2010-12-16 + World Bank + + ttp://datos.bancomundial.org/indicador/NY.GDP.MKTP.CD + http://data.worldbank.org/indicator/NY.GDP.MKTP.CD + http://data.worldbank.org/indicator/NY.GDP.MKTP.CD + + + + + + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/zh/ + FAO terminology + http://www.fao.org/termportal/en/ + FAO terminology http://www.fao.org/termportal/en/ + 2010-06-24 + + + FAOSTAT + 2011-07-21 + FAOSTAT http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=es#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=fr#ancor + Land area is the total area of the country excluding area under inland water bodies. Possible variations in the data may be due to updating and revisions of the country data and not necessarily to any change of area. Data are expressed in 1 000 hectares. http://faostat.fao.org/site/375/default.aspx + + + + + + + http://www.fao.org/termportal/en/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/zh/ + FAO terminology + 2010-06-24 + + + FAO terminology http://www.fao.org/termportal/en/ + 2010-06-24 + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + + FAO terminology + http://www.fao.org/termportal/contr/zh/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + + + + + + + + + + + + + + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/zh/ + 2010-06-24 + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/ar/ + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/en/ + + + + + + + + + + + + + + + + + + + + + + 2010-06-24 + FAO terminology + http://www.fao.org/termportal/contr/zh/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + FAO terminology http://www.fao.org/termportal/en/ + + + + http://www.fao.org/termportal/contr/es/ + + + http://www.fao.org/termportal/contr/zh/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/fr/ + + + + FAO terminology + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + 2010-06-24 + + + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/zh/ + http://www.fao.org/termportal/contr/ar/ + FAO terminology + 2010-06-24 + + + + http://www.fao.org/termportal/contr/es/ + + + + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/zh/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/en/ + FAO terminology + 2010-06-24 + http://www.fao.org/termportal/contr/fr/ + + + + + + United Nations Statistics Division + http://unstats.un.org/unsd/methods/m49/m49alpha.htm + http://unstats.un.org/unsd/methods/m49/m49alphaf.htm + 2010-04-01 + United Nations Statistics Division http://unstats.un.org/unsd/methods/m49/m49alpha.htm + + + http://www.fao.org/termportal/contr/fr/ + FAO terminology + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/ar/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + + + + http://www.fao.org/termportal/contr/en/ + 2010-06-24 + http://www.fao.org/termportal/contr/zh/ + + + The value of the datatype property *validSince* associated to a particular area (territory or group) indicates the area's first year of validity. The geopolitical ontology traces back historic changes only until 1985, therefore, if an area has a validSince = 1985, this indicates that the area is/was valid since 1985 or before. + + + + + + + + + + + + + + + + + + DBpedia + http://dbpedia.org/About + 2010-04-28 + DBpedia http://dbpedia.org/About + + + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=fr#ancor + 2011-07-21 + Country area, area of the country including area under inland water bodies, but excluding offshore territorial waters. Possible variations in the data may be due to updating and revisions of the country data and not necessarily to any change of area. Data are expressed in 1000 hectares. http://faostat.fao.org/site/375/default.aspx + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=es#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + + FAOSTAT http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + FAOSTAT + + + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/zh/ + FAO terminology + 2010-06-24 + http://www.fao.org/termportal/contr/en/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/en/ + + http://www.fao.org/termportal/contr/fr/ + + + http://www.fao.org/termportal/contr/zh/ + FAO terminology + http://www.fao.org/termportal/en/ + + + + http://www.fao.org/termportal/contr/ar/ + 2010-06-24 + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/es/ + + + + + + FAOSTAT + http://faostat.fao.org + http://faostat.fao.org/default.aspx?lang=es + http://faostat.fao.org/default.aspx?lang=fr + FAOSTAT http://faostat.fao.org + + + http://www.fao.org/termportal/contr/zh/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/fr/ + FAO terminology + http://www.fao.org/termportal/contr/en/ + FAO terminology http://www.fao.org/termportal/en/ + + 2010-06-24 + + + + + + + + + + + + + AGROVOC + http://aims.fao.org/fr/website/Search-AGROVOC/sub + AGROVOC http://aims.fao.org/website/Search-AGROVOC/sub + http://aims.fao.org/zh-hans/website/Search-AGROVOC/sub + http://aims.fao.org/ar/website/Search-AGROVOC/sub + http://aims.fao.org/es/website/Search-AGROVOC/sub + http://aims.fao.org/website/Search-AGROVOC/sub + + + + + + + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + 2010-06-24 + http://www.fao.org/termportal/contr/fr/ + FAO terminology + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + http://www.fao.org/termportal/contr/zh/ + http://www.fao.org/termportal/contr/es/ + + + + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/fr/ + FAO terminology + http://www.fao.org/termportal/contr/en/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + 2010-06-24 + + + 2010-06-24 + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/en/ + + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/zh/ + FAO terminology + http://www.fao.org/termportal/contr/ar/ + + + + + + + + + + + + Global Administrative Unit Layers + http://www.fao.org/geonetwork/srv/en/metadata.show?id=12691 + 2008-12-10 + Global Administrative Unit Layers http://www.fao.org/geonetwork/srv/en/metadata.show?id=12691 + + + 2010-06-24 + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + FAO terminology + + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/zh/ + http://www.fao.org/termportal/contr/fr/ + + + + + + + + ISO 3166-1 + http://www.iso.org/iso/country_codes/iso_3166_code_lists.htm + ISO 3166-1 http://www.iso.org/iso/country_codes/iso_3166_code_lists.htm + + + http://www.fao.org/termportal/en/ + 2010-06-24 + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/zh/ + FAO terminology http://www.fao.org/termportal/en/ + FAO terminology + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/fr/ + + + + FAO terminology + http://www.fao.org/termportal/contr/ar/ + + http://www.fao.org/termportal/contr/en/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + 2010-06-24 + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/zh/ + + + http://hdrstats.undp.org/en/indicators/49806.html + http://hdrstats.undp.org/en/indicators/49806.html + http://hdrstats.undp.org/fr/indicateurs/49806.html + 2010-11-04 + UNDP - HDRO + + UNDP - HDRO http://hdrstats.undp.org/en/indicators/49806.html + composite index measuring average achievement in three basic dimensions of human development—a long and healthy life, knowledge and a decent standard of living. Source: Calculated based on data from UNDESA (2009d), Barro and Lee (2010), UNESCO Institute for Statistics (2010b), World Bank (2010b) and IMF(2010a) . http://hdrstats.undp.org/en/indicators/49806.html + http://hdrstats.undp.org/es/indicadores/49806.html + + + + + + + + + + + + + + http://www.fao.org/termportal/contr/es/ + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/zh/ + http://www.fao.org/termportal/contr/fr/ + FAO terminology + 2010-06-24 + + + + + United Nations Statistics Division + http://unstats.un.org/unsd/methods/m49/m49alpha.htm + http://unstats.un.org/unsd/methods/m49/m49alphaf.htm + 2010-04-01 + United Nations Statistics Division http://unstats.un.org/unsd/methods/m49/m49alpha.htm + + + + + + + The value of the datatype property *validUntil* associated to a particular area (territory or group) indicates the area's last year of validity. In case the area is currently valid, this value is set by default to 9999. + + + + + + + + + + + + + + + + + + + + + + diff --git a/productMods/WEB-INF/ontologies/update/oldVersion/isDefinedBy-1.5.owl b/productMods/WEB-INF/ontologies/update/oldVersion/isDefinedBy-1.5.owl new file mode 100644 index 00000000..df14801a --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldVersion/isDefinedBy-1.5.owl @@ -0,0 +1,25 @@ + + + + + diff --git a/productMods/WEB-INF/ontologies/update/oldVersion/scires-1.5.owl b/productMods/WEB-INF/ontologies/update/oldVersion/scires-1.5.owl new file mode 100644 index 00000000..1d58e2f2 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldVersion/scires-1.5.owl @@ -0,0 +1,208 @@ + + + + ero + + + A service that produces a physical object or data, such as a custom micro-array chip, a made to order antibody, or a behavioral dataset + + A service that produces a physical object or data. + + + eagle-i: Material entity that is used in a chemical reaction or other experimental process to detect, measure, examine, or produce other substances. +NOTE: For now we are not addressing whether this is a subclass of foaf:Agent + Material entity that is used in a chemical reaction or other experimental process to detect, measure, examine, or produce other substances. + + + In Phase I trials, researchers test an experimental drug or treatment in a small group of people (20-80) for the first time to evaluate its safety, determine a safe dosage range, and identify side effects + Phase 1 Clinical Trial + + + + + + OBI: An organism is material entity that is an individual living system, such as animal, plant, bacteria or virus, that is capable of replicating or reproducing, growth and maintenance in the right environment. An organism may be unicellular or made up, like humans, of many billions of cells divided into specialized tissues and organs. +NOTE that we are not addressing for now the issue of whether a foaf:Person is a subclass of obi:Organism + An organism is a material entity that is an individual living system, such as animal, plant, bacteria or virus, that is capable of replicating or reproducing, growth and maintenance in the right environment. + + + + + + A clinical trial is a research study using human volunteers to answer questions about treatments for diseases and conditions. Clinical trials are conducted in phases. The trials at each phase have a different purpose and help scientists answer different questions. + A research study using human volunteers to answer specifc health-related questions. + + + eagle-i: Material entity that is a portion or quantity of a biological material for use in testing, examination, or study. A biological specimen can be an individual animal, part of or derived an animal, plant, part of a plant, or microorganism. When a taxon is described, it is typically based on a single specimen and is referred to as the holotype. + An individual animal, part of or derived an animal, plant, part of a plant, or microorganism. + A portion or quantity of a biological material for use in testing, examination, or study. + + + + In Phase 3 trials, an experimental study drug or treatment is given to large groups of people (1,000-3,000) to confirm its effectiveness, monitor side effects, compare it to commonly used treatments, and collect information that will allow the experimental drug or treatment to be used safely. + + Phase 3 Clinical Trial + + + + + + + + + + + An implement used to facilitate work, especially precision work. + An implement used to facilitate work, especially precision work. + + + + + A protocol is a plan specification which has sufficient level of detail and quantitative information to communicate it between domain experts, so that different domain experts will reliably be able to independently reproduce the process. + A plan specification that allows different domain experts to reliably and independently reproduce a process. + + + + Phase 0 is a recent designation for exploratory, first-in-human trials conducted in accordance with the United States Food and Drug Administration's (FDA) 2006 Guidance on Exploratory Investigational New Drug (IND) Studies. Phase 0 trials are also known as human microdosing studies and are designed to speed up the development of promising drugs or imaging agents by establishing very early on whether the drug or agent behaves in human subjects as was expected from preclinical studies. + Phase 0 Clinical Trial + + + Phase 4 Clinical Trial + In Phase 4 trials, post marketing studies delineate additional information including the drug's or treatment's risks, benefits, and optimal use. + + + + + A service in which a service consumer receives the right to use a resource (instrument, database, software, etc) that is owned or managed by a service provider. Ownership of the accessed resource remains with the service provider during and after provision of service. + A service in which a service consumer receives the right to use a resource (instrument, database, software, etc) that is owned or managed by a service provider. Ownership of the accessed resource remains with the service provider during and after provisi + + + The comment in ero says "Maybe sameAs Investigation but is subject of funding" + + A project whose goal is the increase of knowledge, the primary aim being a greater knowledge or understanding of the subject under study. + + + eagle-i: Research project that uses or collects measurements or assessments about humans. + Research project that uses or collects measurements or assessments about humans. + + + + Phase 2 Clinical Trial + + In Phase 2 trials, an experimental study drug or treatment is given to a larger group of people (100-300) to see if it is effective and to further evaluate its safety. + + + A service in which a service consumer provides some material or data as input which a service provider stores and returns as output. + A service in which a service consumer provides some material or data as input which a service provider stores and returns as output. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Every clinical trial in the United States must be approved and monitored by an Institutional Review Board (IRB). An IRB is an independent committee of physicians, statisticians, community advocates and others whose objective is to ensure that a clinical trial is ethical and the rights of study participants are protected. + + + + + number of human participants in the study (trial). + + + + ClinicalTrials.gov is an ICMJE-acceptable public registry, offering up-to-date information for locating clinical trials for a wide range of diseases and conditions. The U.S. National Institutes of Health (NIH), through its National Library of Medicine (NLM), developed this site in collaboration with the Food and Drug Administration (FDA), as a result of the FDA Modernization Act, which was passed into law in November 1997. This property should be publically visible since it is one of the principal identifiers in a national registry of clinical trials + NCT00000419 + + + diff --git a/productMods/WEB-INF/ontologies/update/oldVersion/vivo-bibo-1.5.owl b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-bibo-1.5.owl new file mode 100644 index 00000000..33ccab46 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-bibo-1.5.owl @@ -0,0 +1,1417 @@ + + + Audiovisual recording in film format + + + + stable + http://purl.org/ontology/bibo/ + aka movie. + + + A main division of a book + A chapter of a book. + + + + unstable + http://purl.org/ontology/bibo/ + + + A passage selected from a larger work. + + + + A passage selected from a larger work + stable + http://purl.org/ontology/bibo/ + Short Definition from the bibo ontology + + + stable + http://purl.org/ontology/bibo/ + A group of related documents issued at regular intervals. + + + + + + + + + + + + + + + + + + + + + + + + + + + + A work consisting of texts of rules and regulations related to statutes issued by executive or administrative agencies + stable + http://purl.org/ontology/bibo/ + + A collection of statutes. + Short Definition from OCLC Input Standards, EntW + Code of Federal Regulations + + + Notes or annotations about a resource + + + + Notes or annotations about a resource. + Short Definition from bibo ontology + stable + http://purl.org/ontology/bibo/ + + + stable + + + + A document describing an account or statement describing in detail an event, situation, or the like, usually as the result of observation, inquiry, etc. + http://purl.org/ontology/bibo/ + A document describing an account or statement describing in detail an event, situation, or the like, usually as the result of observation, inquiry, etc.. + + + + + + + + + Medical Subject Heading (MeSH) definition of Technical Report: Work consisting of a formal report giving details of the investigation and results of a medical or other scientific problem. When issued by a government agency or comparable official body, its contents may be classified, unclassified, or declassified with regard to security clearance. This publication type may also cover a scientific paper or article that records the current state or current position of scientific research and development. If so labeled by the editor or publisher, this publication type may be properly used for journal articles. + + + http://purl.org/ontology/bibo/ + A compilation of documents published from an event, such as a conference. + unstable + Short Definition copied from bibo ontology + A compilation of documents published from an event, such as a conference + + + + + + A document describing a standard + stable + A specification giving a precise statement of a process or a service requirement, often sanctioned by a nation or industry + http://purl.org/ontology/bibo/ + + + + Short Definition from OCLC Input Standards, EntW + + + http://purl.org/ontology/bibo/ + a document that states some contractual relationship or grants some right + + + + A legal document; for example, a court decision, a brief, and so forth. + stable + + + + + + + + + + + Short Definition from the bibo ontology + A distinct part of a larger document or collected document + + + + http://purl.org/ontology/bibo/ + a distinct part of a larger document or collected document. + unstable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Short Definition copied from bibo ontology + + + + + + + + + + + + + + + + + + http://purl.org/ontology/bibo/ + + + + + + + + + A written or printed work of fiction or nonfiction, usually on sheets of paper fastened or bound together within covers. + A written or printed work of fiction or nonfiction, usually on sheets of paper fastened or bound together within covers + stable + + + + + + + + + + + A collection of Documents or Collections + Hill Ornithology Collection; Wiley Interscience Online Books Biochemisty Collection + Collection of information resources that have a unified identity. Archives, museums and libraries often acquire collections on specific subjects and from distinguished authors or researchers. Also includes collections of resources bundled into a license. + http://purl.org/ontology/bibo/ + Collection of information resources that have a unified identity + + stable + + + http://purl.org/ontology/bibo/ + stable + The status of the publication of a document. + The status of a document with respect to its publication. The statuses are represented as individuals of this class. Use the "show all individuals of this class" button on the class control panel to see the currently defined statuses. + submitted; accepted; in-press; published; invited; refereed. + The status of a document with respect to its publication. + + + Something carried out, acted or rendered. + unstable + + A public performance. + http://purl.org/ontology/bibo/ + + + A legal document proposing or enacting a law or a group of laws. + http://purl.org/ontology/bibo/ + + Enactments of legislative bodies, published in either statute or code form + unstable + From OCLC Input Standards, EntW + + + A written or printed communication addressed to a person or organization and usually transmitted by mail + A written or printed communication addressed to a person or organization and usually transmitted by mail + + + + + + A web page is an online document available (at least initially) on the world wide web. A web page is written first and foremost to appear on the web, as distinct from other online resources such as books, manuscripts or audio documents which use the web primarily as a distribution mechanism alongside other more traditional methods such as print. + unstable + One section of a website that appears at a unique address within the parent site's address or URL on the World Wide Web + http://purl.org/ontology/bibo/ + + + + + + stable + http://purl.org/ontology/bibo/ + Recorded audio in any format + An audio document; aka record. + + + + + + + + + phonograph record; tape; CD; DVD; DAT + + + + + + Short Definition from the bibo ontology + + + + + + + + + unstable + A section of a book + + + + + + + + + + http://purl.org/ontology/bibo/ + + + + + + + + + A section of a book. + + + http://purl.org/ontology/bibo/ + unstable + The written determination of a case, motion or claim by a court or tribunal + A document containing an authoritative determination (as a decree or judgment) made after consideration of facts or law. + + + + + + + A group of webpages available within a specific parent address or URL on the World Wide Web + unstable + A group of Webpages accessible on the Web. + Facebook; VIVOweb.org; Flickr + + + + + + + http://purl.org/ontology/bibo/ + + + An instance or a session in which testimony and arguments are presented, esp. before an official, as a judge in a lawsuit. + http://purl.org/ontology/bibo/ + Definiton from Bibo here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + An instance or a session in which testimony and arguments are presented, esp. before an official, as a judge in a lawsuit. + + stable + + + unstable + A document stating the facts and points of law of a client's case + + + + http://purl.org/ontology/bibo/ + A written argument submitted to a court. + + + http://purl.org/ontology/bibo/ + A document that simultaneously contains other documents. + Short Definition is the Medical Subject Heading (MeSH) definition + + + + + + + stable + Work consisting of collections of previously published works + + + + + + stable + + + + An audio-visual document; film, video, and so forth. + + + + + + + + + Audiovisual recording in any format + film; video; Blu-ray + http://purl.org/ontology/bibo/ + + + stable + + A conversation between two or more people where questions are asked by the interviewer to obtain information from the interviewee. + http://purl.org/ontology/bibo/ + A formalized discussion between two or more people. + radio or newspaper interview + + + http://purl.org/ontology/bibo/ + stable + something that is printed or published and distributed, esp. a given number of a periodical + Short Definition from the bibo ontology + something that is printed or published and distributed, esp. a given number of a periodical + + + + + + + + + + A patent is an exclusive right granted for an invention, which is a product or a process that provides, in general, a new way of doing something, or offers a new technical solution to a problem. In order to be patentable, the invention must fulfill certain conditions. (http://www.wipo.int/patentscope/en/) + + + + A document describing the exclusive right granted by a government to an inventor to manufacture, use, or sell an invention for a certain number of years. + stable + http://purl.org/ontology/bibo/ + (from BIBO) A document describing the exclusive right granted by a government to an inventor to manufacture, use, or sell an invention for a certain number of years + + + + + + + + + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + An excerpted collection of words. + stable + + An excerpted collection of words + + + Contains news articles, opinions, features, advertising, and is usually issued daily or weekly + A periodical of documents, usually issued daily or weekly, containing current news, editorials, feature articles, and usually advertising. + USA Today + stable + + http://purl.org/ontology/bibo/ + + + + + + + + + Journal of Information Science; IEEE Intelligent System; Scientometrics + Contains original scholarly research or review articles by experts in the field + A periodical of scholarly journal Articles. + stable + Articles usually contain abstracts and bibliographies. Includes peer-reviewed, non-peer-reviewed, and open access journals. Journals are usually indexed in the major academic databases such as PubMed and Web of Science. + + http://purl.org/ontology/bibo/ + + + + A document accompanying a legal case. + Official court papers for a case + http://purl.org/ontology/bibo/ + unstable + + + stable + Collection of legal cases + A collection of legal cases. + + Supreme Court Reporter + http://purl.org/ontology/bibo/ + + + + + + A personal communication manifested in some document. + A personal communication manifested in some document. + + + Contains articles of current events or general interest, geared to the reading public as being informative or recreational + + A periodical of magazine Articles. A magazine is a publication that is issued periodically, usually bound in a paper cover, and typically contains essays, stories, poems, etc., by many writers, and often photographs and drawings, frequently specializing in a particular subject or area, as hobbies, news, or sports. + stable + Abstracts and bibliographies are usually not included in magazines. + New Yorker + http://purl.org/ontology/bibo/ + + + http://purl.org/ontology/bibo/ + The academic degree of a Thesis. + The academic degree of a Thesis + Doctor of Philosophy (Ph.D.) + Different from general academic degree, thesis degree is achieved through one's completed thesis. Thesis is a document submitted in support of candidature for a degree or professional qualification presenting the author's research and findings(http://en.wikipedia.org/wiki/Thesis_or_dissertation). + + stable + + + + + + photograph; diagram + stable + http://purl.org/ontology/bibo/ + A document that presents visual or diagrammatic information. + + + + A visual representation such as a photograph or graph + + + Methods in Molecular Biology + + + + + + + + + + http://purl.org/ontology/bibo/ + A thematic collection of documents, usually books, issued at regular or irregular intervals + A loose, thematic, collection of Documents, often Books. + + + + + + + + + stable + + + Works created to satisfy the requirements for an academic certification or degree; also called dissertation + http://purl.org/ontology/bibo/ + + + + + + + stable + A document created to summarize research findings associated with the completion of an academic degree. + Short Definition from OCLC Input Standards, EntW + + + + + + + + + + + + A bounded physical representation of a body of information designed with the capacity (and usually intent) to communicate + + + + + + + + + + Short Definition from the bibo ontology + + + + + + + stable + http://purl.org/ontology/bibo/ + + + + + + + + + + + + + + + A document (noun) is a bounded physical representation of body of information designed with the capacity (and usually intent) to communicate. A document may manifest symbolic, diagrammatic or sensory-representational information. + + + + + + + + + A presentation of a series of slides, usually presented in front of an audience with written text and images. + http://purl.org/ontology/bibo/ + stable + Short Definition from the bibo ontology + + A presentation of a series of slides, usually presented in front of an audience with written text and images + + + stable + Draft legislation presented for discussion to a legal body. + + Draft legislation presented for discussion to a legal body + http://purl.org/ontology/bibo/ + Short Definition from the bibo ontology + + + A specific academic journal article + Written by scholars for other scholars, typically published in an academic journal with an abstract and bibliography + http://purl.org/ontology/bibo/ + + + + + + + + + + + + + + + A scholarly academic article, typically published in a journal. + + + + stable + + + unstable + http://purl.org/ontology/bibo/ + A document that presents authoritative reference information, such as a dictionary or encylopedia . + A document that presents authoritative reference information, such as a dictionary or encylopedia + + Short Definition from the bibo ontology + + + SDB User Manual + http://purl.org/ontology/bibo/ + A book of instructions or guide to a specific topic + unstable + A small reference book, especially one giving instructions. + + + + Bibo Definition: A seminar, discussion group, or the like, that emphasizes exchange of ideas and the demonstration and application of techniques, skills, etc. + http://purl.org/ontology/bibo/ + + stable + A seminar, discussion group, or the like, that emphasizes zxchange of ideas and the demonstration and application of techniques, skills, etc. + + + + + + + + + An edited book. + + + + + + + + + http://purl.org/ontology/bibo/ + Best American Science Writing 2009 + + stable + An edited collection of stand-alone articles published as a book + + + + + + + + + http://purl.org/ontology/bibo/ + The Short Definition is how the bibo ontology defines Map. It has been extended to include more broader concept of map which includes science maps, social network maps. + A graphical depiction of geographic features. + A graphical depiction of geographic features, scientific discipline, scientific data analytical results + + unstable + + + + + + + + + + + + + + + + + + + + http://purl.org/ontology/bibo/ + A specific journal article + + + + + + + + + A written composition in prose, usually nonfiction, on a specific topic, forming an independent part of a periodical or book + Short Definition modified from the bibo ontology. + A written composition in prose, usually nonfiction, on a specific topic, forming an independent part of a book or other publication, as a newspaper or magazine. + stable + + + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + + A slide in a slideshow + A slide in a slideshow + unstable + + + A meeting for consultation or discussion. + + core:Seminar and bibo:Conference are very similar. + 2010 International Congress on Autoimmunity; American Libraries Association 2009 + A meeting for consultation or discussion. + + + + + + + http://purl.org/ontology/bibo/ + stable + + + http://purl.org/ontology/bibo/ + Works prepared by hand including handwritten or typescript drafts of pre-publication papers or works not otherwise reproduced in multiple copies + An unpublished Document, which may also be submitted to a publisher for publication. + Short Definition is the Medical Subject Heading (MeSH) definition + stable + + + + A bill enacted into law. + + A bill enacted into law + stable + http://purl.org/ontology/bibo/ + Short Definition from bibo ontology + + + http://purl.org/ontology/bibo/ + The source of the public description and this info is found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html. Bibo considers this term "unstable". The bibo editorial note is: "We are not defining, using an enumeration, the range of the bibo:degree to the defined list of bibo:ThesisDegree. We won't do it because we want people to be able to define new degress if needed by some special usecases. Creating such an enumeration would restrict this to happen." + unstable + We are not defining, using an enumeration, the range of the bibo:degree to the defined list of bibo:ThesisDegree. We won't do it because we want people to be able to define new degress if needed by some special usecases. Creating such an enumeration would restrict this to happen. + + The thesis degree. + + + + Public Description from source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . Bibo considers the bibo:presents and the bibo:presentedAt unstable terms. It also indicates that bibo:presents is a sub-property of event:product. + + + + http://purl.org/ontology/bibo/ + + Relates an event to associated documents; for example, conference to a paper. + unstable + + + + + stable + http://purl.org/ontology/bibo/ + Definition take from this site: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . + A Film director. + + + + + A legal decision that affirms a ruling. + The public description was taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + + + http://purl.org/ontology/bibo/ + + + + + + stable + http://purl.org/ontology/bibo/ + + + + + + + + + + + + + + Critical or explanatory note for a Document. + The public description source is: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html. + stable + http://purl.org/ontology/bibo/ + + + + An entity responsible for issuing often informally published documents such as press releases, reports, etc. This term is classified as unstable by bibo. + An entity responsible for issuing often informally published documents such as press releases, reports, etc. + http://purl.org/ontology/bibo/ + + unstable + + + + unstable + + + + http://purl.org/ontology/bibo/ + Public Description from source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . Bibo considers the bibo:presents and the bibo:presentedAt unstable terms. It also indicates that bibo:presents is a sub-property of event:product. + + Relates a document to an event; for example, a paper to a conference. + + + + Definition from bibo: A person having managerial and sometimes policy-making responsibility for the editorial part of a publishing firm or of a newspaper, magazine, or other publication. + + + + + A legal decision that reverses a ruling. + http://purl.org/ontology/bibo/ + The first sentence of the public description was taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + + + + + + + + + An agent that receives a communication document. + stable + http://purl.org/ontology/bibo/ + + + + + + + + + + + + http://purl.org/ontology/bibo/ + stable + An agent that is interviewed by another agent. + + + http://purl.org/ontology/bibo/ + + Public description take from: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html. Bibo considers this property "unstable". + + A court associated with a legal document; for example, that which issues a decision. + unstable + + + + + + + + + + + + + + Public Description for bibo:distributor taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . + + + + An agent that interview another agent. + + stable + http://purl.org/ontology/bibo/ + + + + A legal decision on appeal that takes action on a case (affirming it, reversing it, etc.). + + Public description is from comments of this object property in bibo ontology located here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + + + http://purl.org/ontology/bibo/ + + + + http://purl.org/ontology/bibo/ + Relates a translated document to the original document. + stable + + Examples shows a book has French language version. Public description source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . + + + + paraphrased editorial note from the bibo ontology: We are not defining, using an enumeration, the range of the bibo:status to be a defined list of bibo:DocumentStatus. This is because we want people to be able to define new statuses if needed; and creating such an enumeration would prevent this. + + + + unstable + + + http://purl.org/ontology/bibo/ + The bibo:transcriptOf public description was found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . Bibo considers this term unstable. + Relates a document to some transcribed original. + + + + The bibo:reviewOf public description was found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . As of 26 May 2010, bibo:reviewOf is used with the class Review, but core:reviewIn doesn't seem to be being used. + + + + + stable + An identifier of serials, still in use by libraries, but replaced by ISSN for any new work + http://purl.org/ontology/bibo/ + CODEN became particularly common in the scientific community as a citation system for periodicals cited in technical- as well in chemistry-related publications and as a search tool in many bibliographic catalogues. +Definition and description came from Wikipedia here: http://en.wikipedia.org/wiki/CODEN + + + + + + + + + + A summary of the resource. + stable + + http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + http://purl.org/dc/terms/ + + + stable + The prefix of a name + + http://purl.org/ontology/bibo/ + Mr; Ms; Mrs + + http://dictionary.reference.com/browse/prefix + + + Definition source: http://en.wikipedia.org/wiki/European_Article_Numbering-Uniform_Code_Council. +The Uniform Code Council (UCC) was the Numbering Organization in the USA to administer and manage the EAN.UCC System. In 2005 the UCC changed its name to GS1 US. + http://purl.org/ontology/bibo/ + stable + European Article Number/Uniform Commercier Code 13 + + + + + + Source: http://en.wikipedia.org/wiki/Library_of_Congress_Control_Number. + Library of Congress Control Number + + + + stable + http://purl.org/ontology/bibo/ + + + + + + stable + http://info-uri.info/registry/OAIHandler?verb=GetRecord&metadataPrefix=reg&identifier=info:oclcnum/. + + +bibo has the domain of this property set to the union of Collection and Document. + OCLC Identifier + http://purl.org/ontology/bibo/ + + + + + + + + + An section number + http://purl.org/ontology/bibo/ + Di Rado, Alicia. 1995. Trekking through college: Classes explore +modern society using the world of Star trek. Los Angeles Times, March +15, sec. A, p. 3. + unstable + + + Serial Item and Contribution Identifier + + + + stable + A sub property of identifier (http://en.wikipedia.org/wiki/SICI). + http://purl.org/ontology/bibo/ + + + Global Trade Item Number 14 + http://en.wikipedia.org/wiki/Global_Trade_Item_Number. + http://purl.org/ontology/bibo/ + stable + + + + + + http://purl.org/ontology/bibo/ + + + + stable + Digital Object Identifier + + + Bibo has the domain of bibo:issue as the class Issue, but an example on their site uses it with Article, referring to the issue number "4" + + + + + + + + Starting page number within a continuous page range. + + + + + http://purl.org/ontology/bibo/ + stable + + + http://purl.org/ontology/bibo/ + The idea here is that while dcterms:description may involve length descriptions, this for short (two or three word) descriptions that could go in a bibliographic entry. + unstable + A short description of the resource. + + + + http://purl.org/ontology/bibo/ + + stable + definition from: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + A description (often numeric) that locates an item within a containing document or collection. + + + + International Standard Serial Number + stable + http://purl.org/ontology/bibo/ + source: http://en.wikipedia.org/wiki/Issn + + + An chapter number + + Title of the chapter (this individual) currently should be entered in the individual name (rdfs:label). Title of the book belongs on a separate Book individual related to the chapter via the core:partOf property (or its child property bibo:reproducedIn). The core:title field is deprecated and should no longer be used as of version 1.1 -- we will want to map rdfs:label to dc:title for query or linked data requests in the future + http://purl.org/ontology/bibo/ + + unstable + + + http://purl.org/ontology/bibo/ + + stable + source for public description: http://en.wikipedia.org/wiki/Universal_Product_Code. + Universal Product Code + + + stable + http://purl.org/ontology/bibo/ + eissn stands for Electronic International Standard Serial Number. source: http://www.definition-of.com/EISSN + The electronic ISSN number of a periodical. + + + + http://purl.org/ontology/bibo/ + The PubMed ID (PMID) identifies a citation record (rather than full-text) in the PubMed database. It is not evidence of compliance with the NIH Public Access Policy, because it does not identify a full-text submission of any kind. + stable + PubMed Identifier + + + + + Definition from: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + + + + + + stable + http://purl.org/ontology/bibo/ + The name defining a special edition of a document. Normally its a literal value composed of a version number and words. + + + + + http://en.wikipedia.org/wiki/Isbn. + + + + Ending page number within a continuous page range. + stable + + + http://purl.org/ontology/bibo/ + + + + source: http://en.wikipedia.org/wiki/Isbn. + + + + + + Jr.; III;; M.D. + + stable + The suffix of a name + http://purl.org/ontology/bibo/ + + + 020530902X + + stable + Amazon standard identification number. Source: http://en.wikipedia.org/wiki/Amazon_Standard_Identification_Number. + Amazon Standard Identification Number + http://purl.org/ontology/bibo/ + + + + Definition from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + + + + diff --git a/productMods/WEB-INF/ontologies/update/oldVersion/vivo-c4o-1.5.owl b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-c4o-1.5.owl new file mode 100644 index 00000000..bb6f0493 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-c4o-1.5.owl @@ -0,0 +1,51 @@ + + + A source of information about bibliographic citations, such as Google Scholar, Web of Science or Scopus. + + + The number of times a work has been cited globally, as determined from a particular bibliographic information source on a particular date. + + + + A property linking a publication entity to the property c40:GlobalCitationCount that specify how many times a work has been cited by others, according to a particular information source on a particular date. + + + + A property linking the property c40:GlobalCitationCount to the bibliographic information source providing the global citation count information for a particular publication on a particular date. + + + + + + An integer defining the value of the global citation count of a cited entity recorded from a named bibliographic information source on a particular date. + + + + + The date on which the global citation count of the cited entity was recorded from a named bibliographic information source. + + diff --git a/productMods/WEB-INF/ontologies/update/oldVersion/vivo-core-1.5.owl b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-core-1.5.owl new file mode 100644 index 00000000..70cbb052 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-core-1.5.owl @@ -0,0 +1,3492 @@ + + + + + + + + + + + 0.7 + + + + + + 0.1 + + + Legal (department within a company); Use for any non-academic department + Definition modified from the definition here: http://dictionary.reference.com/browse/department. It is difficult to tell the difference between and department and a division. + + + + + + + + + + + A distinct, usually ongoing and specialized unit within a large organization. + + + + + + 2 + + + + + + + Independent organizations formally working together toward a common goal, under an expressed agreement + Committee on Institutional Cooperation (CIC); The Five Colleges of Ohio + + + + + + + + + + + Enter room number of name. + 100 Caldwell Hall; 114 Martha Van Rensselaer (Rushmore Conference Room) + + + + Room that provides a particular service or is used for a particular activity. + + + + + + + + + + + There could be many subclasses such as thesis committee or tenure committee, but these may typically be differentiated via the moniker unless distinct properties become important. + Curriculum Steering Committee; PhD Advisory Committee + A group of people organized for a specific purpose (e.g., a reporting or advisory role), often with a charge and for a specific duration. + + + + An institution for instruction in a particular skill or field. + School of Architecture; School of Music + + Definition take from here: http://dictionary.reference.com/browse/school. + + + + + + Role of a person to direct a project or activity being supported by an Agreement (for example, a grant), and who is accountable to the grantee for the proper conduct of the project or activity. Also known as Program Director or Project Director. + + + + + + An explicit individual academic term, quarter, or semester rather than the generic fall, spring or summer semester. + + + + + + F1000, is a place where faculty go to critique papers published in PubMed. Any given record in F1000 might have anywhere from one to dozens of reviews. + + + + + + Short Definition take from http://en.wiktionary.org/wiki/continent. + The seven commonly recognized continents are Africa; Antarctica; Asia; Australia; Europe; North America; South America + A large contiguous landmass that is at least partially surrounded by water, together with any islands on its continental shelf. + + + A specific blog posting + + + + + + + + + + + + An online article or commentary appearing on a blog + + + + + + A lab providing services such as training, protocols, or access to instruments or software + + + A qualitative descriptive research study of individuals or a group + + A form of qualitative descriptive research that is used to study individuals, a small group of participants, or a group as a whole. Medical usage (from MeSH): clinical presentations that may be followed by evaluative studies that eventually lead to a diagnosis. + + + An organized series of a meeting for an exchange of ideas, typically put on by a department or center. + + + + Applied Microeconomics Seminars; Future of Rural New York Seminar Series + For individual seminars, use seminar instead. core:ConferenceSeries and core:SeminarSeries are very similar. + + + Definition obtained here: http://answers.ask.com/Business/Finance/what_is_a_private_company. Examples of private companies found here: http://www.forbes.com/2008/11/03/largest-private-companies-biz-privates08-cx_sr_1103private_land.html + + + + Publix Super Markets; Ernst & Young; PricewaterhouseCoopers + A private company is one that is privately-owned, and thus, is not publicly-traded in the stock market. Members of the general public cannot purchase stock in a private company unless that company chooses to go public and become a public company. + + + + An article reviewing one or more other information resources (a book, one or more other articles, movies, etc) + + + + + + + + + + + + + 1 + + + + + + An academic degree at any level, both as reported by individuals for employment and as offered by academic degree programs. + + + 1 + + + + + + This list may have multiple abbreviations for some degrees. + B.A. Bachelor of Arts + + + US postal address follow the format street, apt or office number (optional), city, state, and zipcode. + + + 1 + + + + + + 1320 East 10th Street, Wells Library 021 Bloomington, IN 47405 + + + + + + 1 + + + + + + Formal address in US postal address system. + + + 1 + + + + + + + + A broad-ranging leader concept, from leading a small temporary committee to head of a large international organization. + + + + A leadership role + + + + An institution of higher education and research, which grants academic degrees in a variety of subjects, and provides both undergraduate education and postgraduate education. + University of Florida; Washington University in St. Louis + + + + + + + + + Definition taken from: http://en.wikipedia.org/wiki/University + + + Use only if no specific subclasses of core:Student describe the person. + + A person who is enrolled in an educational institution. + + + One of a number of areas or communities having their own governments and forming a federation under a sovereign government, as in the US. + + + + Source of the Short Definition: http://www.thefreedictionary.com/state. + Minnesota; Michigan; Indiana; New York; Quebec; Manitoba; Ontario + + + + + + A role that encompasses both ongoing reviewer responsibility for a bibo:Collection, such as a Journal or Series, and also a review performed for a bibo:Document, such as a book, academic article or conference paper. + A role that encompasses both ongoing reviewer responsibility for a bibo:Collection, such as a Journal or Series, and also a review performed for a bibo:Document, such as a book, academic article or conference paper. + + + It's anticipated that the subclasses will be used when classifying items. And, all locations can be viewable via this class. + Use subclasses of core:Location when classsifying items. + Top level of all location classes. + + + + + + A role in an Agreement (for example, a grant) as a named investigator or key personnel. + + + College of Arts & Sciences; Ivy Tech Community College + + + + + + + + + + A primary academic unit within a University or a free-standing higher education organization without graduate degree programs. + + + + + + see also core:Certificate + An issued certificate + + + + A document created as a basis for discussion or a very early draft of a formal paper + + + + + + + + + + + + A retired librarian who has retained their rank, title and privileges. + + + + + + A role of observing or treating patients + + + from Wikipedia: "A company is a form of business organization. It is an association or collection of individual real persons and/or other companies ... This collection, group or association of persons can be made to exist in law and then a company is itself considered a "legal person". The name company arose because, at least originally, it represented or was owned by more than one real or legal person." + a legally-recognized business organization + + + + a specific period or duration, defined by (optional) start and end date/times. + + + A position classified as professional, staff, support, or any other non-academic role + + + + Staff, support, and other non-academic positions. + + + + + + + + + + + + + + + + + + + Accounting & Research Services Assistant; Director of Information Technology + + + + + + A granted license, which gives a 'permission to practice.' Such licenses are usually issued in order to regulate some activity that is deemed to be dangerous or a threat to the person or the public or which involves a high level of specialized skill. See also core:License. + A granted license, which gives a 'permission to practice.' + + + + + + A retired professor who has retained their rank, title and privileges. + + + + is a generic term for a process of self-regulation by a profession or a process of evaluation involving qualified individuals within the relevant field. Peer review methods are employed to maintain standards, improve performance and provide credibility. In academia the term is often used to denote a prepublication review of academic papers; reviewing an academic paper is often called refereeing. +Contents +[hide] + + A role of peer reviewing + + + A location having coordinates in geographic space. + + + + Removed the word "stable" because disputed territories from geopolitical.owl are included. This could imply that the geographic coordinates could change. This definition was originally in core:Geographic Location. I simply copied the definition from there. I think core:Geographic Location and core:Geographic Region are both the same and only one is needed. There is also geopolitical.owl:geographical_region which further causes confusion. + Use subclasses of core:Geographic Region subclasses instead of this class if possible. + + + + + + An area of land distinguished by its political autonomy. Politically independent territories. + Source of the Short Definition: http://www.thefreedictionary.com/country. This is also the same as geopolitical.owl:self_governing. + Afghanistan; Antigua and Barbuda; Cameroon; Iceland; Jamaica; Nigeria; United States of America + + + + + + + + Alachua County Extension Office + + A unit devoted primarily to extension activities, whether for outreach or research. + + + For individual, separate conferences, use conference instead. core:ConferenceSeries and core:SeminarSeries are very similar. + An organized series of a meeting for consultation or discussion. + + + + + + + Text of a speech written in preparation for delivery of the speech. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A negotiated arrangement between two or more parties regarding a course of action + + + + A person registered in an undergraduate program leading to a bachelor's degree or an undergraduate diploma or certificate. + + + A government agency is a permanent or semi-permanent organization in the machinery of government that is responsible for the oversight and administration of specific functions. + Definition take from: http://en.wikipedia.org/wiki/Government_agency. + + United States Library of Congress + + + Definition was take from here: http://dictionary.reference.com/browse/museum + A building or place where works of art, scientific specimens, or other objects of permanent value are kept and displayed. + The Getty Museum + + + + Those positions are held by people who do academic work but do not have faculty positions in universities or institutes. + + + + + + + + + + + + + + + + + + + + + + Researcher; Academic Extension Associate; Postdoctoral Associate + A position involving academic work but without faculty status + + + + National Institute of Health (NIH) + + + + + + + + + + + A defined class of organizations that fund Grants. + + + + Written script for a film production, including dialogue and descriptions of gestures, actions, shooting directions + + + Licenses are usually issued in order to regulate some activity that is deemed to be dangerous or a threat to the person or the public or which involves a high level of specialized skill. See also core:Licensure. + Official or legal permission to do something + + + + + + A laboratory that provides services + Ideally a defined class -- a Laboratory the provides some Service via the property + + + + + + + + + + + + + + Elsevier; Harper & Row; Indiana University Press + + A person or company whose business is the publishing of books, periodicals, engravings, computer software, etc. + Definition found here: http://dictionary.reference.com/browse/publisher + + + Use subclasses of core:Facility subclasses instead of this class if possible + Something designed, built, installed, etc., to serve a specific function or activity affording a convenience or service. + + + + Distinct from the organization that runs it; e.g., a laboratory may be an organization but may be run by another organization and only consist of facilities housing equipment or services. Can be a building or place that provides a particular service or is used for a particular activity. Use the specific Building or Room whenever possible. Short definition from http://dictionary.reference.com/browse/facility. + + + The example is one outreach role required by US space agency NASA, which is related with one project in NASA. Name of the outreach role should be put here. + Communicating Astronomy to the Public + An outreach or community service role directed outside a person's primary profession and institution + + + + + + + + + Are we assuming that a PresenterRole is in a Presentation? Or could you have a PresenterRole in, say, a committee? + + + + + + + + + A role of presenting information + + + + + + A position designated as primary by the organization where it is held. + A position designated as primary by the organization or group where it is held. This designation may be applied to zero or more of an agent's positions and may be asserted in conjunction with other subclasses of position. + + + + A gathering of people for a defined purpose, not necessarily public or announced + + + + An article of opinion, typically published in a newspaper. For academics, most commonly Op Ed pieces + + + The most general classification of an information resource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The Ford Foundation + + An institution financed by a donation or legacy to aid research, education, the arts, etc. + Definition take from: http://dictionary.reference.com/browse/foundation. + + + Regularly updated online journal or newsletter by one or more writers, called bloggers, containing articles and commentary of interest to the blogger + + Blog is short for weblog. + Library of Congress Blog + + + + Definition take from here: http://en.wikipedia.org/wiki/Student_society + A student organization is an organization, operated by students at a university, whose membership normally consists only of students. + Dancin' Gators + + + An Award or Honor + An Award or Honor + + + + + + + + + Wiley Prize in Biomedical Sciences + + + + + + + + + + + + + + + + + + + + + A regularly offered service in support of an academic, research, or administrative function (not personal or professional service by an individual) + UITS service + + + + + + + + + + + UITS service is the information technology services provided by Indiana University. SC. + + + + + + A role of organizing + + + + + + Either city or town - a thickly populated area having fixed boundaries and certain local powers of government. + + + Any region that goes beyond national boundaries and does not fit into any subclass of core:TransnationalRegion. + Not sure how to access the "Editor's Comments". But as North America is a continent, it would be placed directly into the continent subclass and viewable through this class along with any other subclass entities. + sub-Saharan Africa, North America + None as yet. + + + + + + 1 + + + + + + + + + + + + + + http://info.slis.indiana.edu/~katy/ + Uniform Resource Locator (URL) specifies where an identified resource is available and the mechanism for retrieving it. + The full URL. + + + The grounds of a school, college, university, or hospital. Or, a large, usually suburban, landscaped business or industrial site. + Definition taken from dictionary.com (http://dictionary.reference.com/browse/campus). + + + + Cornell Ithaca; Cornell Geneva; Cornell New York City; Cornell Qatar + + + An academic administrative position (associate dean, etc.) as distinct from a professional administrative position (non-academic) + Associate Dean + + + + + + + + + + + + + + + + + + + That is a position held by an academic faculty member who works for administration. + + + + + + + The showing of an object or a collection of objects, in an organized manner. + + + A physical object provided for specific purpose, task or occupation. + + + + + + + + + A network server is one example. Medical schools and research laboratories can list professional equipment, such as microscopes. + server; Bruker Vector-33 FT-IR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Only use if no specific subclasses of core:EventSeries desribe the activity. + Two or more events that occur at different times and are connected to each other. + A generic class which may include a conference series, a course section, a seminar series, or a workshop series. When possible, use one of these more specific classes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Martha Van Rensselaer Hall (VR); Caldwell Hall (CD); University Auditorium + Building that provides a particular service or is used for a particular activity. + Enter building name. If the building's name is a number (as in many governmental organizations such as national laboratories and military bases), then enter it. Do not confuse with the number that appears in a postal address. + + + The largest administrative division of most states or provinces. + Alachua; Baker; Bradford; Kenora; Ottawa; Waterloo + Short Definition modified from the one found here: http://www.thefreedictionary.com/county. + + + + + + + + + + + + + + + + + + + + + + + + + + + + An employment activity, whether compensated or not. Short definition comes from http://en.wikipedia.org/wiki/Position, and has been modified. + Particular position in an organization, commonly identified by job title, and normally associated with a job description that details the tasks and responsibilities that go with the position. + Director of Admissions and Placement; Associate University Librarian + + + + + + + + + + + + + + An advisory relationship in which a professor advises an undergraduate student. + + + + + + A document confirming certain characteristics of a person or organization, usually provided by some form of external review, education, or assessment. + A document confirming certain characteristics of a person or organization, usually provided by some form of external review, education, or assessment. + + + Endodontics (department within a College of Dentistry); English (department within a College of Liberal Arts) + + + + + + + + + + + + + + + + + + + + A distinct, usually specialized educational unit within an educational organization. + + + + + + An advisory relationship in which the advisee is a Postdoc or Fellow. + + + + A person holding a position that is not considered to be an academic appointment. + + + + Encompasses talk, speech, lecture, slide lecture, conference presentation + + + + An organizational unit (as opposed to the physical facility) that performs research, provides services, or processes materials + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A person not considered a faculty member but holding an academic appointment. + + + Short definition was partially taken from http://en.wikipedia.org/wiki/Subnational_entity. + For example, the Midwest, northeast U.S. + Smaller administrative division into which a country may be divided. + Boroughs; townships; districts; the Midwest + + + + Use subclasses of core:Geographic Location subclasses instead of this class if possible. + Removed the word "stable" because disputed territories from geopolitical.owl are included. This could imply that the geographic coordinates could change. I've also copied this definition to core:Geographic Location. I think core:Geographic Location and core:Geographic Region are both the same and only one is needed. There is also geopolitical.owl:geographical_region which further causes confusion. + + A location having coordinates in geographic space. + + + + Written musical composition for voice or instruments or both + + + Financial assistance mechanism providing money, property, or both to an eligible entity to carry out an approved project or activity + + + + + + + + + + + + + + + + + + + + + + + Short definition is from the Glossary of NIH Terms. + An intramural or extramural award to support scholarly work, such as UF09179 (VIVO) + + + + + + + + + + + + Marston Science Library + + A collection of any materials, for study and enjoyment, which has been systematically arranged. + Used information from this definition: http://dictionary.reference.com/browse/library. + + + + + + + + + + + Institute for Fundamental Theory + + An Institute normally has a research focus but may also fulfill instructional or outreach roles. + + + An endeavor, frequently collaborative, that occurs over a finite period of time and is intended to achieve a particular aim. + + + + + + + + + + An endeavor, frequently collaborative, that occurs over a finite period of time and is intended to achieve a particular aim. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A role of serving as an educator + + + + + + + + + + + + + + + + + + + + + + + + + + + An attestation of qualification, competence, or authority issued to an individual by a third party with a relevant or de facto authority or assumed competence to do so. + An attestation of qualification, competence, or authority issued to an individual by a third party with a relevant or de facto authority or assumed competence to do so. + + + + + + Postdoctoral research is academic or scholarly research conducted by a person who has completed his or her doctoral studies, normally within the following five years. It is intended to further deepen expertise in a specialist subject. + + + + + + A role of conducting funded or unfunded research, sometimes linked to an Agreement. + Examples of research can be seen at: http://www.ufl.edu/research/products/index.html. Note these may have been funded, but the research doesn't have to be funded. Also, the research may be linked to an Agreement (for example, a Grant), but does not need to be. + + + + Definition from here: http://research.carleton.ca/htr/defs.php. + A person with at least one academic appointment to a specific faculty of a university or institution of higher learning. + + + + A Person holding an academic employment appointment focused on research rather than teaching; temporary (or for some defined term) + + + US Patent Data; US Job Data + + A named collection of data, usually containing only one type of data + + + + + + + + + + + + + + + + + + + Currently any abstract name is given to individuals of this class. This could change in the future. + This connects person to their academic degree through this educational training, but can also be used when the training does not result in a degree. + Represents educational training that has been received. + + + Not the same as an award or distinction. + Intel Talent Search; poetry contest + An occasion on which a winner is selected from among two or more contestants. + + + + + A paper presented at a conference; optionally collected into a Proceedings or a special Journal issue + + + + + + + + + + + + + + + + Computer program and its related documentation; directs the operation of a computer + + + + + + + + + + The digital file (or physical equivalent), if available after the conference, vs. the act of attending/presenting: use ConferencePresentation for information about date/time/location/name of the event where the poster was presented + + + + An agreement involving specific deliverables and payment + + + + + + + + + + + + + + + + + + + An offering through an ongoing program or single request of research support: internships, positions, financial awards or other forms of tangible or intangible support + + + + + + + + + + + + + + + + + + A retired faculty member who has retained their rank, title and privileges. + + + Special Libraries Association; Association for Computing Machinery(ACM); American Medical Informatics Association(AMIA) + + A formal organization of people or organizations around a subject or practice. + + + + Residency is a stage of graduate medical training. + + + + An organized series of workshop events, whether repetitions of the same workshop or multiple different workshops. + Use workshop for individual events. + + + + Audiovisual recording in video format + + + A date and/or time + + + functions as an n-ary predicate + a reified relationship + + + + A postdoctoral training appointment (job) + + + Cardiovascular Medicine (division within medicine) + + + + + + + + + + Definition modified from http://www.thefreedictionary.com/division. It is difficult to tell the difference between a division and a department. + An area of corporate activity organized as an administrative or functional unit. + + + The Ornithological Newsletter + + Usually issued periodically, prepared by or for a group or institution to present information to a specific audience, often also made available to the press and public + + + + A proposal for a research grant that has been submitted but not approved; does not represent an existing activity + + + An role of an individual within his or her profession or institution; use outreach provider role for community service or other activities outside the profession. + + + + Member of the International Conference on Complex Systems Organizing Committee + + + + An explicit individual period considered by an academic institution to be its primary academic cycle. + + + + + + A role of being a member in a Process or an Organization + + + An informal organization brought together for the purposes of a project or event. + + VIVO Outreach Team; VIVO Ontology Team + + + + + + + + + + + A course as taught in one time period (such as a semester; although note that a course could consist of only one meeting (teaching session)) by one or more instructors, normally but not always for credit. Does not represent either each meeting of the course or the course offering such as Biology 101 taught every semester from 1980 to 2010 + A course as taught in one time period by one or more instructors, normally but not always for credit. Does not represent either each meeting of the course or the course offering such as Biology 101 taught every semester from 1980 to 2010 + + + + + + + + + + + + + In the future we may be able to make this a defined class that would not need to be directly asserted, but the consensus seems to be that some organizations "are" clinical and some "are" research organizations and that the distinction is important enough to warrant the additional class and class assertions + Any organization with a significant clinical function as a matter of course and not just through occasional clinical roles + + + An ongoing academic initiative not formalized with department or division status. + A Cornell graduate field (http://vivo.cornell.edu/index.jsp?home=65535&collection=820) + + + + An institution that provides medical, surgical, or psychiatric care and treatment for the sick or the injured. + + Definition take from: http://dictionary.reference.com/browse/hospital. + Shands at the University of Florida + + + Short Definition take from http://www.thefreedictionary.com/center. + A place where a particular activity or service is concentrated. + + Alchohol Education Center; Center for Arts and Public Policy; Hearing Research Center + + + + + + + + + + + Address has properties for department name, street, city, state or province, postal code, and country. For US specific address, classify using core:US Postal Code. core:Address will display all addresses. + + + + + + + + + A specification of a location. To classify US specific addresses, use core:US Postal Code. + 200 University Avenue West, Waterloo, Ontario, Canada N2L 3G1 + + + Librarian; Library Systems Analyst; Music Bibliographer + + + + + + + + + + + + + + + + + + + A position held by library and information science professionals, or academic or technical experts, in support of providing information services or materials + + It is the common position in libraries. + + + Indicates the precision of the value of a DateTimeValue instance. + + + + + + An advisory relationship in which a professor advises a graduate student. + + + + Typically a student or a recent graduate undergoing supervised practical training. + + + + A person working in a position of librarian or information professional, or academic or technical expert in support of providing information services or materials. + + + + A person who has already received a bachelor's degree and is working toward a Master's or Doctoral degree. + + + + + + A role of attending an Event or EventSeries + + + + + + The bestowal of an award, honor, or distinction to a person or person's at a particular time. + + + + + + + + + The award bestowed may be represented with the Award class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + An advisory relationship in which one faculty member mentors another faculty member. + + + An ongoing editorial responsibility for a bibo:Collection, such as a Journal or Series + + + + An ongoing editorial responsibility for a bibo:Collection, such as a Journal or Series + + + + + + + + + + + + + + + + + Only use this broad role class if no subclasses of role describe the item being classified. + + + + + + + + + A person's, group's or organization's role in an endeavor + Only use if no specific subclasses of core:Role describe the role. + + + + A short written piece focused on an event or announcement of note, having a defined publication time and of less enduring interest than a news feature. + + + + Role of co-principal investigator of an Agreement (for example, a grant), who devotes a specified percentage of time and is considered key personnel. + + + Currently any abstract name is given to members of this class. This could change in the future. + + + + + + + + + Contains the authors name, their rank in the publication, and whether or not they are a corresponding author on the publication. + Authorship of journal articles, books and other original works is a means by which academics communicate the results of their scholarly work, establish priority for their discoveries, and build their reputation among their peers. +This class allows for linking an author to a publication while indicating information about that author's authorship. + + + + + + + + + + + + + + + + + + + + + + Academic position in a university or institution + Professor, associate professor and assistant professor are common positions for academic faculty. + Professor; Associate Professor; Assistant Professor + + + + + + + + + + + + Any organization (likely also asserted as another class of Organization) with a primary, ongoing research function, not just through occasional roles + + + + + + + + + + + A dual relationship of one person being advised or mentored by another person, typically including start and end dates + + + + + + + + + + + + + + + + + + + + + PubMed + A structured file of information or a set of logically related data stored and retrieved using computer-based means + Short Definition is the Medical Subject Heading (MeSH) definition + + + + The result of rendering a work from one language to another + + + Short definition obtained here: http://en.wiktionary.org/wiki/geopolitical_entity. + + Use subclasses of core:GeopoliticalEntity subclasses instead of this class if possible. + A geographical area which is associated with some sort of political structure. + + + Short Definition is the Medical Subject Heading (MeSH) definition + NLM Catalog + + + + + + + + + + + + + + + + + + A list of items in a collection; an ordered compilation of item descriptions and sufficient information to afford access to them + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + general relationship of support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Examples shows a book has French language version. Public description source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is done through a restriction on the foaf:Person class. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is done through a restriction on the foaf:Person class. + + + + + + + + + + + + + + + + + + + + + + This is done through a restriction on academic degree to allow the values from to be foaf:organization to be used as the range. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is done through a restriction on academic degree to allow the values from to be foaf:organization to be used as the range. + + + + + + + + + general relationship of support + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Currently being used by a restriction on organization. + + + + + + + + + + + + + + + + + + Note that the administering department is not the central research administration office (such as University of Florida DSP or Cornell OSP) -- we didn't see a need to record a relationship to that office because it implicitly manages all grants. Also note that this is the administering organization for the grant at the awardee side. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is done with a restriction on agent. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + For example, National Science Foundation providesFundingThrough Graduate Research Fellowship Program; National Institutes of Health providesFundingThrough National Center for Research Resources. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + an information resource (typically a publication) supported by (typically via funding) an agreement (such as a grant) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Since we have defined geopolitical.owl.hasMember to be a subproperty of core:hasMember, we should not make changes to this property that would change the definition of geopolitical.owl.hasMember in ways that may make it inconsistent with its usage in other ontologies. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This is done with a restriction on agent. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + For example, National Science Foundation providesFundingThrough Graduate Research Fellowship Program; National Institutes of Health providesFundingThrough National Center for Research Resources. + + + + + + + + + Public Definition source (http://www.answers.com/topic/publisher). + + + + + + + + + + + + + + Public Definition source (http://www.answers.com/topic/publisher). + + + + + + + + + + We would like the domain of core:outcome to be the union of Event and Process; and that same union to be the range for core:outcomeOf, but we cannot currently express this with the editor. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + an information resource (typically a publication) supported by (typically via funding) an agreement (such as a grant) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Public Description for bibo:distributor taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + We would like the domain of core:outcome to be the union of Event and Process; and that same union to be the range for core:outcomeOf, but we cannot currently express this with the editor. + + + + + + + + + + + + + + + + Note that the administering department is not the central research administration office (such as University of Florida DSP or Cornell OSP) -- we didn't see a need to record a relationship to that office because it implicitly manages all grants. Also note that this is the administering organization for the grant at the awardee side. + + + + + + + + + The bibo:reviewOf public description was found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . As of 26 May 2010, bibo:reviewOf is used with the class Review, but core:reviewIn doesn't seem to be being used. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A possible working example: The conference proceeding of the SPIE was generated from the conference - International Society for Optical Engineering. + + + + + + + + + + + + + + + + A possible working example: The conference proceeding of the SPIE was generated from the conference - International Society for Optical Engineering. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Currently being used by a restriction on organization. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Since we have defined geopolitical.owl.hasMember to be a subproperty of core:hasMember, we should not make changes to this property that would change the definition of geopolitical.owl.hasMember in ways that may make it inconsistent with its usage in other ontologies. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + RearcherID is a Thomson Reuters project where researchers have a place to manage and share their professional information. It will allow them to solve author identity issues while simultaneously adding dynamic citation metrics and collaboration networks to your personal profile. +Definition source: http://isiwebofknowledge.com/researcherid/ + + + + + + + A PMCID is a unique PubMed Central reference number, which is assigned to each full-text record made available A PMCID is a unique PubMed Central reference number, which is assigned to each full-text record made available in PubMed Central. The PMCID is issued shortly after the PI or author approves the PubMed Central formatted web version of the submission. + + + + + + + core:localAwardId has a domain of core:Grant, and should be public since that's its public identifier for local use by OSP, accounting, department admins, and the PI + + + + + + + + Chicago; New York; Bloomington; Gainesville + + + + + + + + + + + + + + + conservation + +use one freetextKeyword assertion for each keyword or phrase. + one keyword or phrase per freetextKeyword assertion + + + + True; False + + + + + + The International classification(s) to which the published application has been assigned. + + + + + + 47405-3907 + + + + Apt N26; Mann Library + + + + Information Science; Computer Science; Anthropology + + + + + + + + + + + + + + + + + + + + + We can't yet assume that we will only have a single ORCID id for a person. +source: http://en.wikipedia.org/wiki/ORCID . + + +We wanted this property to be visible so that people would be aware that we intend to carry ORCID ids in VIVO for cross-reference. I don't believe any ORCID ids have been minted yet, but it's hard to imagine they would need to be private since the goal of having them is to disambiguate author references internationally. However, this and the researcherId and scopusId (also with domain foaf:Person) can stay as visible to self-editors for now as they will probably be used mostly in data ingest. It might be nice in the future to let people make their own decision about whether these are visible. + + + + Used for a single narrative summary of research, typically covering a wide range of activities and time periods; use Researcher Role for information on individual activities + + + + + + + Afghanistan; Antigua and Barbuda; Cameroon; Iceland; Jamaica; Nigeria; United States of America + + + + + + + + + + + + + + + + + Not intended to be an institution name. + + + + + + + + + + + + + + + + + + + + + + + + + + + 123 Main Street; ITS department; P.O. Box 783 + + + + B.A. + + A short form for an longer title or name. + + + + this number indicates a position in a list + + + + + Used for a single narrative summary of teaching, typically covering a wide range of courses including for credit and non-credit teaching over multiple semesters; the "teaches" property links a person directly with an instance of a Semester Class, typically from an institutional database of record; then use Teacher Role for information about a person's role in non-credit teaching or their specific contribution to individual courses + + + Definition http://en.wikipedia.org/wiki/Job_title#Job_title. + + administrative secretary + + + + source of definition: http://www.uspto.gov/main/glossary/#p . The following site has patent number formats: http://www.uspto.gov/patents/ebc/kindcodesum.jsp . + + + + + + + Home page for Scopus: http://www.scopus.com/home.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 55 + + definition modified from: source (http://en.wikipedia.org/wiki/Seating_capacity). + + + + + + Physical Sciences Librarian + + For example an HR job title for a person might be - Assistant University Librarian, and the preferred job title for that same person could be - Physical Sciences Librarian. + + + + + + + + + Has a domain of Grant. There is not a strong reason have this be publically visible, since most users would care more about the name of the sponsoring agency than its identifier, but it does no harm to be public. + + +See also core:localAwardId. + + + + Indiana; Florida; Minnesota; Michigan; New York; Quebec; Manitoba; Ontario + + + + + + + + + + + + + + + + + + + + + + Used for a single narrative summary of outreach, typically covering a wide range of activities and time periods; use Outreach Provider Role for information on individual activities + + + My extension program consists of developing and reporting disease management strategies that are both economically and environmentally sound for fresh market vegetable production. We hope that some of this testing will result in practices adaptable for organic production. + + + + + + + + + + + + + + + + http://purl.org/ontology/bibo/ + + http://purl.org/ontology/bibo/1.2/ + bibo + + + diff --git a/productMods/WEB-INF/ontologies/update/oldVersion/vivo-dcelements-1.5.owl b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-dcelements-1.5.owl new file mode 100644 index 00000000..5622f49d --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-dcelements-1.5.owl @@ -0,0 +1,24 @@ + + + This namespace - http://purl.org/dc/elements/1.1/ - does not appear to have this element. + + diff --git a/productMods/WEB-INF/ontologies/update/oldVersion/vivo-dcterms-1.5.owl b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-dcterms-1.5.owl new file mode 100644 index 00000000..175d75aa --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-dcterms-1.5.owl @@ -0,0 +1,47 @@ + + + Used to link a bibliographic item to one of its contributor: can be an author, an editor, a publisher, etc. + + + This term is intended to be used with non-literal values as defined in the DCMI Abstract Model (http://dublincore.org/documents/abstract-model/). As of December 2007, the DCMI Usage Board is seeking a way to express this intention with a formal range declaration. + + + Document1 isVersionOf Document2 + This term is intended to be used with non-literal values as defined in the DCMI Abstract Model (http://dublincore.org/documents/abstract-model/). As of December 2007, the DCMI Usage Board is seeking a way to express this intention with a formal range declaration. + + + This term is intended to be used with non-literal values as defined in the DCMI Abstract Model (http://dublincore.org/documents/abstract-model/). As of December 2007, the DCMI Usage Board is seeking a way to express this intention with a formal range declaration. + Used to relate a reference citation to a bibliographic resource. + + + Public definition source: http://dublincore.org/2008/01/14/dcterms.rdf# . +Examples of a Publisher include a person, an organization, or a service. Typically, the name of a Publisher should be used to indicate the entity. + Used to link a bibliographic item to its publisher. + + + + + diff --git a/productMods/WEB-INF/ontologies/update/oldVersion/vivo-event-1.5.owl b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-event-1.5.owl new file mode 100644 index 00000000..48a3a4c3 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-event-1.5.owl @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + Only use if no specific subclasses of event:Event are appropriate. + This class will also display instances of subclasses under Event, e.g. Philosophy Department Discussion Club; 2009 Racker Lecture; screening of a documentary. In addition to a location in space and time, an event may have any or all the following qualities: actively participating agents, passive factors, work products. Also, it may be in a virtual space or part of a series such as a lecture series. + +The previous short definition was: "An arbitrary classification of a space/time region, by a cognitive agent." + + + + + + + + + + + + + + + + + + + Something that happens at a given place and time. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/productMods/WEB-INF/ontologies/update/oldVersion/vivo-fabio-1.5.owl b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-fabio-1.5.owl new file mode 100644 index 00000000..f3a8da67 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-fabio-1.5.owl @@ -0,0 +1,43 @@ + + + A recommendation on the appropriate treatment and care of people with a specific disease or condition, based on the best available evidence, designed to help healthcare professionals in their work. + A recommendation on the appropriate treatment and care of people with a specific disease or condition, based on the best available evidence, designed to help healthcare professionals in their work. + + + + + A verbal or written remark concerning some entity. In written form, a comment is often appended to that entity and termed an annotation. Within computer programs or ontologies, comments are added to enhance human understanding, and are usually prefaced by + A verbal or written remark concerning some entity. In written form, a comment is often appended to that entity and termed an annotation. Within computer programs or ontologies, comments are added to enhance human understanding, and are usually prefaced by a special syntactic symbol that ensures they are ignored during execution of the program. + +has super-classes + + + A formal correction to an error introduced by the publisher into a previously published document. + + A formal correction to an error introduced by the publisher into a previously published document. + + diff --git a/productMods/WEB-INF/ontologies/update/oldVersion/vivo-foaf-1.5.owl b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-foaf-1.5.owl new file mode 100644 index 00000000..011838f8 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-foaf-1.5.owl @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The most general classification of a person + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This class will display all the instances in the subclasses below it, as well as any organizations that were added as part of this generic class because there wasn't a specific class available. + Only use if no specific subclasses of foaf:organization desribe the organization. + A generic class encompassing several types of organizations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ued to describe an organization related to bibliographic items such as a publishing company, etc. + + + + + + + + + + + + + + + + + + + + + Agents are things that do stuff + + + + + + + see: http://xmlns.com/foaf/spec/#term_Agent + + + + + + + + + + + + + + + + + + + + + + + + + Used to describe any "agent" related to bibliographic items. Such agents can be persons, organizations or groups of any kind. + + + + + + + + + + A group can also be an organization but need not be; typically used for looser associations of people or organizations acting together in some fashion, not necessarily through formal agreement or on a long-term basis. Added to the VIVO ontology to be able to support informal and perhaps even private groups of people around an idea, funding opportunity, or event. + +see: http://xmlns.com/foaf/spec/#term_Group + A collection of individual agents (and may itself play the role of a Agent, ie. something that can perform actions). + + + Definition take from: http://xmlns.com/foaf/spec/#term_based_near . foaf indicates that the status of this term is "unstable". "The based_near relationship relates two "spatial things" (anything that can be somewhere), the latter typically described using the geo:lat / geo:long geo-positioning vocabulary (http://www.w3.org/2003/01/geo/wgs84_pos#). This allows us to say describe the typical latitute and longitude of, say, a Person (people are spatial things - they can be places) without implying that a precise location has been given." + Used to link an agent, related to bibliographic things, to a place where it is based near: can be a city, a monument, a building, etc. + + + + + http://xmlns.com/foaf/spec/#term_lastName. Note from foaf: "The lastName property is provided (alongside firstName) as a mechanism to support legacy data that cannot be easily interpreted in terms of the (otherwise preferred) familyName and givenName properties. The concepts of 'first' and 'last' names do not work well across cultural and linguistic boundaries; however they are widely used in addressbooks and databases." + + + http://xmlns.com/foaf/spec/#term_firstName. Note from foaf: "The lastName property is provided (alongside firstName) as a mechanism to support legacy data that cannot be easily interpreted in terms of the (otherwise preferred) familyName and givenName properties. The concepts of 'first' and 'last' names do not work well across cultural and linguistic boundaries; however they are widely used in addressbooks and databases." + + + + diff --git a/productMods/WEB-INF/ontologies/update/oldVersion/vivo-pws-1.5.owl b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-pws-1.5.owl new file mode 100644 index 00000000..c4f46b89 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-pws-1.5.owl @@ -0,0 +1,39 @@ + + + + For data ingest from authoritative sources to record the actual way a person was listed, as potentially valuable information for provenance and person disambiguation. Represents one person's information from one source at one particular time. + For data ingest from authoritative sources to record the actual way a person was listed, as potentially valuable information for provenance and person disambiguation. + + + + + + + + + + + + + + diff --git a/productMods/WEB-INF/ontologies/update/oldVersion/vivo-skos-1.5.owl b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-skos-1.5.owl new file mode 100644 index 00000000..0dda4227 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldVersion/vivo-skos-1.5.owl @@ -0,0 +1,45 @@ + + + An idea or notion; a unit of thought. + + + + Public description modified from the information on this page: http://www.w3.org/TR/2005/WD-swbp-skos-core-guide-20050510/#sechierarchy . + + + + + + + + + + + + + + Public description modified from the information on this page: http://www.w3.org/TR/2005/WD-swbp-skos-core-guide-20050510/#sechierarchy . + + + diff --git a/productMods/WEB-INF/ontologies/update/success.n3 b/productMods/WEB-INF/ontologies/update/success.n3 index 14e94531..b8a8693a 100644 --- a/productMods/WEB-INF/ontologies/update/success.n3 +++ b/productMods/WEB-INF/ontologies/update/success.n3 @@ -5,6 +5,6 @@ vitro:updatedToOntology . rdf:type owl:Thing . vitro:updatedOntology . - vitro:fromOntologyVersion "1.4" . - vitro:toOntologyVersion "1.5" . - \ No newline at end of file + vitro:fromOntologyVersion "1.5" . + vitro:toOntologyVersion "1.6" . + diff --git a/productMods/WEB-INF/resources/startup_listeners.txt b/productMods/WEB-INF/resources/startup_listeners.txt index d27cd019..0399eacc 100644 --- a/productMods/WEB-INF/resources/startup_listeners.txt +++ b/productMods/WEB-INF/resources/startup_listeners.txt @@ -34,7 +34,7 @@ edu.cornell.mannlib.vitro.webapp.servlet.setup.UpdatePermissionSetUris # Invokes process to perform updates to align with ontology changes if needed --> # Needs to run before submodels are attached and Pellet is set up --> -#edu.cornell.mannlib.vitro.webapp.servlet.setup.UpdateKnowledgeBase +edu.cornell.mannlib.vitro.webapp.servlet.setup.UpdateKnowledgeBase edu.cornell.mannlib.vitro.webapp.servlet.setup.FileGraphSetup diff --git a/productMods/config/listViewConfig-authorInAuthorship.xml b/productMods/config/listViewConfig-authorInAuthorship.xml index 15b952c9..6a4b9aad 100644 --- a/productMods/config/listViewConfig-authorInAuthorship.xml +++ b/productMods/config/listViewConfig-authorInAuthorship.xml @@ -27,7 +27,8 @@ ?hideThis WHERE { ?subject ?property ?authorship . - ?authorship core:linkedInformationResource ?infoResource . + ?authorship core:relates ?infoResource . + ?infoResource a bibo:Document . ?infoResource rdfs:label ?infoResourceName OPTIONAL { ?infoResource bibo:volume ?volume } @@ -80,7 +81,8 @@ CONSTRUCT { ?subject ?property ?authorship . ?authorship ?authorshipProperty ?authorshipValue . - ?authorship core:linkedInformationResource ?infoResource . + ?authorship core:relates ?infoResource . + ?infoResource a bibo:Document . ?infoResource rdfs:label ?infoResourceName . ?infoResource core:hasPublicationVenue ?publishedIn . ?publishedIn rdfs:label ?journal @@ -138,29 +140,30 @@ ?authorship ?authorshipProperty ?authorshipValue } UNION { ?subject ?property ?authorship . - ?authorship core:linkedInformationResource ?infoResource + ?authorship core:relates ?infoResource } UNION { ?subject ?property ?authorship . - ?authorship core:linkedInformationResource ?infoResource . + ?authorship core:relates ?infoResource . + ?infoResource a bibo:Document . ?infoResource ?infoResourceProperty ?infoResourceValue } UNION { ?subject ?property ?authorship . - ?authorship core:linkedInformationResource ?infoResource . + ?authorship core:relates ?infoResource . ?infoResource bibo:reproducedIn ?appearsInObj . ?appearsInObj rdfs:label ?appearsIn } UNION { ?subject ?property ?authorship . - ?authorship core:linkedInformationResource ?infoResource . + ?authorship core:relates ?infoResource . ?infoResource core:publisher ?publisherObj . ?publisherObj rdfs:label ?publisher } UNION { ?subject ?property ?authorship . - ?authorship core:linkedInformationResource ?infoResource . + ?authorship core:relates ?infoResource . ?infoResource core:editor ?editorObj . ?editorObj rdfs:label ?editor } UNION { ?subject ?property ?authorship . - ?authorship core:linkedInformationResource ?infoResource . + ?authorship core:relates ?infoResource . ?infoResource core:partOf ?partOfObj . ?partOfObj rdfs:label ?partOf } @@ -170,14 +173,17 @@ PREFIX core: <http://vivoweb.org/ontology/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX bibo: <http://purl.org/ontology/bibo/> CONSTRUCT { ?subject ?property ?authorship . - ?authorship core:linkedInformationResource ?infoResource . + ?authorship core:relates ?infoResource . + ?infoResource a bibo:Document . ?infoResource core:dateTimeValue ?dateTimeValue . ?dateTimeValue core:dateTime ?dateTime } WHERE { ?subject ?property ?authorship . - ?authorship core:linkedInformationResource ?infoResource . + ?authorship core:relates ?infoResource . + ?infoResource a bibo:Document . ?infoResource core:dateTimeValue ?dateTimeValue . ?dateTimeValue core:dateTime ?dateTime } From cd3ae0d0ad77d3f4a811431de33c8a8642a8b41f Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Tue, 6 Aug 2013 10:35:13 -0400 Subject: [PATCH 05/66] publication form updates for ISF --- ...ddAuthorsToInformationResourceGenerator.java | 16 ++++++++-------- .../AddPublicationToPersonGenerator.java | 17 +++++++++-------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java index 55fe1a5a..5d5d8a68 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java @@ -145,28 +145,28 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator return getN3PrefixString() + "?newPerson a foaf:Person ;\n" + "<" + RDFS.label.getURI() + "> ?label .\n" + - "?authorshipUri core:linkedAuthor ?newPerson .\n" + - "?newPerson core:authorInAuthorship ?authorshipUri . "; + "?authorshipUri core:relates ?newPerson .\n" + + "?newPerson core:relatedBy ?authorshipUri . "; } private String getN3ForExistingPerson() { return getN3PrefixString() + - "?authorshipUri core:linkedAuthor ?personUri .\n" + - "?personUri core:authorInAuthorship ?authorshipUri ."; + "?authorshipUri core:relates ?personUri .\n" + + "?personUri core:relatedBy ?authorshipUri ."; } private String getN3NewOrg() { return getN3PrefixString() + "?newOrg a foaf:Organization ;\n" + "<" + RDFS.label.getURI() + "> ?orgName .\n" + - "?authorshipUri core:linkedAuthor ?newOrg .\n" + - "?newOrg core:authorInAuthorship ?authorshipUri . "; + "?authorshipUri core:relates ?newOrg .\n" + + "?newOrg core:relatedBy ?authorshipUri . "; } private String getN3ForExistingOrg() { return getN3PrefixString() + - "?authorshipUri core:linkedAuthor ?orgUri .\n" + - "?orgUri core:authorInAuthorship ?authorshipUri ."; + "?authorshipUri core:relates ?orgUri .\n" + + "?orgUri core:relatedBy ?authorshipUri ."; } /** Get new resources */ //A new authorship uri will always be created when an author is added diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java index 08b373e0..9f338092 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java @@ -197,22 +197,22 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement private String getAuthorshipN3() { return "@prefix core: <" + vivoCore + "> . " + "?authorshipUri a core:Authorship ;" + - "core:linkedAuthor ?person ." + - "?person core:authorInAuthorship ?authorshipUri ."; + "core:relates ?person ." + + "?person core:relatedBy ?authorshipUri ."; } private String getN3ForNewPub() { return "@prefix core: <" + vivoCore + "> ." + "?newPublication a ?pubType ." + "?newPublication <" + label + "> ?title ." + - "?authorshipUri core:linkedInformationResource ?newPublication ." + - "?newPublication core:informationResourceInAuthorship ?authorshipUri ."; + "?authorshipUri core:relates ?newPublication ." + + "?newPublication core:relatedBy ?authorshipUri ."; } private String getN3ForExistingPub() { return "@prefix core: <" + vivoCore + "> ." + - "?authorshipUri core:linkedInformationResource ?pubUri ." + - "?pubUri core:informationResourceInAuthorship ?authorshipUri ."; + "?authorshipUri core:relates ?pubUri ." + + "?pubUri core:relatedBy ?authorshipUri ."; } private String getN3ForNewCollectionNewPub() { @@ -875,8 +875,9 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement String query = "PREFIX core:<" + vivoCore + "> " + "SELECT ?pubUri WHERE { " + - "<" + subject + "> core:authorInAuthorship ?authorshipUri ." + - "?authorshipUri core:linkedInformationResource ?pubUri . }"; + "<" + subject + "> core:relatedBy ?authorshipUri . " + + "?authorship a core:Authorship . " + + "?authorshipUri core:relates ?pubUri . }"; return query; } From afedf991f2f310c8b02d29c9b48aceab1a10514b Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Tue, 6 Aug 2013 16:23:44 -0400 Subject: [PATCH 06/66] in-process conversion of position rendering to ISF --- .../app/loadedAtStartup/PropertyConfig.n3 | 13 +++++++ .../listViewConfig-personInPosition.xml | 38 ++++++++++++++----- .../individual/individual-positions.ftl | 4 +- 3 files changed, 44 insertions(+), 11 deletions(-) diff --git a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 index 2f03a9fe..fde85126 100644 --- a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 +++ b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 @@ -13,6 +13,19 @@ @base . +# warning: don't use blank nodes; the display model doesn't currently support them. + +local:personInPositionContext a :ConfigContext ; + :hasConfiguration local:personInPositionConfig ; + :configContextFor vivo:relatedBy ; + :qualifiedBy vivo:Position . + +local:personInPositionConfig a :ObjectPropertyDisplayConfig ; + :displayName "positions" ; + :listViewConfigFile "listViewConfig-personInPosition.xml"^^xsd:string ; + :propertyGroup ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public . + local:authorInAuthorshipContext a :ConfigContext ; :hasConfiguration local:authorInAuthorshipConfig ; :configContextFor vivo:relatedBy ; diff --git a/productMods/config/listViewConfig-personInPosition.xml b/productMods/config/listViewConfig-personInPosition.xml index e3d5b07e..6c161705 100644 --- a/productMods/config/listViewConfig-personInPosition.xml +++ b/productMods/config/listViewConfig-personInPosition.xml @@ -20,7 +20,7 @@ ?outerOrg ?outerOrgName ?dateTimeStart ?dateTimeEnd WHERE { ?subject ?property ?position - OPTIONAL { ?position core:positionInOrganization ?org . + OPTIONAL { ?position core:relates ?org . ?org rdfs:label ?orgName OPTIONAL { ?org core:subOrganizationWithin ?middleOrg . ?middleOrg rdfs:label ?middleOrgName @@ -61,6 +61,7 @@ ?subclass rdfs:subClassOf core:Position } WHERE { ?subject ?property ?position . + ?position a core:Position . ?position vitro:mostSpecificType ?subclass . ?subclass rdfs:subClassOf core:Position } @@ -69,8 +70,10 @@ PREFIX core: <http://vivoweb.org/ontology/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX foaf: <http://xmlns.com/foaf/0.1/> CONSTRUCT { ?subject ?property ?position . + ?position a core:Position . ?position ?positionProperty ?positionValue . ?org rdfs:label ?orgName . ?org core:subOrganizationWithin ?middleOrg . @@ -79,34 +82,47 @@ ?outerOrg rdfs:label ?outerOrgName } WHERE { { - ?subject ?property ?position + ?subject ?property ?position . + ?position a core:Position . } UNION { ?subject ?property ?position . + ?position a core:Position . ?position ?positionProperty ?positionValue } UNION { ?subject ?property ?position . + ?position a core:Position . ?position core:rank ?rank } UNION { ?subject ?property ?position . - ?position core:positionInOrganization ?org . + ?position a core:Position . + ?position core:relates ?org . + ?org a foaf:Organization . ?org rdfs:label ?orgName } UNION { ?subject ?property ?position . - ?position core:positionInOrganization ?org . + ?position a core:Position . + ?position core:relates ?org . + ?org a foaf:Organization . ?org core:subOrganizationWithin ?middleOrg } UNION { ?subject ?property ?position . - ?position core:positionInOrganization ?org . + ?position a core:Position . + ?position core:relates ?org . + ?org a foaf:Organization . ?org core:subOrganizationWithin ?middleOrg . ?middleOrg rdfs:label ?middleOrgName } UNION { ?subject ?property ?position . - ?position core:positionInOrganization ?org . + ?position a core:Position . + ?position core:relates ?org . + ?org a foaf:Organization . ?org core:subOrganizationWithin ?middleOrg . ?middleOrg core:subOrganizationWithin ?outerOrg } UNION { ?subject ?property ?position . - ?position core:positionInOrganization ?org . + ?position a core:Position . + ?position core:positionInOrganization ?org . + ?org a foaf:Organization . ?org core:subOrganizationWithin ?middleOrg . ?middleOrg core:subOrganizationWithin ?outerOrg . ?outerOrg rdfs:label ?outerOrgName @@ -117,12 +133,14 @@ PREFIX core: <http://vivoweb.org/ontology/core#> CONSTRUCT { - ?subject ?property ?position . + ?subject ?property ?position . + ?position a core:Position . ?position core:dateTimeInterval ?dateTimeInterval . ?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeStartValue core:dateTime ?dateTimeStart } WHERE { ?subject ?property ?position . + ?position a core:Position . ?position core:dateTimeInterval ?dateTimeInterval . ?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeStartValue core:dateTime ?dateTimeStart @@ -133,11 +151,13 @@ PREFIX core: <http://vivoweb.org/ontology/core#> CONSTRUCT { ?subject ?property ?position . + ?position a core:Position . ?position core:dateTimeInterval ?dateTimeInterval . ?dateTimeInterval core:end ?dateTimeEndValue . ?dateTimeEndValue core:dateTime ?dateTimeEnd } WHERE { ?subject ?property ?position . + ?position a core:Position . ?position core:dateTimeInterval ?dateTimeInterval . ?dateTimeInterval core:end ?dateTimeEndValue . ?dateTimeEndValue core:dateTime ?dateTimeEnd @@ -145,4 +165,4 @@ - \ No newline at end of file + diff --git a/productMods/templates/freemarker/body/partials/individual/individual-positions.ftl b/productMods/templates/freemarker/body/partials/individual/individual-positions.ftl index 01553334..76611713 100644 --- a/productMods/templates/freemarker/body/partials/individual/individual-positions.ftl +++ b/productMods/templates/freemarker/body/partials/individual/individual-positions.ftl @@ -1,11 +1,11 @@ <#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> <#-- List of positions for the individual --> -<#assign positions = propertyGroups.pullProperty("${core}personInPosition")!> +<#assign positions = propertyGroups.pullProperty("${core}relatedBy", "${core}Position")!> <#if positions?has_content> <#-- true when the property is in the list, even if not populated (when editing) --> <#assign localName = positions.localName>

${positions.name?capitalize} <@p.addLink positions editable /> <@p.verboseDisplay positions />

    <@p.objectProperty positions editable />
- \ No newline at end of file + From c162d3d84bb14fad39f925cc49fd125c05d97e0a Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Tue, 6 Aug 2013 16:55:15 -0400 Subject: [PATCH 07/66] position form updates for ISF --- .../ontologies/app/loadedAtStartup/PropertyConfig.n3 | 3 ++- .../generators/PersonHasPositionHistoryGenerator.java | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 index fde85126..5dc1150d 100644 --- a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 +++ b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 @@ -24,7 +24,8 @@ local:personInPositionConfig a :ObjectPropertyDisplayConfig ; :displayName "positions" ; :listViewConfigFile "listViewConfig-personInPosition.xml"^^xsd:string ; :propertyGroup ; - vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public . + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasPositionHistoryGenerator"^^xsd:string . local:authorInAuthorshipContext a :ConfigContext ; :hasConfiguration local:authorInAuthorshipConfig ; diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java index 900b8657..be571723 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java @@ -30,8 +30,8 @@ public class PersonHasPositionHistoryGenerator extends VivoBaseGenerator impleme final static String positionClass = vivoCore + "Position"; final static String orgClass = "http://xmlns.com/foaf/0.1/Organization"; - final static String positionInOrgPred = vivoCore + "positionInOrganization"; - final static String orgForPositionPred = vivoCore + "organizationForPosition"; + final static String positionInOrgPred = vivoCore + "relates"; + final static String orgForPositionPred = vivoCore + "relatedBy"; final static String positionToInterval = vivoCore + "dateTimeInterval"; final static String intervalType = vivoCore + "DateTimeInterval"; final static String intervalToStart = vivoCore + "start"; @@ -166,9 +166,9 @@ public class PersonHasPositionHistoryGenerator extends VivoBaseGenerator impleme final static String n3ForNewPosition = "@prefix core: <" + vivoCore + "> . \n" + - "?person core:personInPosition ?position . \n" + + "?person core:relatedBy ?position . \n" + "?position a ?positionType . \n" + - "?position core:positionForPerson ?person ; "; + "?position core:relates ?person ; "; final static String positionTitleAssertion = "?position <" + label + "> ?positionTitle ."; From a8f1bfcf15ecf179af1edd5a6fba37f0fbe0e473 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Wed, 7 Aug 2013 13:47:17 -0400 Subject: [PATCH 08/66] working on converting position editing to ISF --- .../generators/AddPublicationToPersonGenerator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java index 9f338092..0db2d4b6 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java @@ -70,10 +70,10 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement //try to get the publication List stmts = - authorshipNode.getObjectPropertyStatements("http://vivoweb.org/ontology/core#linkedInformationResource"); + authorshipNode.getObjectPropertyStatements("http://vivoweb.org/ontology/core#relates"); if( stmts == null || stmts.isEmpty() ){ return doBadAuthorshipNoPub( vreq ); - }else if( stmts.size() > 1 ){ + }else if( stmts.size() > 2 ){ return doBadAuthorshipMultiplePubs(vreq); }else{ //skip to publication From ed71f74e105a7c73010bdeeb5fc6d372e4dda7ca Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Fri, 9 Aug 2013 16:24:08 -0400 Subject: [PATCH 09/66] continued work on ISF conversion and data migration --- .../filegraph/tbox/appControls-temp.n3 | 54 +++++++++++++++++++ .../update/oldAnnotations/placeholder.n3 | 0 .../PersonHasPositionHistoryGenerator.java | 1 + 3 files changed, 55 insertions(+) create mode 100644 productMods/WEB-INF/filegraph/tbox/appControls-temp.n3 create mode 100644 productMods/WEB-INF/ontologies/update/oldAnnotations/placeholder.n3 diff --git a/productMods/WEB-INF/filegraph/tbox/appControls-temp.n3 b/productMods/WEB-INF/filegraph/tbox/appControls-temp.n3 new file mode 100644 index 00000000..fcea92db --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/appControls-temp.n3 @@ -0,0 +1,54 @@ +@prefix hr: . +@prefix afn: . +@prefix : . +@prefix scires: . +@prefix aka: . +@prefix pubmed: . +@prefix vann: . +@prefix owl2: . +@prefix wcmc: . +@prefix dcterms: . +@prefix rdfs: . +@prefix swrl: . +@prefix vitro: . +@prefix event: . +@prefix wos: . +@prefix vivoc: . +@prefix swvs: . +@prefix rdf: . +@prefix c4o: . +@prefix cce: . +@prefix dcelem: . +@prefix vivo: . +@prefix dc: . +@prefix geo: . +@prefix pvs: . +@prefix foaf: . +@prefix aktp: . +@prefix far: . +@prefix fabio: . +@prefix skco: . +@prefix ospcu: . +@prefix acti: . +@prefix ai: . +@prefix sce: . +@prefix stars: . +@prefix bibo: . +@prefix xsd: . +@prefix swrlb: . +@prefix owl: . +@prefix core: . +@prefix socsci: . +@prefix rdfsyn: . +@prefix local: . +@prefix vitro-public: . +@prefix mann: . +@prefix skos: . +@prefix ero: . + +foaf:Agent + rdfs:subClassOf + [ a owl:Restriction ; + owl:allValuesFrom core:Relationship ; + owl:onProperty core:relatedBy + ] . diff --git a/productMods/WEB-INF/ontologies/update/oldAnnotations/placeholder.n3 b/productMods/WEB-INF/ontologies/update/oldAnnotations/placeholder.n3 new file mode 100644 index 00000000..e69de29b diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java index be571723..9053c48e 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java @@ -206,6 +206,7 @@ public class PersonHasPositionHistoryGenerator extends VivoBaseGenerator impleme final static String orgLabelQuery = "SELECT ?existingOrgLabel WHERE { \n" + " ?position <" + positionInOrgPred + "> ?existingOrg . \n" + + " ?existingOrg a <" + orgClass + "> . \n" + " ?existingOrg <" + label + "> ?existingOrgLabel . \n" + "}"; From 1d5864809cf8ffd096294c34b137ab701ed9ee07 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Mon, 19 Aug 2013 15:24:55 -0400 Subject: [PATCH 10/66] update to add publication generator to deal with generic Relationship properties --- .../AddPublicationToPersonGenerator.java | 47 ++++++++++++++----- 1 file changed, 35 insertions(+), 12 deletions(-) diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java index 0db2d4b6..ba44e6e3 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java @@ -11,11 +11,20 @@ import javax.servlet.http.HttpSession; import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.vocabulary.XSD; +import com.hp.hpl.jena.query.Query; +import com.hp.hpl.jena.query.QueryFactory; +import com.hp.hpl.jena.query.QueryExecution; +import com.hp.hpl.jena.query.QueryExecutionFactory; +import com.hp.hpl.jena.query.ResultSet; +import com.hp.hpl.jena.rdf.model.RDFNode; +import com.hp.hpl.jena.rdf.model.Resource; +import com.hp.hpl.jena.sparql.resultset.ResultSetMem; import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.beans.ObjectPropertyStatement; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; +import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.PersonHasPublicationValidator; @@ -37,6 +46,7 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement final static String collectionClass = bibo + "Periodical"; final static String bookClass = bibo + "Book"; + final static String documentClass = bibo + "Document"; final static String conferenceClass = bibo + "Conference"; final static String editorClass = foaf + "Person"; final static String publisherClass = vivoCore + "Publisher"; @@ -52,7 +62,8 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement final static String dateTimeValueType = vivoCore + "DateTimeValue"; final static String dateTimeValue = vivoCore + "dateTime"; final static String dateTimePrecision = vivoCore + "dateTimePrecision"; - + final static String relatesPred = vivoCore + "relates"; + public AddPublicationToPersonGenerator() {} @Override @@ -69,17 +80,29 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement Individual authorshipNode = EditConfigurationUtils.getObjectIndividual(vreq); //try to get the publication - List stmts = - authorshipNode.getObjectPropertyStatements("http://vivoweb.org/ontology/core#relates"); - if( stmts == null || stmts.isEmpty() ){ - return doBadAuthorshipNoPub( vreq ); - }else if( stmts.size() > 2 ){ - return doBadAuthorshipMultiplePubs(vreq); - }else{ - //skip to publication - EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo(); - editConfiguration.setSkipToUrl(UrlBuilder.getIndividualProfileUrl(stmts.get(0).getObjectURI(), vreq)); - return editConfiguration; + String pubQueryStr = "SELECT ?obj \n" + + "WHERE { <" + authorshipNode.getURI() + "> <" + relatesPred + "> ?obj . \n" + + " ?obj a <" + documentClass + "> . } \n"; + Query pubQuery = QueryFactory.create(pubQueryStr); + QueryExecution qe = QueryExecutionFactory.create(pubQuery, ModelAccess.on(vreq).getJenaOntModel()); + try { + ResultSetMem rs = new ResultSetMem(qe.execSelect()); + if(!rs.hasNext()){ + return doBadAuthorshipNoPub( vreq ); + }else if( rs.size() > 1 ){ + return doBadAuthorshipMultiplePubs(vreq); + }else{ + //skip to publication + RDFNode objNode = rs.next().get("obj"); + if (!objNode.isResource() || objNode.isAnon()) { + return doBadAuthorshipNoPub( vreq ); + } + EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo(); + editConfiguration.setSkipToUrl(UrlBuilder.getIndividualProfileUrl(((Resource) objNode).getURI(), vreq)); + return editConfiguration; + } + } finally { + qe.close(); } } From 0e925964593ad7f466b2b381be492613f245acf2 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Tue, 20 Aug 2013 15:45:01 -0400 Subject: [PATCH 11/66] removing unneeded bfo file from file graphs --- productMods/WEB-INF/filegraph/tbox/bfo.owl | 7310 -------------------- 1 file changed, 7310 deletions(-) delete mode 100644 productMods/WEB-INF/filegraph/tbox/bfo.owl diff --git a/productMods/WEB-INF/filegraph/tbox/bfo.owl b/productMods/WEB-INF/filegraph/tbox/bfo.owl deleted file mode 100644 index 9524f80c..00000000 --- a/productMods/WEB-INF/filegraph/tbox/bfo.owl +++ /dev/null @@ -1,7310 +0,0 @@ - - - - Alan Ruttenberg - Bill Duncan - Stefan Schulz - Melanie Courtot - BFO 2 Reference: BFO does not claim to be a complete coverage of all entities. It seeks only to provide coverage of those entities studied by empirical science together with those entities which affect or are involved in human activities such as data processing and planning – coverage that is sufficiently broad to provide assistance to those engaged in building domain ontologies for purposes of data annotation [17 - Mark Ressler - Fabian Neuhaus - Thomas Bittner - Bjoern Peters - Mauricio Almeida - David Osumi-Sutherland - BFO 2 Reference: For both terms and relational expressions in BFO, we distinguish between primitive and defined. ‘Entity’ is an example of one such primitive term. Primitive terms in a highest-level ontology such as BFO are terms that are so basic to our understanding of reality that there is no way of defining them in a non-circular fashion. For these, therefore, we can provide only elucidations, supplemented by examples and by axioms. - Leonard Jacuzzo - Janna Hastings - Mathias Brochhausen - Randall Dipert - Larry Hunter - Robert Rovetto - Albert Goldfain - Chris Mungall - Barry Smith - Ludger Jansen - This is an early version of BFO version 2 and has not yet been extensively reviewed by the project team members. Please see the project site http://code.google.com/p/bfo/ , the bfo2 owl discussion group http://groups.google.com/group/bfo-owl-devel , the bfo2 discussion group http://groups.google.com/group/bfo-devel, the tracking google doc http://goo.gl/IlrEE, and the current version of the bfo2 reference http://purl.obolibrary.org/obo/bfo/dev/bfo2-reference.docx . This ontology is generated from a specification at http://bfo.googlecode.com/svn/trunk/src/ontology/owl-group/specification/ and with the code that generates the OWL version in http://bfo.googlecode.com/svn/trunk/src/tools/. A very early version of BFO version 2 in CLIF is at http://purl.obolibrary.org/obo/bfo/dev/bfo.clif - Werner Ceusters - Pierre Grenon - BFO 2 Reference: BFO’s treatment of continuants and occurrents – as also its treatment of regions, rests on a dichotomy between space and time, and on the view that there are two perspectives on reality – earlier called the ‘SNAP’ and ‘SPAN’ perspectives, both of which are essential to the non-reductionist representation of reality as we understand it from the best available science [30 - Jonathan Bona - Ron Rudnicki - - - - - - - - - - - - - - - - - - - - - - BFO OWL specification label - Really of interest to developers only - Relates an entity in the ontology to the name of the variable that is used to represent it in the code that generates the BFO OWL file from the lispy specification. - - - - BFO CLIF specification label - Person:Alan Ruttenberg - Really of interest to developers only - Relates an entity in the ontology to the term that is used to represent it in the the CLIF specification of BFO2 - - - - - - has axiom label - - - - definition - - - - has associated axiom(nl) - - - - - editor note - - - - has associated axiom(fol) - - - - - imported from - - - - curator note - - - - definition source - - - - - term editor - - - - alternative term - - - - elucidation - - - - editor preferred term - - - - example of usage - - - - - - - - - - - - - - - - - - - inheres in at all times - BFO 2 Reference: Inherence is a subrelation of s-depends_on which holds between a dependent continuant and an independent continuant that is not a spatial region. Since dependent continuants cannot migrate from one independent continuant bearer to another, it follows that if b s-depends_on independent continuant c at some time, then b s-depends_on c at all times at which a exists. Inherence is in this sense redundantly time-indexed.For example, consider the particular instance of openness inhering in my mouth at t as I prepare to take a bite out of a donut, followed by a closedness at t+1 when I bite the donut and start chewing. The openness instance is then shortlived, and to say that it s-depends_on my mouth at all times at which this openness exists, means: at all times during this short life. Every time you make a fist, you make a new (instance of the universal) fist. (Every time your hand has the fist-shaped quality, there is created a new instance of the universal fist-shaped quality.) - inheresInAt - inheres-in_at - (iff (inheresInAt a b t) (and (DependentContinuant a) (IndependentContinuant b) (not (SpatialRegion b)) (specificallyDependsOnAt a b t))) // axiom label in BFO2 CLIF: [051-002] - BFO2 Reference: independent continuant that is not a spatial region - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'inheres in at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'inheres in@en(x,y,t)'. - BFO2 Reference: specifically dependent continuant - b inheres_in c at t =Def. b is a dependent continuant & c is an independent continuant that is not a spatial region & b s-depends_on c at t. (axiom label in BFO2 Reference: [051-002]) - - - - - - - - - - - - - - - - b inheres_in c at t =Def. b is a dependent continuant & c is an independent continuant that is not a spatial region & b s-depends_on c at t. (axiom label in BFO2 Reference: [051-002]) - - - - - - - - - - - - - - - - - - - - - (iff (inheresInAt a b t) (and (DependentContinuant a) (IndependentContinuant b) (not (SpatialRegion b)) (specificallyDependsOnAt a b t))) // axiom label in BFO2 CLIF: [051-002] - - - - - - - - - - - - - - - - - bearer of at some time - (iff (bearerOfAt a b t) (and (specificallyDependsOnAt b a t) (IndependentContinuant a) (not (SpatialRegion a)) (existsAt b t))) // axiom label in BFO2 CLIF: [053-004] - BFO2 Reference: independent continuant that is not a spatial region - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'bearer of at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'bearer of@en'(x,y,t) - BFO2 Reference: specifically dependent continuant - b bearer_of c at t =Def. c s-depends_on b at t & b is an independent continuant that is not a spatial region. (axiom label in BFO2 Reference: [053-004]) - bearerOfAt - bearer-of_st - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (iff (bearerOfAt a b t) (and (specificallyDependsOnAt b a t) (IndependentContinuant a) (not (SpatialRegion a)) (existsAt b t))) // axiom label in BFO2 CLIF: [053-004] - - - - - - - - - - - - b bearer_of c at t =Def. c s-depends_on b at t & b is an independent continuant that is not a spatial region. (axiom label in BFO2 Reference: [053-004]) - - - - - - - - - - - realized in - (forall (x y z t) (if (and (RealizableEntity x) (Process y) (realizesAt y x t) (bearerOfAt z x t)) (hasParticipantAt y z t))) // axiom label in BFO2 CLIF: [106-002] - [copied from inverse property 'realizes'] to say that b realizes c at t is to assert that there is some material entity d & b is a process which has participant d at t & c is a disposition or role of which d is bearer_of at t& the type instantiated by b is correlated with the type instantiated by c. (axiom label in BFO2 Reference: [059-003]) - if a realizable entity b is realized in a process p, then p stands in the has_participant relation to the bearer of b. (axiom label in BFO2 Reference: [106-002]) - realized-in - realizedIn - - - - - - (forall (x y z t) (if (and (RealizableEntity x) (Process y) (realizesAt y x t) (bearerOfAt z x t)) (hasParticipantAt y z t))) // axiom label in BFO2 CLIF: [106-002] - - - - - - if a realizable entity b is realized in a process p, then p stands in the has_participant relation to the bearer of b. (axiom label in BFO2 Reference: [106-002]) - - - - - - - - - - - - - - - - - - - - - - - realizes - (forall (x y t) (if (realizesAt x y t) (and (Process x) (or (Disposition y) (Role y)) (exists (z) (and (MaterialEntity z) (hasParticipantAt x z t) (bearerOfAt z y t)))))) // axiom label in BFO2 CLIF: [059-003] - realizes - realizes - to say that b realizes c at t is to assert that there is some material entity d & b is a process which has participant d at t & c is a disposition or role of which d is bearer_of at t& the type instantiated by b is correlated with the type instantiated by c. (axiom label in BFO2 Reference: [059-003]) - - - - - - - - - - - - - - - - - - - to say that b realizes c at t is to assert that there is some material entity d & b is a process which has participant d at t & c is a disposition or role of which d is bearer_of at t& the type instantiated by b is correlated with the type instantiated by c. (axiom label in BFO2 Reference: [059-003]) - - - - - - (forall (x y t) (if (realizesAt x y t) (and (Process x) (or (Disposition y) (Role y)) (exists (z) (and (MaterialEntity z) (hasParticipantAt x z t) (bearerOfAt z y t)))))) // axiom label in BFO2 CLIF: [059-003] - - - - - - - - - - - participates in at some time - [copied from inverse property 'has participant at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has participant at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has participant@en'(x,y,t) - [copied from inverse property 'has participant at some time'] BFO2 Reference: process - [copied from inverse property 'has participant at some time'] BFO2 Reference: independent continuant that is not a spatial region, specifically dependent continuant, generically dependent continuant - participates-in_st - [copied from inverse property 'has participant at some time'] has_participant is an instance-level relation between a process, a continuant, and a temporal region at which the continuant participates in some way in the process. (axiom label in BFO2 Reference: [086-003]) - [copied from inverse property 'has participant at some time'] BFO 2 Reference: Spatial regions do not participate in processes. - participatesInAt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - has participant at some time - (forall (x y t) (if (hasParticipantAt x y t) (Continuant y))) // axiom label in BFO2 CLIF: [088-001] - has-participant_st - hasParticipantAt - BFO2 Reference: process - (forall (x y t) (if (hasParticipantAt x y t) (Occurrent x))) // axiom label in BFO2 CLIF: [087-001] - (forall (x y t) (if (hasParticipantAt x y t) (existsAt y t))) // axiom label in BFO2 CLIF: [089-001] - (forall (x y t) (if (and (hasParticipantAt x y t) (GenericallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (genericallyDependsOn y z t) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [091-003] - (forall (x y t) (if (and (hasParticipantAt x y t) (SpecificallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t) (specificallyDependsOnAt y z t))))) // axiom label in BFO2 CLIF: [090-003] - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has participant at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has participant@en'(x,y,t) - BFO 2 Reference: Spatial regions do not participate in processes. - BFO2 Reference: independent continuant that is not a spatial region, specifically dependent continuant, generically dependent continuant - has_participant is an instance-level relation between a process, a continuant, and a temporal region at which the continuant participates in some way in the process. (axiom label in BFO2 Reference: [086-003]) - if b has_participant c at t & c is a generically dependent continuant, then there is some independent continuant that is not a spatial region d, and which is such that c g-depends on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [091-003]) - if b has_participant c at t & c is a specifically dependent continuant, then there is some independent continuant that is not a spatial region d, c s-depends_on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [090-003]) - if b has_participant c at t then b is an occurrent. (axiom label in BFO2 Reference: [087-001]) - if b has_participant c at t then c exists at t. (axiom label in BFO2 Reference: [089-001]) - if b has_participant c at t then c is a continuant. (axiom label in BFO2 Reference: [088-001]) - - - - - - - - - - - - - - - - - - - - - if b has_participant c at t & c is a specifically dependent continuant, then there is some independent continuant that is not a spatial region d, c s-depends_on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [090-003]) - - - - - - (forall (x y t) (if (hasParticipantAt x y t) (Continuant y))) // axiom label in BFO2 CLIF: [088-001] - - - - - - - - - - - - if b has_participant c at t then c is a continuant. (axiom label in BFO2 Reference: [088-001]) - - - - - - if b has_participant c at t then b is an occurrent. (axiom label in BFO2 Reference: [087-001]) - - - - - - (forall (x y t) (if (and (hasParticipantAt x y t) (GenericallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (genericallyDependsOn y z t) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [091-003] - - - - - - if b has_participant c at t then c exists at t. (axiom label in BFO2 Reference: [089-001]) - - - - - - - - - - - - - - - has_participant is an instance-level relation between a process, a continuant, and a temporal region at which the continuant participates in some way in the process. (axiom label in BFO2 Reference: [086-003]) - - - - - - - - - - - - - - - - - - - - - if b has_participant c at t & c is a generically dependent continuant, then there is some independent continuant that is not a spatial region d, and which is such that c g-depends on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [091-003]) - - - - - - (forall (x y t) (if (and (hasParticipantAt x y t) (SpecificallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t) (specificallyDependsOnAt y z t))))) // axiom label in BFO2 CLIF: [090-003] - - - - - - (forall (x y t) (if (hasParticipantAt x y t) (Occurrent x))) // axiom label in BFO2 CLIF: [087-001] - - - - - - (forall (x y t) (if (hasParticipantAt x y t) (existsAt y t))) // axiom label in BFO2 CLIF: [089-001] - - - - - - - - - - - concretized by at some time - concretized-by_st - [copied from inverse property 'concretizes at some time'] you may concretize a poem as a pattern of memory traces in your head - [copied from inverse property 'concretizes at some time'] b concretizes c at t means: b is a specifically dependent continuant & c is a generically dependent continuant & for some independent continuant that is not a spatial region d, b s-depends_on d at t & c g-depends on d at t & if c migrates from bearer d to another bearer e than a copy of b will be created in e. (axiom label in BFO2 Reference: [075-002]) - [copied from inverse property 'concretizes at some time'] You may concretize a piece of software by installing it in your computer - [copied from inverse property 'concretizes at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'concretizes at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'concretizes@en'(x,y,t) - [copied from inverse property 'concretizes at some time'] You may concretize a recipe that you find in a cookbook by turning it into a plan which exists as a realizable dependent continuant in your head. - - - - - - - - - - - - - - - - - - - - - - - concretizes at some time - concretizesAt - (forall (x y t) (if (genericallyDependsOnAt x y t) (exists (z) (and (concretizesAt z x t) (specificallyDependsOnAt z y t))))) // axiom label in BFO2 CLIF: [076-001] - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'concretizes at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'concretizes@en'(x,y,t) - (forall (x y t) (if (concretizesAt x y t) (and (SpecificallyDependentContinuant x) (GenericallyDependentContinuant y) (exists (z) (and (IndependentContinuant z) (specificallyDependsOnAt x z t) (genericallyDependsOnAt y z t)))))) // axiom label in BFO2 CLIF: [075-002] - concretizes_st - You may concretize a piece of software by installing it in your computer - You may concretize a recipe that you find in a cookbook by turning it into a plan which exists as a realizable dependent continuant in your head. - b concretizes c at t means: b is a specifically dependent continuant & c is a generically dependent continuant & for some independent continuant that is not a spatial region d, b s-depends_on d at t & c g-depends on d at t & if c migrates from bearer d to another bearer e than a copy of b will be created in e. (axiom label in BFO2 Reference: [075-002]) - if b g-depends on c at some time t, then there is some d, such that d concretizes b at t and d s-depends_on c at t. (axiom label in BFO2 Reference: [076-001]) - you may concretize a poem as a pattern of memory traces in your head - - - - - - - (forall (x y t) (if (concretizesAt x y t) (and (SpecificallyDependentContinuant x) (GenericallyDependentContinuant y) (exists (z) (and (IndependentContinuant z) (specificallyDependsOnAt x z t) (genericallyDependsOnAt y z t)))))) // axiom label in BFO2 CLIF: [075-002] - - - - - - if b g-depends on c at some time t, then there is some d, such that d concretizes b at t and d s-depends_on c at t. (axiom label in BFO2 Reference: [076-001]) - - - - - - b concretizes c at t means: b is a specifically dependent continuant & c is a generically dependent continuant & for some independent continuant that is not a spatial region d, b s-depends_on d at t & c g-depends on d at t & if c migrates from bearer d to another bearer e than a copy of b will be created in e. (axiom label in BFO2 Reference: [075-002]) - - - - - - (forall (x y t) (if (genericallyDependsOnAt x y t) (exists (z) (and (concretizesAt z x t) (specificallyDependsOnAt z y t))))) // axiom label in BFO2 CLIF: [076-001] - - - - - - - - - - - - - - - - - - - - - - - occurs in - occursIn - b occurs_in c =def b is a process and c is a material entity or immaterial entity& there exists a spatiotemporal region r and b occupies_spatiotemporal_region r.& forall(t) if b exists_at t then c exists_at t & there exist spatial regions s and s’ where & b spatially_projects_onto s at t& c is occupies_spatial_region s’ at t& s is a proper_continuant_part_of s’ at t [XXX-001 - occurs-in - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - contains process - contains-process - containsProcess - [copied from inverse property 'occurs in'] b occurs_in c =def b is a process and c is a material entity or immaterial entity& there exists a spatiotemporal region r and b occupies_spatiotemporal_region r.& forall(t) if b exists_at t then c exists_at t & there exist spatial regions s and s’ where & b spatially_projects_onto s at t& c is occupies_spatial_region s’ at t& s is a proper_continuant_part_of s’ at t [XXX-001 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - specifically depends on at all times - (forall (x y t) (if (and (Entity x) (or (continuantPartOfAt y x t) (continuantPartOfAt x y t) (occurrentPartOf x y) (occurrentPartOf y x))) (not (specificallyDependsOnAt x y t)))) // axiom label in BFO2 CLIF: [013-002] - (forall (x y z t) (if (and (specificallyDependsOnAt x y t) (specificallyDependsOnAt y z t)) (specificallyDependsOnAt x z t))) // axiom label in BFO2 CLIF: [054-002] - specificallyDependsOn - (forall (x y t) (if (and (Occurrent x) (IndependentContinuant y) (specificallyDependsOnAt x y t)) (forall (t_1) (if (existsAt x t_1) (specificallyDependsOnAt x y t_1))))) // axiom label in BFO2 CLIF: [015-002] - A pain s-depends_on the organism that is experiencing the pain - BFO2 Reference: specifically dependent continuant\; process; process boundary - s-depends-on_at - (forall (x) (if (exists (y t) (specificallyDependsOnAt x y t)) (not (MaterialEntity x)))) // axiom label in BFO2 CLIF: [052-001] - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'specifically depends on at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'specifically depends on@en(x,y,t)'. - (forall (x y t) (if (specificallyDependsOnAt x y t) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [136-001] - BFO 2 Reference: An entity – for example an act of communication or a game of football – can s-depends_on more than one entity. Complex phenomena for example in the psychological and social realms (such as inferring, commanding and requesting) or in the realm of multi-organismal biological processes (such as infection and resistance), will involve multiple families of dependence relations, involving both continuants and occurrents [1, 4, 28 - BFO 2 Reference: S-dependence is just one type of dependence among many; it is what, in the literature, is referred to as ‘existential dependence’ [87, 46, 65, 20 - BFO 2 Reference: the relation of s-depends_on does not in every case require simultaneous existence of its relata. Note the difference between such cases and the cases of continuant universals defined historically: the act of answering depends existentially on the prior act of questioning; the human being who was baptized or who answered a question does not himself depend existentially on the prior act of baptism or answering. He would still exist even if these acts had never taken place. - If b is s-depends_on something at some time, then b is not a material entity. (axiom label in BFO2 Reference: [052-001]) - If b s-depends_on something at t, then there is some c, which is an independent continuant and not a spatial region, such that b s-depends_on c at t. (axiom label in BFO2 Reference: [136-001]) - If occurrent b s-depends_on some independent continuant c at t, then b s-depends_on c at every time at which b exists. (axiom label in BFO2 Reference: [015-002]) - To say that b s-depends_on a at t is to say that b and c do not share common parts & b is of its nature such that it cannot exist unless c exists & b is not a boundary of c and b is not a site of which c is the host [64 - a gait s-depends_on the walking object. (All at some specific time.) - a shape s-depends_on the shaped object - an entity does not s-depend_on any of its (continuant or occurrent) parts or on anything it is part of. (axiom label in BFO2 Reference: [013-002]) - if b s-depends_on c at t & c s-depends_on d at t then b s-depends_on d at t. (axiom label in BFO2 Reference: [054-002]) - one-sided s-dependence of a dependent continuant on an independent continuant: an instance of headache s-depends_on some head - one-sided s-dependence of a dependent continuant on an independent continuant: an instance of temperature s-depends_on some organism - one-sided s-dependence of a process on something: a process of cell death s-depends_on a cell - one-sided s-dependence of a process on something: an instance of seeing (a relational process) s-depends_on some organism and on some seen entity, which may be an occurrent or a continuant - one-sided s-dependence of one occurrent on another: a process of answering a question is dependent on a prior process of asking a question - one-sided s-dependence of one occurrent on another: a process of obeying a command is dependent on a prior process of issuing a command - one-sided s-dependence of one occurrent on multiple independent continuants: a relational process of hitting a ball with a cricket bat - one-sided s-dependence of one occurrent on multiple independent continuants: a relational process of paying cash to a merchant in exchange for a bag of figs - reciprocal s-dependence between occurrents: a process of buying and the associated process of selling - reciprocal s-dependence between occurrents: a process of increasing the volume of a portion of gas while temperature remains constant and the associated process of decreasing the pressure exerted by the gas - reciprocal s-dependence between occurrents: in a game of chess the process of playing with the white pieces is mutually dependent on the process of playing with the black pieces - the one-sided dependence of an occurrent on an independent continuant: football match on the players, the ground, the ball - the one-sided dependence of an occurrent on an independent continuant: handwave on a hand - the three-sided reciprocal s-dependence of the hue, saturation and brightness of a color [45 - the three-sided reciprocal s-dependence of the pitch, timbre and volume of a tone [45 - the two-sided reciprocal s-dependence of the roles of husband and wife [20 - - - - - an entity does not s-depend_on any of its (continuant or occurrent) parts or on anything it is part of. (axiom label in BFO2 Reference: [013-002]) - - - - - - (forall (x y t) (if (and (Entity x) (or (continuantPartOfAt y x t) (continuantPartOfAt x y t) (occurrentPartOf x y) (occurrentPartOf y x))) (not (specificallyDependsOnAt x y t)))) // axiom label in BFO2 CLIF: [013-002] - - - - - - (forall (x y z t) (if (and (specificallyDependsOnAt x y t) (specificallyDependsOnAt y z t)) (specificallyDependsOnAt x z t))) // axiom label in BFO2 CLIF: [054-002] - - - - - - If b s-depends_on something at t, then there is some c, which is an independent continuant and not a spatial region, such that b s-depends_on c at t. (axiom label in BFO2 Reference: [136-001]) - - - - - - (forall (x y t) (if (and (Occurrent x) (IndependentContinuant y) (specificallyDependsOnAt x y t)) (forall (t_1) (if (existsAt x t_1) (specificallyDependsOnAt x y t_1))))) // axiom label in BFO2 CLIF: [015-002] - - - - - - (forall (x) (if (exists (y t) (specificallyDependsOnAt x y t)) (not (MaterialEntity x)))) // axiom label in BFO2 CLIF: [052-001] - - - - - - if b s-depends_on c at t & c s-depends_on d at t then b s-depends_on d at t. (axiom label in BFO2 Reference: [054-002]) - - - - - - (forall (x y t) (if (specificallyDependsOnAt x y t) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [136-001] - - - - - - If occurrent b s-depends_on some independent continuant c at t, then b s-depends_on c at every time at which b exists. (axiom label in BFO2 Reference: [015-002]) - - - - - - If b is s-depends_on something at some time, then b is not a material entity. (axiom label in BFO2 Reference: [052-001]) - - - - - - - - - - - function of at all times - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'function of at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'function of@en(x,y,t)'. - f-of_at - (iff (functionOf a b t) (and (Function a) (inheresInAt a b t))) // axiom label in BFO2 CLIF: [067-001] - functionOfAt - a function_of b at t =Def. a is a function and a inheres_in b at t. (axiom label in BFO2 Reference: [067-001]) - - - - - - (iff (functionOf a b t) (and (Function a) (inheresInAt a b t))) // axiom label in BFO2 CLIF: [067-001] - - - - - - - - - - - - a function_of b at t =Def. a is a function and a inheres_in b at t. (axiom label in BFO2 Reference: [067-001]) - - - - - - - - - - - quality of at all times - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'quality of at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'quality of@en(x,y,t)'. - b quality_of c at t = Def. b is a quality & c is an independent continuant that is not a spatial region & b s-depends_on c at t. (axiom label in BFO2 Reference: [056-002]) - q-of_at - (iff (qualityOfAt a b t) (and (Quality a) (IndependentContinuant b) (not (SpatialRegion b)) (specificallyDependsOnAt a b t))) // axiom label in BFO2 CLIF: [056-002] - qualityOfAt - - - - - - b quality_of c at t = Def. b is a quality & c is an independent continuant that is not a spatial region & b s-depends_on c at t. (axiom label in BFO2 Reference: [056-002]) - - - - - - (iff (qualityOfAt a b t) (and (Quality a) (IndependentContinuant b) (not (SpatialRegion b)) (specificallyDependsOnAt a b t))) // axiom label in BFO2 CLIF: [056-002] - - - - - - - - - - - - - - - - - role of at all times - roleOfAt - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'role of at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'role of@en(x,y,t)'. - (iff (roleOfAt a b t) (and (Role a) (inheresInAt a b t))) // axiom label in BFO2 CLIF: [065-001] - a role_of b at t =Def. a is a role and a inheres_in b at t. (axiom label in BFO2 Reference: [065-001]) - r-of_at - - - - - - - - - - - - a role_of b at t =Def. a is a role and a inheres_in b at t. (axiom label in BFO2 Reference: [065-001]) - - - - - - (iff (roleOfAt a b t) (and (Role a) (inheresInAt a b t))) // axiom label in BFO2 CLIF: [065-001] - - - - - - - - - - - - located in at all times - located-in_at - (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (locatedInAt x y t) (continuantPartOfAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [049-001] - locatedInAt - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'located in at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'located in@en(x,y,t)'. - (iff (locatedInAt a b t) (and (IndependentContinuant a) (IndependentContinuant b) (exists (r_1 r_2) (and (occupiesSpatialRegionAt a r_1 t) (occupiesSpatialRegionAt b r_2 t) (continuantPartOfAt r_1 r_2 t))))) // axiom label in BFO2 CLIF: [045-001] - BFO2 Reference: independent continuant - (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (continuantPartOfAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [048-001] - (forall (x y z t) (if (and (locatedInAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [046-001] - Located_in is transitive. (axiom label in BFO2 Reference: [046-001]) - Mary located_in Salzburg - b located_in c at t = Def. b and c are independent continuants, and the region at which b is located at t is a (proper or improper) continuant_part_of the region at which c is located at t. (axiom label in BFO2 Reference: [045-001]) - for all independent continuants b, c, and d: if b continuant_part_of c at t & c located_in d at t, then b located_in d at t. (axiom label in BFO2 Reference: [048-001]) - for all independent continuants b, c, and d: if b located_in c at t & c continuant_part_of d at t, then b located_in d at t. (axiom label in BFO2 Reference: [049-001]) - the Empire State Building located_in New York. - this portion of cocaine located_in this portion of blood - this stem cell located_in this portion of bone marrow - your arm located_in your body - - - - - for all independent continuants b, c, and d: if b located_in c at t & c continuant_part_of d at t, then b located_in d at t. (axiom label in BFO2 Reference: [049-001]) - - - - - - (forall (x y z t) (if (and (locatedInAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [046-001] - - - - - - b located_in c at t = Def. b and c are independent continuants, and the region at which b is located at t is a (proper or improper) continuant_part_of the region at which c is located at t. (axiom label in BFO2 Reference: [045-001]) - - - - - - (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (locatedInAt x y t) (continuantPartOfAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [049-001] - - - - - - (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (continuantPartOfAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [048-001] - - - - - - (iff (locatedInAt a b t) (and (IndependentContinuant a) (IndependentContinuant b) (exists (r_1 r_2) (and (occupiesSpatialRegionAt a r_1 t) (occupiesSpatialRegionAt b r_2 t) (continuantPartOfAt r_1 r_2 t))))) // axiom label in BFO2 CLIF: [045-001] - - - - - - for all independent continuants b, c, and d: if b continuant_part_of c at t & c located_in d at t, then b located_in d at t. (axiom label in BFO2 Reference: [048-001]) - - - - - - Located_in is transitive. (axiom label in BFO2 Reference: [046-001]) - - - - - - - - - - - occupies spatial region at some time - occupiesSpatialRegionAt - (forall (r t) (if (Region r) (occupiesSpatialRegionAt r r t))) // axiom label in BFO2 CLIF: [042-002] - BFO2 Reference: spatial region - located-at-r_st - (forall (x y r_1 t) (if (and (occupiesSpatialRegionAt x r_1 t) (continuantPartOfAt y x t)) (exists (r_2) (and (continuantPartOfAt r_2 r_1 t) (occupiesSpatialRegionAt y r_2 t))))) // axiom label in BFO2 CLIF: [043-001] - (forall (x r t) (if (occupiesSpatialRegionAt x r t) (and (SpatialRegion r) (IndependentContinuant x)))) // axiom label in BFO2 CLIF: [041-002] - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'occupies spatial region at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'occupies spatial region@en'(x,y,t) - BFO2 Reference: independent continuant - b occupies_spatial_region r at t means that r is a spatial region in which independent continuant b is exactly located (axiom label in BFO2 Reference: [041-002]) - every region r is occupies_spatial_region r at all times. (axiom label in BFO2 Reference: [042-002]) - if b occupies_spatial_region r at t & b continuant_part_of b at t, then there is some r which is continuant_part_of r at t such that b occupies_spatial_region r at t. (axiom label in BFO2 Reference: [043-001]) - - - - - - - (forall (x y r_1 t) (if (and (occupiesSpatialRegionAt x r_1 t) (continuantPartOfAt y x t)) (exists (r_2) (and (continuantPartOfAt r_2 r_1 t) (occupiesSpatialRegionAt y r_2 t))))) // axiom label in BFO2 CLIF: [043-001] - - - - - - (forall (r t) (if (Region r) (occupiesSpatialRegionAt r r t))) // axiom label in BFO2 CLIF: [042-002] - - - - - - - - - - - - b occupies_spatial_region r at t means that r is a spatial region in which independent continuant b is exactly located (axiom label in BFO2 Reference: [041-002]) - - - - - - if b occupies_spatial_region r at t & b continuant_part_of b at t, then there is some r which is continuant_part_of r at t such that b occupies_spatial_region r at t. (axiom label in BFO2 Reference: [043-001]) - - - - - - - - - - - - every region r is occupies_spatial_region r at all times. (axiom label in BFO2 Reference: [042-002]) - - - - - - (forall (x r t) (if (occupiesSpatialRegionAt x r t) (and (SpatialRegion r) (IndependentContinuant x)))) // axiom label in BFO2 CLIF: [041-002] - - - - - - - - - - - generically depends on at some time - genericallyDependsOn - g-depends-on_st - BFO2 Reference: generically dependent continuant - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'generically depends on at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'generically depends on@en'(x,y,t) - (forall (x y) (if (exists (t) (genericallyDependsOnAt x y t)) (forall (t_1) (if (existsAt x t_1) (exists (z) (genericallyDependsOnAt x z t_1)))))) // axiom label in BFO2 CLIF: [073-001] - BFO2 Reference: independent continuant - b g-depends on c at t1 means: b exists at t1 and c exists at t1 & for some type B it holds that (c instantiates B at t1) & necessarily, for all t (if b exists at t then some instance_of B exists at t) & not (b s-depends_on c at t1). (axiom label in BFO2 Reference: [072-002]) - if b g-depends_on c at some time t, then b g-depends_on something at all times at which b exists. (axiom label in BFO2 Reference: [073-001]) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (forall (x y) (if (exists (t) (genericallyDependsOnAt x y t)) (forall (t_1) (if (existsAt x t_1) (exists (z) (genericallyDependsOnAt x z t_1)))))) // axiom label in BFO2 CLIF: [073-001] - - - - - - b g-depends on c at t1 means: b exists at t1 and c exists at t1 & for some type B it holds that (c instantiates B at t1) & necessarily, for all t (if b exists at t then some instance_of B exists at t) & not (b s-depends_on c at t1). (axiom label in BFO2 Reference: [072-002]) - - - - - - if b g-depends_on c at some time t, then b g-depends_on something at all times at which b exists. (axiom label in BFO2 Reference: [073-001]) - - - - - - - - - - - has function at some time - hasFunctionAt - (iff (hasFunctionAt a b t) (functionOf b a t)) // axiom label in BFO2 CLIF: [070-001] - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has function at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has function@en'(x,y,t) - a has_function b at t =Def. b function_of a at t. (axiom label in BFO2 Reference: [070-001]) - has-f_st - - - - - - (iff (hasFunctionAt a b t) (functionOf b a t)) // axiom label in BFO2 CLIF: [070-001] - - - - - - - - - - - - a has_function b at t =Def. b function_of a at t. (axiom label in BFO2 Reference: [070-001]) - - - - - - - - - - - has quality at some time - has-q_st - - - - - - - - - - - - - - - - - has role at some time - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has role at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has role@en'(x,y,t) - a has_role b at t =Def. b role_of a at t. (axiom label in BFO2 Reference: [068-001]) - hasRoleAt - (iff (hasRoleAt a b t) (roleOfAt b a t)) // axiom label in BFO2 CLIF: [068-001] - has-r_st - - - - - - - - - - - - a has_role b at t =Def. b role_of a at t. (axiom label in BFO2 Reference: [068-001]) - - - - - - (iff (hasRoleAt a b t) (roleOfAt b a t)) // axiom label in BFO2 CLIF: [068-001] - - - - - - - - - - - has generic dependent at some time - [copied from inverse property 'generically depends on at some time'] BFO2 Reference: independent continuant - has-g-dep_st - [copied from inverse property 'generically depends on at some time'] b g-depends on c at t1 means: b exists at t1 and c exists at t1 & for some type B it holds that (c instantiates B at t1) & necessarily, for all t (if b exists at t then some instance_of B exists at t) & not (b s-depends_on c at t1). (axiom label in BFO2 Reference: [072-002]) - [copied from inverse property 'generically depends on at some time'] BFO2 Reference: generically dependent continuant - [copied from inverse property 'generically depends on at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'generically depends on at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'generically depends on@en'(x,y,t) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - disposition of at all times - (iff (dispositionOf a b t) (and (Disposition a) (inheresInAt a b t))) // axiom label in BFO2 CLIF: [066-001] - dispositionOfAt - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'disposition of at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'disposition of@en(x,y,t)'. - a disposition_of b at t =Def. a is a disposition and a inheres_in b at t. (axiom label in BFO2 Reference: [066-001]) - d-of_at - - - - - - (iff (dispositionOf a b t) (and (Disposition a) (inheresInAt a b t))) // axiom label in BFO2 CLIF: [066-001] - - - - - - - - - - - - a disposition_of b at t =Def. a is a disposition and a inheres_in b at t. (axiom label in BFO2 Reference: [066-001]) - - - - - - - - - - - exists at - exists-at - existsAt - BFO2 Reference: entity - BFO2 Reference: temporal region - b exists_at t means: b is an entity which exists at some temporal region t. (axiom label in BFO2 Reference: [118-002]) - - - - - - - - - - - - - b exists_at t means: b is an entity which exists at some temporal region t. (axiom label in BFO2 Reference: [118-002]) - - - - - - - - - - - - - - - - - - has continuant part at all times - hasContinuantPartAt - (iff (hasContinuantPartAt a b t) (continuantPartOfAt b a t)) // axiom label in BFO2 CLIF: [006-001] - b has_continuant_part c at t = Def. c continuant_part_of b at t. (axiom label in BFO2 Reference: [006-001]) - c-has-part_at - [copied from inverse property 'part of continuant at all times that whole exists'] forall(t) exists_at(y,t) -> exists_at(x,t) and 'part of continuant'(x,y,t) - [copied from inverse property 'part of continuant at all times that whole exists'] This is a binary version of a ternary time-indexed, instance level, relation. Unlike the rest of the temporalized relations which temporally quantify over existence of the subject of the relation, this relation temporally quantifies over the existence of the object of the relation. The relation is provided tentatively, to assess whether the GO needs such a relation. It is inverse of 'has continuant part at all times' - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has continuant part at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has continuant part@en(x,y,t)'. - - - - - - - - - - - b has_continuant_part c at t = Def. c continuant_part_of b at t. (axiom label in BFO2 Reference: [006-001]) - - - - - - (iff (hasContinuantPartAt a b t) (continuantPartOfAt b a t)) // axiom label in BFO2 CLIF: [006-001] - - - - - - - - - - - - has proper continuant part at all times - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has proper continuant part at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has proper continuant part@en(x,y,t)'. - hasProperContinuantPartAt - c-has-ppart_at - b has_proper_continuant_part c at t = Def. c proper_continuant_part_of b at t. [XXX-001 - - - - - - - - - - - has disposition at some time - has-d_st - hasDispositionAt - (iff (hasDispositionAt a b t) (dispositionOf b a t)) // axiom label in BFO2 CLIF: [069-001] - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has disposition at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has disposition@en'(x,y,t) - a has_disposition b at t =Def. b disposition_of a at t. (axiom label in BFO2 Reference: [069-001]) - - - - - - (iff (hasDispositionAt a b t) (dispositionOf b a t)) // axiom label in BFO2 CLIF: [069-001] - - - - - - a has_disposition b at t =Def. b disposition_of a at t. (axiom label in BFO2 Reference: [069-001]) - - - - - - - - - - - - - - - - - has material basis at all times - has-material-basis_at - hasMaterialBasisAt - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has material basis at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has material basis@en(x,y,t)'. - (forall (x y t) (if (hasMaterialBasisAt x y t) (and (Disposition x) (MaterialEntity y) (exists (z) (and (bearerOfAt z x t) (continuantPartOfAt y z t) (exists (w) (and (Disposition w) (if (hasDisposition z w) (continuantPartOfAt y z t))))))))) // axiom label in BFO2 CLIF: [071-002] - b has_material_basis c at t means: b is a disposition & c is a material entity & there is some d bearer_of b at t& c continuant_part_of d at t& d has_disposition b at t because c continuant_part_of d at t. (axiom label in BFO2 Reference: [071-002]) - the material basis of John’s disposition to cough is the viral infection in John’s upper respiratory tract - the material basis of the disposition to wear unevenly of John’s tires is the worn suspension of his car. - - - - - - - - - - - - b has_material_basis c at t means: b is a disposition & c is a material entity & there is some d bearer_of b at t& c continuant_part_of d at t& d has_disposition b at t because c continuant_part_of d at t. (axiom label in BFO2 Reference: [071-002]) - - - - - - (forall (x y t) (if (hasMaterialBasisAt x y t) (and (Disposition x) (MaterialEntity y) (exists (z) (and (bearerOfAt z x t) (continuantPartOfAt y z t) (exists (w) (and (Disposition w) (if (hasDisposition z w) (continuantPartOfAt y z t))))))))) // axiom label in BFO2 CLIF: [071-002] - - - - - - - - - - - - - - - - - has member part at some time - [copied from inverse property 'member part of at some time'] BFO2 Reference: object - [copied from inverse property 'member part of at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'member part of at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'member part of@en'(x,y,t) - [copied from inverse property 'member part of at some time'] each piece in a chess set is a member part of the chess set; each Beatle in the collection called The Beatles is a member part of The Beatles. - [copied from inverse property 'member part of at some time'] each tree in a forest is a member_part of the forest - has-member-part_st - [copied from inverse property 'member part of at some time'] b member_part_of c at t =Def. b is an object & there is at t a mutually exhaustive and pairwise disjoint partition of c into objects x1, …, xn (for some n &gt; 1) with b = xi for some 1 ≤ i ≤ n. (axiom label in BFO2 Reference: [026-004]) - [copied from inverse property 'member part of at some time'] BFO2 Reference: object aggregate - - - - - - - - - - - - - - - - - - - - - - - - - has occurrent part - [copied from inverse property 'part of occurrent'] Mary’s 5th birthday occurrent_part_of Mary’s life - [copied from inverse property 'part of occurrent'] the first set of the tennis match occurrent_part_of the tennis match. - [copied from inverse property 'part of occurrent'] BFO 2 Reference: a (continuant or occurrent) part of itself. We appreciate that this is counterintuitive for some users, since it implies for example that President Obama is a part of himself. However it brings benefits in simplifying the logical formalism, and it captures an important feature of identity, namely that it is the limit case of mereological inclusion. - (iff (hasOccurrentPart a b) (occurrentPartOf b a)) // axiom label in BFO2 CLIF: [007-001] - [copied from inverse property 'part of occurrent'] BFO2 Reference: occurrent - o-has-part - hasOccurrentPart - [copied from inverse property 'part of occurrent'] b occurrent_part_of c =Def. b is a part of c & b and c are occurrents. (axiom label in BFO2 Reference: [003-002]) - [copied from inverse property 'part of occurrent'] The process of a footballer’s heart beating once is an occurrent part but not a temporal_part of a game of football. - b has_occurrent_part c = Def. c occurrent_part_of b. (axiom label in BFO2 Reference: [007-001]) - - - - - - (iff (hasOccurrentPart a b) (occurrentPartOf b a)) // axiom label in BFO2 CLIF: [007-001] - - - - - - - - - - - - b has_occurrent_part c = Def. c occurrent_part_of b. (axiom label in BFO2 Reference: [007-001]) - - - - - - - - - - - - - - - - - - - - - - - - has proper occurrent part - [copied from inverse property 'proper part of occurrent'] b proper_occurrent_part_of c =Def. b occurrent_part_of c & b and c are not identical. (axiom label in BFO2 Reference: [005-001]) - hasProperOccurrentPart - o-has-ppart - b has_proper_occurrent_part c = Def. c proper_occurrent_part_of b. [XXX-001 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - has profile - has-profile - - - - - - - - - - - - - - - - - - - - - - - - has temporal part - [copied from inverse property 'temporal part of'] the 4th year of your life is a temporal part of your life\. The first quarter of a game of football is a temporal part of the whole game\. The process of your heart beating from 4pm to 5pm today is a temporal part of the entire process of your heart beating.\ The 4th year of your life is a temporal part of your life - [copied from inverse property 'temporal part of'] the process boundary which separates the 3rd and 4th years of your life. - [copied from inverse property 'temporal part of'] your heart beating from 4pm to 5pm today is a temporal part of the process of your heart beating - [copied from inverse property 'temporal part of'] b proper_temporal_part_of c =Def. b temporal_part_of c & not (b = c). (axiom label in BFO2 Reference: [116-001]) - has-t-part - [copied from inverse property 'temporal part of'] b temporal_part_of c =Def.b occurrent_part_of c & & for some temporal region t, b occupies_temporal_region t & for all occurrents d, t (if d occupies_temporal_region t & t occurrent_part_of t then (d occurrent_part_of a iff d occurrent_part_of b)). (axiom label in BFO2 Reference: [078-003]) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - has spatial occupant at some time - r-location-of_st - [copied from inverse property 'occupies spatial region at some time'] BFO2 Reference: independent continuant - [copied from inverse property 'occupies spatial region at some time'] b occupies_spatial_region r at t means that r is a spatial region in which independent continuant b is exactly located (axiom label in BFO2 Reference: [041-002]) - [copied from inverse property 'occupies spatial region at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'occupies spatial region at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'occupies spatial region@en'(x,y,t) - [copied from inverse property 'occupies spatial region at some time'] BFO2 Reference: spatial region - - - - - - - - - - - - - - - - - - - - - - - has location at some time - [copied from inverse property 'located in at some time'] Mary located_in Salzburg - has-location_st - [copied from inverse property 'located in at some time'] your arm located_in your body - [copied from inverse property 'located in at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'located in at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'located in@en'(x,y,t) - [copied from inverse property 'located in at some time'] BFO2 Reference: independent continuant - [copied from inverse property 'located in at some time'] this portion of cocaine located_in this portion of blood - [copied from inverse property 'located in at some time'] this stem cell located_in this portion of bone marrow - [copied from inverse property 'located in at some time'] b located_in c at t = Def. b and c are independent continuants, and the region at which b is located at t is a (proper or improper) continuant_part_of the region at which c is located at t. (axiom label in BFO2 Reference: [045-001]) - [copied from inverse property 'located in at some time'] the Empire State Building located_in New York. - - - - - - - - - - - - - - - - - - - - - - - has specific dependent at some time - [copied from inverse property 'specifically depends on at some time'] reciprocal s-dependence between occurrents: a process of increasing the volume of a portion of gas while temperature remains constant and the associated process of decreasing the pressure exerted by the gas - [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of one occurrent on multiple independent continuants: a relational process of hitting a ball with a cricket bat - [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of one occurrent on multiple independent continuants: a relational process of paying cash to a merchant in exchange for a bag of figs - [copied from inverse property 'specifically depends on at some time'] the one-sided dependence of an occurrent on an independent continuant: football match on the players, the ground, the ball - has-s-dep_st - [copied from inverse property 'specifically depends on at some time'] BFO 2 Reference: S-dependence is just one type of dependence among many; it is what, in the literature, is referred to as ‘existential dependence’ [87, 46, 65, 20 - [copied from inverse property 'specifically depends on at some time'] a shape s-depends_on the shaped object - [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of a dependent continuant on an independent continuant: an instance of headache s-depends_on some head - [copied from inverse property 'specifically depends on at some time'] the three-sided reciprocal s-dependence of the pitch, timbre and volume of a tone [45 - [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of a process on something: an instance of seeing (a relational process) s-depends_on some organism and on some seen entity, which may be an occurrent or a continuant - [copied from inverse property 'specifically depends on at some time'] a gait s-depends_on the walking object. (All at some specific time.) - [copied from inverse property 'specifically depends on at some time'] To say that b s-depends_on a at t is to say that b and c do not share common parts & b is of its nature such that it cannot exist unless c exists & b is not a boundary of c and b is not a site of which c is the host [64 - [copied from inverse property 'specifically depends on at some time'] BFO 2 Reference: the relation of s-depends_on does not in every case require simultaneous existence of its relata. Note the difference between such cases and the cases of continuant universals defined historically: the act of answering depends existentially on the prior act of questioning; the human being who was baptized or who answered a question does not himself depend existentially on the prior act of baptism or answering. He would still exist even if these acts had never taken place. - [copied from inverse property 'specifically depends on at some time'] reciprocal s-dependence between occurrents: in a game of chess the process of playing with the white pieces is mutually dependent on the process of playing with the black pieces - [copied from inverse property 'specifically depends on at some time'] the three-sided reciprocal s-dependence of the hue, saturation and brightness of a color [45 - [copied from inverse property 'specifically depends on at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'specifically depends on at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'specifically depends on@en'(x,y,t) - [copied from inverse property 'specifically depends on at some time'] reciprocal s-dependence between occurrents: a process of buying and the associated process of selling - [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of one occurrent on another: a process of answering a question is dependent on a prior process of asking a question - [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of one occurrent on another: a process of obeying a command is dependent on a prior process of issuing a command - [copied from inverse property 'specifically depends on at some time'] BFO 2 Reference: An entity – for example an act of communication or a game of football – can s-depends_on more than one entity. Complex phenomena for example in the psychological and social realms (such as inferring, commanding and requesting) or in the realm of multi-organismal biological processes (such as infection and resistance), will involve multiple families of dependence relations, involving both continuants and occurrents [1, 4, 28 - [copied from inverse property 'specifically depends on at some time'] A pain s-depends_on the organism that is experiencing the pain - [copied from inverse property 'specifically depends on at some time'] the one-sided dependence of an occurrent on an independent continuant: handwave on a hand - [copied from inverse property 'specifically depends on at some time'] the two-sided reciprocal s-dependence of the roles of husband and wife [20 - [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of a process on something: a process of cell death s-depends_on a cell - [copied from inverse property 'specifically depends on at some time'] BFO2 Reference: specifically dependent continuant\; process; process boundary - [copied from inverse property 'specifically depends on at some time'] one-sided s-dependence of a dependent continuant on an independent continuant: an instance of temperature s-depends_on some organism - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - has spatiotemporal occupant - occupied-by - [copied from inverse property 'occupies spatiotemporal region'] BFO 2 Reference: The occupies_spatiotemporal_region and occupies_temporal_region relations are the counterpart, on the occurrent side, of the relation occupies_spatial_region. - [copied from inverse property 'occupies spatiotemporal region'] p occupies_spatiotemporal_region s. This is a primitive relation between an occurrent p and the spatiotemporal region s which is its spatiotemporal extent. (axiom label in BFO2 Reference: [082-003]) - - - - - - - - - - - - - - - - - - - - - - - material basis of at some time - material-basis-of_st - - - - - - - - - - - - - - - - - - - - - - - member part of at some time - BFO2 Reference: object aggregate - member-part-of_st - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'member part of at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'member part of@en'(x,y,t) - (forall (x y t) (if (memberPartOfAt x y t) (continuantPartOfAt x y t))) // axiom label in BFO2 CLIF: [104-001] - BFO2 Reference: object - b member_part_of c at t =Def. b is an object & there is at t a mutually exhaustive and pairwise disjoint partition of c into objects x1, …, xn (for some n &gt; 1) with b = xi for some 1 ≤ i ≤ n. (axiom label in BFO2 Reference: [026-004]) - each piece in a chess set is a member part of the chess set; each Beatle in the collection called The Beatles is a member part of The Beatles. - each tree in a forest is a member_part of the forest - if b member_part_of c at t then b continuant_part_of c at t. (axiom label in BFO2 Reference: [104-001]) - memberPartOfAt - - - - - - - - - - - - - - - - - - - - - if b member_part_of c at t then b continuant_part_of c at t. (axiom label in BFO2 Reference: [104-001]) - - - - - - (forall (x y t) (if (memberPartOfAt x y t) (continuantPartOfAt x y t))) // axiom label in BFO2 CLIF: [104-001] - - - - - - b member_part_of c at t =Def. b is an object & there is at t a mutually exhaustive and pairwise disjoint partition of c into objects x1, …, xn (for some n &gt; 1) with b = xi for some 1 ≤ i ≤ n. (axiom label in BFO2 Reference: [026-004]) - - - - - - - - - - - occupies spatiotemporal region - occupies - BFO 2 Reference: The occupies_spatiotemporal_region and occupies_temporal_region relations are the counterpart, on the occurrent side, of the relation occupies_spatial_region. - occupiesSpatiotemporalRegion - p occupies_spatiotemporal_region s. This is a primitive relation between an occurrent p and the spatiotemporal region s which is its spatiotemporal extent. (axiom label in BFO2 Reference: [082-003]) - - - - - - - - - - - - - p occupies_spatiotemporal_region s. This is a primitive relation between an occurrent p and the spatiotemporal region s which is its spatiotemporal extent. (axiom label in BFO2 Reference: [082-003]) - - - - - - - - - - - - - - - - - - part of occurrent - [copied from inverse property 'has occurrent part'] b has_occurrent_part c = Def. c occurrent_part_of b. (axiom label in BFO2 Reference: [007-001]) - BFO2 Reference: occurrent - (forall (x) (if (Occurrent x) (occurrentPartOf x x))) // axiom label in BFO2 CLIF: [113-002] - (forall (x y t) (if (and (occurrentPartOf x y t) (occurrentPartOf y x t)) (= x y))) // axiom label in BFO2 CLIF: [123-001] - occurrentPartOf - (forall (x y z) (if (and (occurrentPartOf x y) (occurrentPartOf y z)) (occurrentPartOf x z))) // axiom label in BFO2 CLIF: [112-001] - o-part-of - (forall (x y t) (if (exists (v) (and (occurrentPartOf v x t) (occurrentPartOf v y t))) (exists (z) (forall (u w) (iff (iff (occurrentPartOf w u t) (and (occurrentPartOf w x t) (occurrentPartOf w y t))) (= z u)))))) // axiom label in BFO2 CLIF: [125-001] - (forall (x y t) (if (and (occurrentPartOf x y t) (not (= x y))) (exists (z) (and (occurrentPartOf z y t) (not (exists (w) (and (occurrentPartOf w x t) (occurrentPartOf w z t)))))))) // axiom label in BFO2 CLIF: [124-001] - BFO 2 Reference: a (continuant or occurrent) part of itself. We appreciate that this is counterintuitive for some users, since it implies for example that President Obama is a part of himself. However it brings benefits in simplifying the logical formalism, and it captures an important feature of identity, namely that it is the limit case of mereological inclusion. - Mary’s 5th birthday occurrent_part_of Mary’s life - The process of a footballer’s heart beating once is an occurrent part but not a temporal_part of a game of football. - b occurrent_part_of c =Def. b is a part of c & b and c are occurrents. (axiom label in BFO2 Reference: [003-002]) - occurrent_part_of is antisymmetric. (axiom label in BFO2 Reference: [123-001]) - occurrent_part_of is reflexive (every occurrent entity is an occurrent_part_of itself). (axiom label in BFO2 Reference: [113-002]) - occurrent_part_of is transitive. (axiom label in BFO2 Reference: [112-001]) - occurrent_part_of satisfies unique product. (axiom label in BFO2 Reference: [125-001]) - occurrent_part_of satisfies weak supplementation. (axiom label in BFO2 Reference: [124-001]) - the first set of the tennis match occurrent_part_of the tennis match. - - - - - - - (forall (x y t) (if (and (occurrentPartOf x y t) (not (= x y))) (exists (z) (and (occurrentPartOf z y t) (not (exists (w) (and (occurrentPartOf w x t) (occurrentPartOf w z t)))))))) // axiom label in BFO2 CLIF: [124-001] - - - - - - (forall (x) (if (Occurrent x) (occurrentPartOf x x))) // axiom label in BFO2 CLIF: [113-002] - - - - - - (forall (x y t) (if (exists (v) (and (occurrentPartOf v x t) (occurrentPartOf v y t))) (exists (z) (forall (u w) (iff (iff (occurrentPartOf w u t) (and (occurrentPartOf w x t) (occurrentPartOf w y t))) (= z u)))))) // axiom label in BFO2 CLIF: [125-001] - - - - - - - - - - - - (forall (x y z) (if (and (occurrentPartOf x y) (occurrentPartOf y z)) (occurrentPartOf x z))) // axiom label in BFO2 CLIF: [112-001] - - - - - - - - - - - - occurrent_part_of is antisymmetric. (axiom label in BFO2 Reference: [123-001]) - - - - - - occurrent_part_of satisfies weak supplementation. (axiom label in BFO2 Reference: [124-001]) - - - - - - b occurrent_part_of c =Def. b is a part of c & b and c are occurrents. (axiom label in BFO2 Reference: [003-002]) - - - - - - - - - - - - occurrent_part_of is transitive. (axiom label in BFO2 Reference: [112-001]) - - - - - - occurrent_part_of satisfies unique product. (axiom label in BFO2 Reference: [125-001]) - - - - - - (forall (x y t) (if (and (occurrentPartOf x y t) (occurrentPartOf y x t)) (= x y))) // axiom label in BFO2 CLIF: [123-001] - - - - - - occurrent_part_of is reflexive (every occurrent entity is an occurrent_part_of itself). (axiom label in BFO2 Reference: [113-002]) - - - - - - - - - - - process profile of - profile-of - processProfileOf - - - - - - - - - - - - - - - - - - - - - - - - - proper temporal part of - t-ppart-of - properTemporalPartOf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - proper part of continuant at all times - (iff (properContinuantPartOfAt a b t) (and (continuantPartOfAt a b t) (not (= a b)))) // axiom label in BFO2 CLIF: [004-001] - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'proper part of continuant at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'proper part of continuant@en(x,y,t)'. - b proper_continuant_part_of c at t =Def. b continuant_part_of c at t & b and c are not identical. (axiom label in BFO2 Reference: [004-001]) - properContinuantPartOfAt - c-ppart-of_at - - - - - - b proper_continuant_part_of c at t =Def. b continuant_part_of c at t & b and c are not identical. (axiom label in BFO2 Reference: [004-001]) - - - - - - (iff (properContinuantPartOfAt a b t) (and (continuantPartOfAt a b t) (not (= a b)))) // axiom label in BFO2 CLIF: [004-001] - - - - - - - - - - - - proper part of occurrent - (iff (properOccurrentPartOf a b) (and (occurrentPartOf a b) (not (= a b)))) // axiom label in BFO2 CLIF: [005-001] - b proper_occurrent_part_of c =Def. b occurrent_part_of c & b and c are not identical. (axiom label in BFO2 Reference: [005-001]) - o-ppart-of - properOccurrentPartOf - [copied from inverse property 'has proper occurrent part'] b has_proper_occurrent_part c = Def. c proper_occurrent_part_of b. [XXX-001 - - - - - - - - - - - - - - - - - - - - b proper_occurrent_part_of c =Def. b occurrent_part_of c & b and c are not identical. (axiom label in BFO2 Reference: [005-001]) - - - - - - - - - - - - (iff (properOccurrentPartOf a b) (and (occurrentPartOf a b) (not (= a b)))) // axiom label in BFO2 CLIF: [005-001] - - - - - - - - - - - - temporal part of - t-part-of - (iff (temporalPartOf a b) (and (occurrentPartOf a b) (exists (t) (and (TemporalRegion t) (occupiesSpatioTemporalRegion a t))) (forall (c t_1) (if (and (Occurrent c) (occupiesSpatioTemporalRegion c t_1) (occurrentPartOf t_1 r)) (iff (occurrentPartOf c a) (occurrentPartOf c b)))))) // axiom label in BFO2 CLIF: [078-003] - (iff (properTemporalPartOf a b) (and (temporalPartOf a b) (not (= a b)))) // axiom label in BFO2 CLIF: [116-001] - temporalPartOf - (forall (x y) (if (properTemporalPartOf x y) (exists (z) (and (properTemporalPartOf z y) (not (exists (w) (and (temporalPartOf w x) (temporalPartOf w z)))))))) // axiom label in BFO2 CLIF: [117-002] - b proper_temporal_part_of c =Def. b temporal_part_of c & not (b = c). (axiom label in BFO2 Reference: [116-001]) - b temporal_part_of c =Def.b occurrent_part_of c & & for some temporal region t, b occupies_temporal_region t & for all occurrents d, t (if d occupies_temporal_region t & t occurrent_part_of t then (d occurrent_part_of a iff d occurrent_part_of b)). (axiom label in BFO2 Reference: [078-003]) - if b proper_temporal_part_of c, then there is some d which is a proper_temporal_part_of c and which shares no parts with b. (axiom label in BFO2 Reference: [117-002]) - the 4th year of your life is a temporal part of your life\. The first quarter of a game of football is a temporal part of the whole game\. The process of your heart beating from 4pm to 5pm today is a temporal part of the entire process of your heart beating.\ The 4th year of your life is a temporal part of your life - the process boundary which separates the 3rd and 4th years of your life. - your heart beating from 4pm to 5pm today is a temporal part of the process of your heart beating - - - - - - - - (iff (temporalPartOf a b) (and (occurrentPartOf a b) (exists (t) (and (TemporalRegion t) (occupiesSpatioTemporalRegion a t))) (forall (c t_1) (if (and (Occurrent c) (occupiesSpatioTemporalRegion c t_1) (occurrentPartOf t_1 r)) (iff (occurrentPartOf c a) (occurrentPartOf c b)))))) // axiom label in BFO2 CLIF: [078-003] - - - - - - b proper_temporal_part_of c =Def. b temporal_part_of c & not (b = c). (axiom label in BFO2 Reference: [116-001]) - - - - - - (forall (x y) (if (properTemporalPartOf x y) (exists (z) (and (properTemporalPartOf z y) (not (exists (w) (and (temporalPartOf w x) (temporalPartOf w z)))))))) // axiom label in BFO2 CLIF: [117-002] - - - - - - - - - - - - (iff (properTemporalPartOf a b) (and (temporalPartOf a b) (not (= a b)))) // axiom label in BFO2 CLIF: [116-001] - - - - - - b temporal_part_of c =Def.b occurrent_part_of c & & for some temporal region t, b occupies_temporal_region t & for all occurrents d, t (if d occupies_temporal_region t & t occurrent_part_of t then (d occurrent_part_of a iff d occurrent_part_of b)). (axiom label in BFO2 Reference: [078-003]) - - - - - - - - - - - - if b proper_temporal_part_of c, then there is some d which is a proper_temporal_part_of c and which shares no parts with b. (axiom label in BFO2 Reference: [117-002]) - - - - - - - - - - - - - - - - - projects onto spatial region at some time - st-projects-onto-s_st - - - - - - - - - - - - - - - - - - - - - - - - spatial projection of spatiotemporal at some time - s-projection-of-st_st - - - - - - - - - - - - - - - - - - - - - - - projects onto temporal region - st-projects-onto-t - - - - - - - - - - - - - - - - - - - - - - - - - temporal projection of spatiotemporal - t-projection-of-st - - - - - - - - - - - - - - - - - - - - - - - - occupies temporal region - occupiesTemporalRegion - spans - p occupies_temporal_region t. This is a primitive relation between an occurrent p and the temporal region t upon which the spatiotemporal region p occupies_spatiotemporal_region projects. (axiom label in BFO2 Reference: [132-001]) - - - - - - - - - - - - - - - - - - - - p occupies_temporal_region t. This is a primitive relation between an occurrent p and the temporal region t upon which the spatiotemporal region p occupies_spatiotemporal_region projects. (axiom label in BFO2 Reference: [132-001]) - - - - - - - - - - - has temporal occupant - [copied from inverse property 'occupies temporal region'] p occupies_temporal_region t. This is a primitive relation between an occurrent p and the temporal region t upon which the spatiotemporal region p occupies_spatiotemporal_region projects. (axiom label in BFO2 Reference: [132-001]) - spanOf - span-of - - - - - - - - - - - - - - - - - - - - - - - - during which exists - during-which-exists - [copied from inverse property 'exists at'] b exists_at t means: b is an entity which exists at some temporal region t. (axiom label in BFO2 Reference: [118-002]) - [copied from inverse property 'exists at'] BFO2 Reference: entity - [copied from inverse property 'exists at'] BFO2 Reference: temporal region - - - - - - - - - - - - - - - - - - - - - - - bearer of at all times - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'bearer of at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'bearer of@en(x,y,t)'. - BFO2 Reference: independent continuant that is not a spatial region - BFO2 Reference: specifically dependent continuant - (iff (bearerOfAt a b t) (and (specificallyDependsOnAt b a t) (IndependentContinuant a) (not (SpatialRegion a)) (existsAt b t))) // axiom label in BFO2 CLIF: [053-004] - b bearer_of c at t =Def. c s-depends_on b at t & b is an independent continuant that is not a spatial region. (axiom label in BFO2 Reference: [053-004]) - bearer-of_at - bearerOfAt - - - - - - - - - - - - - - - - - - - - - - (iff (bearerOfAt a b t) (and (specificallyDependsOnAt b a t) (IndependentContinuant a) (not (SpatialRegion a)) (existsAt b t))) // axiom label in BFO2 CLIF: [053-004] - - - - - - b bearer_of c at t =Def. c s-depends_on b at t & b is an independent continuant that is not a spatial region. (axiom label in BFO2 Reference: [053-004]) - - - - - - - - - - - - - - - - - - - - - - - - - - has quality at all times - has-q_at - - - - - - - - - - - - - - - - - has function at all times - has-f_at - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has function at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has function@en(x,y,t)'. - (iff (hasFunctionAt a b t) (functionOf b a t)) // axiom label in BFO2 CLIF: [070-001] - a has_function b at t =Def. b function_of a at t. (axiom label in BFO2 Reference: [070-001]) - hasFunctionAt - - - - - - a has_function b at t =Def. b function_of a at t. (axiom label in BFO2 Reference: [070-001]) - - - - - - - - - - - - (iff (hasFunctionAt a b t) (functionOf b a t)) // axiom label in BFO2 CLIF: [070-001] - - - - - - - - - - - has role at all times - hasRoleAt - has-r_at - (iff (hasRoleAt a b t) (roleOfAt b a t)) // axiom label in BFO2 CLIF: [068-001] - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has role at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has role@en(x,y,t)'. - a has_role b at t =Def. b role_of a at t. (axiom label in BFO2 Reference: [068-001]) - - - - - - - - - - - - (iff (hasRoleAt a b t) (roleOfAt b a t)) // axiom label in BFO2 CLIF: [068-001] - - - - - - a has_role b at t =Def. b role_of a at t. (axiom label in BFO2 Reference: [068-001]) - - - - - - - - - - - has disposition at all times - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has disposition at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has disposition@en(x,y,t)'. - a has_disposition b at t =Def. b disposition_of a at t. (axiom label in BFO2 Reference: [069-001]) - has-d_at - hasDispositionAt - (iff (hasDispositionAt a b t) (dispositionOf b a t)) // axiom label in BFO2 CLIF: [069-001] - - - - - - (iff (hasDispositionAt a b t) (dispositionOf b a t)) // axiom label in BFO2 CLIF: [069-001] - - - - - - a has_disposition b at t =Def. b disposition_of a at t. (axiom label in BFO2 Reference: [069-001]) - - - - - - - - - - - - - - - - - material basis of at all times - material-basis-of_at - - - - - - - - - - - - - - - - - - - - - - - - concretizes at all times - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'concretizes at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'concretizes@en(x,y,t)'. - (forall (x y t) (if (concretizesAt x y t) (and (SpecificallyDependentContinuant x) (GenericallyDependentContinuant y) (exists (z) (and (IndependentContinuant z) (specificallyDependsOnAt x z t) (genericallyDependsOnAt y z t)))))) // axiom label in BFO2 CLIF: [075-002] - concretizes_at - (forall (x y t) (if (genericallyDependsOnAt x y t) (exists (z) (and (concretizesAt z x t) (specificallyDependsOnAt z y t))))) // axiom label in BFO2 CLIF: [076-001] - You may concretize a piece of software by installing it in your computer - You may concretize a recipe that you find in a cookbook by turning it into a plan which exists as a realizable dependent continuant in your head. - b concretizes c at t means: b is a specifically dependent continuant & c is a generically dependent continuant & for some independent continuant that is not a spatial region d, b s-depends_on d at t & c g-depends on d at t & if c migrates from bearer d to another bearer e than a copy of b will be created in e. (axiom label in BFO2 Reference: [075-002]) - concretizesAt - if b g-depends on c at some time t, then there is some d, such that d concretizes b at t and d s-depends_on c at t. (axiom label in BFO2 Reference: [076-001]) - you may concretize a poem as a pattern of memory traces in your head - - - - - if b g-depends on c at some time t, then there is some d, such that d concretizes b at t and d s-depends_on c at t. (axiom label in BFO2 Reference: [076-001]) - - - - - - (forall (x y t) (if (concretizesAt x y t) (and (SpecificallyDependentContinuant x) (GenericallyDependentContinuant y) (exists (z) (and (IndependentContinuant z) (specificallyDependsOnAt x z t) (genericallyDependsOnAt y z t)))))) // axiom label in BFO2 CLIF: [075-002] - - - - - - (forall (x y t) (if (genericallyDependsOnAt x y t) (exists (z) (and (concretizesAt z x t) (specificallyDependsOnAt z y t))))) // axiom label in BFO2 CLIF: [076-001] - - - - - - b concretizes c at t means: b is a specifically dependent continuant & c is a generically dependent continuant & for some independent continuant that is not a spatial region d, b s-depends_on d at t & c g-depends on d at t & if c migrates from bearer d to another bearer e than a copy of b will be created in e. (axiom label in BFO2 Reference: [075-002]) - - - - - - - - - - - concretized by at all times - concretized-by_at - - - - - - - - - - participates in at all times - participatesInAt - participates-in_at - - - - - - - - - - has participant at all times - BFO2 Reference: independent continuant that is not a spatial region, specifically dependent continuant, generically dependent continuant - BFO2 Reference: process - (forall (x y t) (if (and (hasParticipantAt x y t) (GenericallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (genericallyDependsOn y z t) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [091-003] - (forall (x y t) (if (hasParticipantAt x y t) (Occurrent x))) // axiom label in BFO2 CLIF: [087-001] - (forall (x y t) (if (and (hasParticipantAt x y t) (SpecificallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t) (specificallyDependsOnAt y z t))))) // axiom label in BFO2 CLIF: [090-003] - (forall (x y t) (if (hasParticipantAt x y t) (existsAt y t))) // axiom label in BFO2 CLIF: [089-001] - has-participant_at - (forall (x y t) (if (hasParticipantAt x y t) (Continuant y))) // axiom label in BFO2 CLIF: [088-001] - hasParticipantAt - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has participant at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has participant@en(x,y,t)'. - BFO 2 Reference: Spatial regions do not participate in processes. - has_participant is an instance-level relation between a process, a continuant, and a temporal region at which the continuant participates in some way in the process. (axiom label in BFO2 Reference: [086-003]) - if b has_participant c at t & c is a generically dependent continuant, then there is some independent continuant that is not a spatial region d, and which is such that c g-depends on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [091-003]) - if b has_participant c at t & c is a specifically dependent continuant, then there is some independent continuant that is not a spatial region d, c s-depends_on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [090-003]) - if b has_participant c at t then b is an occurrent. (axiom label in BFO2 Reference: [087-001]) - if b has_participant c at t then c exists at t. (axiom label in BFO2 Reference: [089-001]) - if b has_participant c at t then c is a continuant. (axiom label in BFO2 Reference: [088-001]) - - - - - - - - - - - - - - - - if b has_participant c at t & c is a generically dependent continuant, then there is some independent continuant that is not a spatial region d, and which is such that c g-depends on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [091-003]) - - - - - - (forall (x y t) (if (hasParticipantAt x y t) (Continuant y))) // axiom label in BFO2 CLIF: [088-001] - - - - - - if b has_participant c at t then b is an occurrent. (axiom label in BFO2 Reference: [087-001]) - - - - - - (forall (x y t) (if (hasParticipantAt x y t) (Occurrent x))) // axiom label in BFO2 CLIF: [087-001] - - - - - - (forall (x y t) (if (hasParticipantAt x y t) (existsAt y t))) // axiom label in BFO2 CLIF: [089-001] - - - - - - if b has_participant c at t then c exists at t. (axiom label in BFO2 Reference: [089-001]) - - - - - - has_participant is an instance-level relation between a process, a continuant, and a temporal region at which the continuant participates in some way in the process. (axiom label in BFO2 Reference: [086-003]) - - - - - - (forall (x y t) (if (and (hasParticipantAt x y t) (SpecificallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t) (specificallyDependsOnAt y z t))))) // axiom label in BFO2 CLIF: [090-003] - - - - - - if b has_participant c at t & c is a specifically dependent continuant, then there is some independent continuant that is not a spatial region d, c s-depends_on d at t & b s-depends_on d at t. (axiom label in BFO2 Reference: [090-003]) - - - - - - if b has_participant c at t then c is a continuant. (axiom label in BFO2 Reference: [088-001]) - - - - - - (forall (x y t) (if (and (hasParticipantAt x y t) (GenericallyDependentContinuant y)) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (genericallyDependsOn y z t) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [091-003] - - - - - - - - - - - has specific dependent at all times - has-s-dep_at - - - - - - - - - - specifically depends on at some time - s-depends-on_st - (forall (x y t) (if (and (Occurrent x) (IndependentContinuant y) (specificallyDependsOnAt x y t)) (forall (t_1) (if (existsAt x t_1) (specificallyDependsOnAt x y t_1))))) // axiom label in BFO2 CLIF: [015-002] - BFO2 Reference: specifically dependent continuant\; process; process boundary - (forall (x y t) (if (specificallyDependsOnAt x y t) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [136-001] - specificallyDependsOn - (forall (x y z t) (if (and (specificallyDependsOnAt x y t) (specificallyDependsOnAt y z t)) (specificallyDependsOnAt x z t))) // axiom label in BFO2 CLIF: [054-002] - (forall (x) (if (exists (y t) (specificallyDependsOnAt x y t)) (not (MaterialEntity x)))) // axiom label in BFO2 CLIF: [052-001] - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'specifically depends on at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'specifically depends on@en'(x,y,t) - (forall (x y t) (if (and (Entity x) (or (continuantPartOfAt y x t) (continuantPartOfAt x y t) (occurrentPartOf x y) (occurrentPartOf y x))) (not (specificallyDependsOnAt x y t)))) // axiom label in BFO2 CLIF: [013-002] - A pain s-depends_on the organism that is experiencing the pain - BFO 2 Reference: An entity – for example an act of communication or a game of football – can s-depends_on more than one entity. Complex phenomena for example in the psychological and social realms (such as inferring, commanding and requesting) or in the realm of multi-organismal biological processes (such as infection and resistance), will involve multiple families of dependence relations, involving both continuants and occurrents [1, 4, 28 - BFO 2 Reference: S-dependence is just one type of dependence among many; it is what, in the literature, is referred to as ‘existential dependence’ [87, 46, 65, 20 - BFO 2 Reference: the relation of s-depends_on does not in every case require simultaneous existence of its relata. Note the difference between such cases and the cases of continuant universals defined historically: the act of answering depends existentially on the prior act of questioning; the human being who was baptized or who answered a question does not himself depend existentially on the prior act of baptism or answering. He would still exist even if these acts had never taken place. - If b is s-depends_on something at some time, then b is not a material entity. (axiom label in BFO2 Reference: [052-001]) - If b s-depends_on something at t, then there is some c, which is an independent continuant and not a spatial region, such that b s-depends_on c at t. (axiom label in BFO2 Reference: [136-001]) - If occurrent b s-depends_on some independent continuant c at t, then b s-depends_on c at every time at which b exists. (axiom label in BFO2 Reference: [015-002]) - To say that b s-depends_on a at t is to say that b and c do not share common parts & b is of its nature such that it cannot exist unless c exists & b is not a boundary of c and b is not a site of which c is the host [64 - a gait s-depends_on the walking object. (All at some specific time.) - a shape s-depends_on the shaped object - an entity does not s-depend_on any of its (continuant or occurrent) parts or on anything it is part of. (axiom label in BFO2 Reference: [013-002]) - if b s-depends_on c at t & c s-depends_on d at t then b s-depends_on d at t. (axiom label in BFO2 Reference: [054-002]) - one-sided s-dependence of a dependent continuant on an independent continuant: an instance of headache s-depends_on some head - one-sided s-dependence of a dependent continuant on an independent continuant: an instance of temperature s-depends_on some organism - one-sided s-dependence of a process on something: a process of cell death s-depends_on a cell - one-sided s-dependence of a process on something: an instance of seeing (a relational process) s-depends_on some organism and on some seen entity, which may be an occurrent or a continuant - one-sided s-dependence of one occurrent on another: a process of answering a question is dependent on a prior process of asking a question - one-sided s-dependence of one occurrent on another: a process of obeying a command is dependent on a prior process of issuing a command - one-sided s-dependence of one occurrent on multiple independent continuants: a relational process of hitting a ball with a cricket bat - one-sided s-dependence of one occurrent on multiple independent continuants: a relational process of paying cash to a merchant in exchange for a bag of figs - reciprocal s-dependence between occurrents: a process of buying and the associated process of selling - reciprocal s-dependence between occurrents: a process of increasing the volume of a portion of gas while temperature remains constant and the associated process of decreasing the pressure exerted by the gas - reciprocal s-dependence between occurrents: in a game of chess the process of playing with the white pieces is mutually dependent on the process of playing with the black pieces - the one-sided dependence of an occurrent on an independent continuant: football match on the players, the ground, the ball - the one-sided dependence of an occurrent on an independent continuant: handwave on a hand - the three-sided reciprocal s-dependence of the hue, saturation and brightness of a color [45 - the three-sided reciprocal s-dependence of the pitch, timbre and volume of a tone [45 - the two-sided reciprocal s-dependence of the roles of husband and wife [20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if b s-depends_on c at t & c s-depends_on d at t then b s-depends_on d at t. (axiom label in BFO2 Reference: [054-002]) - - - - - - (forall (x y t) (if (and (Occurrent x) (IndependentContinuant y) (specificallyDependsOnAt x y t)) (forall (t_1) (if (existsAt x t_1) (specificallyDependsOnAt x y t_1))))) // axiom label in BFO2 CLIF: [015-002] - - - - - - - - - - - - - - - - - - - - - - - - - - - (forall (x y t) (if (specificallyDependsOnAt x y t) (exists (z) (and (IndependentContinuant z) (not (SpatialRegion z)) (specificallyDependsOnAt x z t))))) // axiom label in BFO2 CLIF: [136-001] - - - - - - (forall (x y t) (if (and (Entity x) (or (continuantPartOfAt y x t) (continuantPartOfAt x y t) (occurrentPartOf x y) (occurrentPartOf y x))) (not (specificallyDependsOnAt x y t)))) // axiom label in BFO2 CLIF: [013-002] - - - - - - (forall (x) (if (exists (y t) (specificallyDependsOnAt x y t)) (not (MaterialEntity x)))) // axiom label in BFO2 CLIF: [052-001] - - - - - - (forall (x y z t) (if (and (specificallyDependsOnAt x y t) (specificallyDependsOnAt y z t)) (specificallyDependsOnAt x z t))) // axiom label in BFO2 CLIF: [054-002] - - - - - - If b s-depends_on something at t, then there is some c, which is an independent continuant and not a spatial region, such that b s-depends_on c at t. (axiom label in BFO2 Reference: [136-001]) - - - - - - an entity does not s-depend_on any of its (continuant or occurrent) parts or on anything it is part of. (axiom label in BFO2 Reference: [013-002]) - - - - - - If occurrent b s-depends_on some independent continuant c at t, then b s-depends_on c at every time at which b exists. (axiom label in BFO2 Reference: [015-002]) - - - - - - If b is s-depends_on something at some time, then b is not a material entity. (axiom label in BFO2 Reference: [052-001]) - - - - - - - - - - - - has location at all times - has-location_at - - - - - - - - - - located in at some time - (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (locatedInAt x y t) (continuantPartOfAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [049-001] - BFO2 Reference: independent continuant - (forall (x y z t) (if (and (locatedInAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [046-001] - (iff (locatedInAt a b t) (and (IndependentContinuant a) (IndependentContinuant b) (exists (r_1 r_2) (and (occupiesSpatialRegionAt a r_1 t) (occupiesSpatialRegionAt b r_2 t) (continuantPartOfAt r_1 r_2 t))))) // axiom label in BFO2 CLIF: [045-001] - locatedInAt - located-in_st - (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (continuantPartOfAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [048-001] - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'located in at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'located in@en'(x,y,t) - Located_in is transitive. (axiom label in BFO2 Reference: [046-001]) - Mary located_in Salzburg - b located_in c at t = Def. b and c are independent continuants, and the region at which b is located at t is a (proper or improper) continuant_part_of the region at which c is located at t. (axiom label in BFO2 Reference: [045-001]) - for all independent continuants b, c, and d: if b continuant_part_of c at t & c located_in d at t, then b located_in d at t. (axiom label in BFO2 Reference: [048-001]) - for all independent continuants b, c, and d: if b located_in c at t & c continuant_part_of d at t, then b located_in d at t. (axiom label in BFO2 Reference: [049-001]) - the Empire State Building located_in New York. - this portion of cocaine located_in this portion of blood - this stem cell located_in this portion of bone marrow - your arm located_in your body - - - - - - - b located_in c at t = Def. b and c are independent continuants, and the region at which b is located at t is a (proper or improper) continuant_part_of the region at which c is located at t. (axiom label in BFO2 Reference: [045-001]) - - - - - - (forall (x y z t) (if (and (locatedInAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [046-001] - - - - - - (iff (locatedInAt a b t) (and (IndependentContinuant a) (IndependentContinuant b) (exists (r_1 r_2) (and (occupiesSpatialRegionAt a r_1 t) (occupiesSpatialRegionAt b r_2 t) (continuantPartOfAt r_1 r_2 t))))) // axiom label in BFO2 CLIF: [045-001] - - - - - - (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (locatedInAt x y t) (continuantPartOfAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [049-001] - - - - - - - - - - - - for all independent continuants b, c, and d: if b located_in c at t & c continuant_part_of d at t, then b located_in d at t. (axiom label in BFO2 Reference: [049-001]) - - - - - - Located_in is transitive. (axiom label in BFO2 Reference: [046-001]) - - - - - - for all independent continuants b, c, and d: if b continuant_part_of c at t & c located_in d at t, then b located_in d at t. (axiom label in BFO2 Reference: [048-001]) - - - - - - - - - - - - (forall (x y z t) (if (and (IndependentContinuant x) (IndependentContinuant y) (IndependentContinuant z) (continuantPartOfAt x y t) (locatedInAt y z t)) (locatedInAt x z t))) // axiom label in BFO2 CLIF: [048-001] - - - - - - - - - - - has member part at all times - has-member-part_at - - - - - - - - - - - - member part of at all times - BFO2 Reference: object - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'member part of at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'member part of@en(x,y,t)'. - memberPartOfAt - BFO2 Reference: object aggregate - member-part-of_at - (forall (x y t) (if (memberPartOfAt x y t) (continuantPartOfAt x y t))) // axiom label in BFO2 CLIF: [104-001] - b member_part_of c at t =Def. b is an object & there is at t a mutually exhaustive and pairwise disjoint partition of c into objects x1, …, xn (for some n &gt; 1) with b = xi for some 1 ≤ i ≤ n. (axiom label in BFO2 Reference: [026-004]) - each piece in a chess set is a member part of the chess set; each Beatle in the collection called The Beatles is a member part of The Beatles. - each tree in a forest is a member_part of the forest - if b member_part_of c at t then b continuant_part_of c at t. (axiom label in BFO2 Reference: [104-001]) - - - - - - - if b member_part_of c at t then b continuant_part_of c at t. (axiom label in BFO2 Reference: [104-001]) - - - - - - (forall (x y t) (if (memberPartOfAt x y t) (continuantPartOfAt x y t))) // axiom label in BFO2 CLIF: [104-001] - - - - - - b member_part_of c at t =Def. b is an object & there is at t a mutually exhaustive and pairwise disjoint partition of c into objects x1, …, xn (for some n &gt; 1) with b = xi for some 1 ≤ i ≤ n. (axiom label in BFO2 Reference: [026-004]) - - - - - - - - - - - has proper continuant part at some time - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has proper continuant part at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has proper continuant part@en'(x,y,t) - b has_proper_continuant_part c at t = Def. c proper_continuant_part_of b at t. [XXX-001 - c-has-ppart_st - [copied from inverse property 'proper part of continuant at some time'] b proper_continuant_part_of c at t =Def. b continuant_part_of c at t & b and c are not identical. (axiom label in BFO2 Reference: [004-001]) - hasProperContinuantPartAt - [copied from inverse property 'proper part of continuant at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'proper part of continuant at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'proper part of continuant@en'(x,y,t) - - - - - - - - - - - - - - - - - - - - - - - - proper part of continuant at some time - c-ppart-of_st - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'proper part of continuant at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'proper part of continuant@en'(x,y,t) - properContinuantPartOfAt - [copied from inverse property 'has proper continuant part at some time'] b has_proper_continuant_part c at t = Def. c proper_continuant_part_of b at t. [XXX-001 - [copied from inverse property 'has proper continuant part at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has proper continuant part at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has proper continuant part@en'(x,y,t) - (iff (properContinuantPartOfAt a b t) (and (continuantPartOfAt a b t) (not (= a b)))) // axiom label in BFO2 CLIF: [004-001] - b proper_continuant_part_of c at t =Def. b continuant_part_of c at t & b and c are not identical. (axiom label in BFO2 Reference: [004-001]) - - - - - - - - - - - - - - (iff (properContinuantPartOfAt a b t) (and (continuantPartOfAt a b t) (not (= a b)))) // axiom label in BFO2 CLIF: [004-001] - - - - - - b proper_continuant_part_of c at t =Def. b continuant_part_of c at t & b and c are not identical. (axiom label in BFO2 Reference: [004-001]) - - - - - - - - - - - - - - - - - part of continuant at some time - (forall (x y t) (if (and (continuantPartOfAt x y t) (not (= x y))) (exists (z) (and (continuantPartOfAt z y t) (not (exists (w) (and (continuantPartOfAt w x t) (continuantPartOfAt w z t)))))))) // axiom label in BFO2 CLIF: [121-001] - (forall (x y z t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y z t)) (continuantPartOfAt x z t))) // axiom label in BFO2 CLIF: [110-001] - continuantPartOfAt - (forall (x y t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y x t)) (= x y))) // axiom label in BFO2 CLIF: [120-001] - BFO2 Reference: continuantThe range for ‘t’ (as in all cases throughout this document unless otherwise specified) is: temporal region. - (forall (x y t) (if (and (continuantPartOfAt x y t) (IndependentContinuant x)) (locatedInAt x y t))) // axiom label in BFO2 CLIF: [047-002] - BFO2 Reference: continuant - (forall (x y t) (if (exists (v) (and (continuantPartOfAt v x t) (continuantPartOfAt v y t))) (exists (z) (forall (u w) (iff (iff (continuantPartOfAt w u t) (and (continuantPartOfAt w x t) (continuantPartOfAt w y t))) (= z u)))))) // axiom label in BFO2 CLIF: [122-001] - [copied from inverse property 'has continuant part at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has continuant part at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has continuant part@en'(x,y,t) - (forall (x t) (if (Continuant x) (continuantPartOfAt x x t))) // axiom label in BFO2 CLIF: [111-002] - (iff (ImmaterialEntity a) (and (IndependentContinuant a) (not (exists (b t) (and (MaterialEntity b) (continuantPartOfAt b a t)))))) // axiom label in BFO2 CLIF: [028-001] - [copied from inverse property 'has continuant part at some time'] b has_continuant_part c at t = Def. c continuant_part_of b at t. (axiom label in BFO2 Reference: [006-001]) - c-part-of_st - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'part of continuant at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'part of continuant@en'(x,y,t) - BFO 2 Reference: Immaterial entities are in some cases continuant parts of their material hosts. Thus the hold of a ship, for example, is a part of the ship; it may itself have parts, which may have names (used for example by ship stow planners, customs inspectors, and the like). Immaterial entities under both 1. and 2. can be of zero, one, two or three dimensions. We define:a(immaterial entity)[Definition: a is an immaterial entity = Def. a is an independent continuant that has no material entities as parts. (axiom label in BFO2 Reference: [028-001]) - BFO 2 Reference: a (continuant or occurrent) part of itself. We appreciate that this is counterintuitive for some users, since it implies for example that President Obama is a part of himself. However it brings benefits in simplifying the logical formalism, and it captures an important feature of identity, namely that it is the limit case of mereological inclusion. - Mary’s arm continuant_part_of Mary in the time of her life prior to her operation - b continuant_part_of c at t =Def. b is a part of c at t & t is a time & b and c are continuants. (axiom label in BFO2 Reference: [002-001]) - continuant_part_of is antisymmetric. (axiom label in BFO2 Reference: [120-001]) - continuant_part_of is reflexive (every continuant entity is a continuant_part_of itself). (axiom label in BFO2 Reference: [111-002]) - continuant_part_of is transitive. (axiom label in BFO2 Reference: [110-001]) - continuant_part_of satisfies unique product. (axiom label in BFO2 Reference: [122-001]) - continuant_part_of satisfies weak supplementation. (axiom label in BFO2 Reference: [121-001]) - if b continuant_part_of c at t and b is an independent continuant, then b is located_in c at t. (axiom label in BFO2 Reference: [047-002]) - the Northern hemisphere of the planet Earth is a part of the planet Earth at all times at which the planet Earth exists. - - - - - - - b continuant_part_of c at t =Def. b is a part of c at t & t is a time & b and c are continuants. (axiom label in BFO2 Reference: [002-001]) - - - - - - - - - - - - continuant_part_of is transitive. (axiom label in BFO2 Reference: [110-001]) - - - - - - (forall (x y t) (if (and (continuantPartOfAt x y t) (IndependentContinuant x)) (locatedInAt x y t))) // axiom label in BFO2 CLIF: [047-002] - - - - - - (forall (x y t) (if (and (continuantPartOfAt x y t) (not (= x y))) (exists (z) (and (continuantPartOfAt z y t) (not (exists (w) (and (continuantPartOfAt w x t) (continuantPartOfAt w z t)))))))) // axiom label in BFO2 CLIF: [121-001] - - - - - - if b continuant_part_of c at t and b is an independent continuant, then b is located_in c at t. (axiom label in BFO2 Reference: [047-002]) - - - - - - continuant_part_of satisfies unique product. (axiom label in BFO2 Reference: [122-001]) - - - - - - (forall (x t) (if (Continuant x) (continuantPartOfAt x x t))) // axiom label in BFO2 CLIF: [111-002] - - - - - - (iff (ImmaterialEntity a) (and (IndependentContinuant a) (not (exists (b t) (and (MaterialEntity b) (continuantPartOfAt b a t)))))) // axiom label in BFO2 CLIF: [028-001] - - - - - - - - - - - - continuant_part_of is antisymmetric. (axiom label in BFO2 Reference: [120-001]) - - - - - - BFO 2 Reference: Immaterial entities are in some cases continuant parts of their material hosts. Thus the hold of a ship, for example, is a part of the ship; it may itself have parts, which may have names (used for example by ship stow planners, customs inspectors, and the like). Immaterial entities under both 1. and 2. can be of zero, one, two or three dimensions. We define:a(immaterial entity)[Definition: a is an immaterial entity = Def. a is an independent continuant that has no material entities as parts. (axiom label in BFO2 Reference: [028-001]) - - - - - - (forall (x y z t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y z t)) (continuantPartOfAt x z t))) // axiom label in BFO2 CLIF: [110-001] - - - - - - (forall (x y t) (if (exists (v) (and (continuantPartOfAt v x t) (continuantPartOfAt v y t))) (exists (z) (forall (u w) (iff (iff (continuantPartOfAt w u t) (and (continuantPartOfAt w x t) (continuantPartOfAt w y t))) (= z u)))))) // axiom label in BFO2 CLIF: [122-001] - - - - - - continuant_part_of satisfies weak supplementation. (axiom label in BFO2 Reference: [121-001]) - - - - - - continuant_part_of is reflexive (every continuant entity is a continuant_part_of itself). (axiom label in BFO2 Reference: [111-002]) - - - - - - (forall (x y t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y x t)) (= x y))) // axiom label in BFO2 CLIF: [120-001] - - - - - - - - - - - - part of continuant at all times - (forall (x y t) (if (and (continuantPartOfAt x y t) (IndependentContinuant x)) (locatedInAt x y t))) // axiom label in BFO2 CLIF: [047-002] - (forall (x y t) (if (and (continuantPartOfAt x y t) (not (= x y))) (exists (z) (and (continuantPartOfAt z y t) (not (exists (w) (and (continuantPartOfAt w x t) (continuantPartOfAt w z t)))))))) // axiom label in BFO2 CLIF: [121-001] - BFO2 Reference: continuant - continuantPartOfAt - c-part-of_at - [copied from inverse property 'has continuant part at all times that part exists'] This is a binary version of a ternary time-indexed, instance level, relation. Unlike the rest of the temporalized relations which temporally quantify over existence of the subject of the relation, this relation temporally quantifies over the existence of the object of the relation. The relation is provided tentatively, to assess whether the GO needs such a relation. It is inverse of 'part of continuant at all times' - (forall (x y z t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y z t)) (continuantPartOfAt x z t))) // axiom label in BFO2 CLIF: [110-001] - (forall (x y t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y x t)) (= x y))) // axiom label in BFO2 CLIF: [120-001] - [copied from inverse property 'has continuant part at all times that part exists'] forall(t) exists_at(y,t) -> exists_at(x,t) and 'has continuant part'(x,y,t) - BFO2 Reference: continuantThe range for ‘t’ (as in all cases throughout this document unless otherwise specified) is: temporal region. - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'part of continuant at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'part of continuant@en(x,y,t)'. - (forall (x y t) (if (exists (v) (and (continuantPartOfAt v x t) (continuantPartOfAt v y t))) (exists (z) (forall (u w) (iff (iff (continuantPartOfAt w u t) (and (continuantPartOfAt w x t) (continuantPartOfAt w y t))) (= z u)))))) // axiom label in BFO2 CLIF: [122-001] - (forall (x t) (if (Continuant x) (continuantPartOfAt x x t))) // axiom label in BFO2 CLIF: [111-002] - (iff (ImmaterialEntity a) (and (IndependentContinuant a) (not (exists (b t) (and (MaterialEntity b) (continuantPartOfAt b a t)))))) // axiom label in BFO2 CLIF: [028-001] - BFO 2 Reference: Immaterial entities are in some cases continuant parts of their material hosts. Thus the hold of a ship, for example, is a part of the ship; it may itself have parts, which may have names (used for example by ship stow planners, customs inspectors, and the like). Immaterial entities under both 1. and 2. can be of zero, one, two or three dimensions. We define:a(immaterial entity)[Definition: a is an immaterial entity = Def. a is an independent continuant that has no material entities as parts. (axiom label in BFO2 Reference: [028-001]) - BFO 2 Reference: a (continuant or occurrent) part of itself. We appreciate that this is counterintuitive for some users, since it implies for example that President Obama is a part of himself. However it brings benefits in simplifying the logical formalism, and it captures an important feature of identity, namely that it is the limit case of mereological inclusion. - Mary’s arm continuant_part_of Mary in the time of her life prior to her operation - b continuant_part_of c at t =Def. b is a part of c at t & t is a time & b and c are continuants. (axiom label in BFO2 Reference: [002-001]) - continuant_part_of is antisymmetric. (axiom label in BFO2 Reference: [120-001]) - continuant_part_of is reflexive (every continuant entity is a continuant_part_of itself). (axiom label in BFO2 Reference: [111-002]) - continuant_part_of is transitive. (axiom label in BFO2 Reference: [110-001]) - continuant_part_of satisfies unique product. (axiom label in BFO2 Reference: [122-001]) - continuant_part_of satisfies weak supplementation. (axiom label in BFO2 Reference: [121-001]) - if b continuant_part_of c at t and b is an independent continuant, then b is located_in c at t. (axiom label in BFO2 Reference: [047-002]) - the Northern hemisphere of the planet Earth is a part of the planet Earth at all times at which the planet Earth exists. - - - - - b continuant_part_of c at t =Def. b is a part of c at t & t is a time & b and c are continuants. (axiom label in BFO2 Reference: [002-001]) - - - - - - (forall (x y t) (if (exists (v) (and (continuantPartOfAt v x t) (continuantPartOfAt v y t))) (exists (z) (forall (u w) (iff (iff (continuantPartOfAt w u t) (and (continuantPartOfAt w x t) (continuantPartOfAt w y t))) (= z u)))))) // axiom label in BFO2 CLIF: [122-001] - - - - - - (forall (x y t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y x t)) (= x y))) // axiom label in BFO2 CLIF: [120-001] - - - - - - (forall (x y z t) (if (and (continuantPartOfAt x y t) (continuantPartOfAt y z t)) (continuantPartOfAt x z t))) // axiom label in BFO2 CLIF: [110-001] - - - - - - (forall (x y t) (if (and (continuantPartOfAt x y t) (IndependentContinuant x)) (locatedInAt x y t))) // axiom label in BFO2 CLIF: [047-002] - - - - - - continuant_part_of is antisymmetric. (axiom label in BFO2 Reference: [120-001]) - - - - - - continuant_part_of satisfies unique product. (axiom label in BFO2 Reference: [122-001]) - - - - - - continuant_part_of is reflexive (every continuant entity is a continuant_part_of itself). (axiom label in BFO2 Reference: [111-002]) - - - - - - continuant_part_of satisfies weak supplementation. (axiom label in BFO2 Reference: [121-001]) - - - - - - (forall (x y t) (if (and (continuantPartOfAt x y t) (not (= x y))) (exists (z) (and (continuantPartOfAt z y t) (not (exists (w) (and (continuantPartOfAt w x t) (continuantPartOfAt w z t)))))))) // axiom label in BFO2 CLIF: [121-001] - - - - - - if b continuant_part_of c at t and b is an independent continuant, then b is located_in c at t. (axiom label in BFO2 Reference: [047-002]) - - - - - - BFO 2 Reference: Immaterial entities are in some cases continuant parts of their material hosts. Thus the hold of a ship, for example, is a part of the ship; it may itself have parts, which may have names (used for example by ship stow planners, customs inspectors, and the like). Immaterial entities under both 1. and 2. can be of zero, one, two or three dimensions. We define:a(immaterial entity)[Definition: a is an immaterial entity = Def. a is an independent continuant that has no material entities as parts. (axiom label in BFO2 Reference: [028-001]) - - - - - - (forall (x t) (if (Continuant x) (continuantPartOfAt x x t))) // axiom label in BFO2 CLIF: [111-002] - - - - - - - - - - - - continuant_part_of is transitive. (axiom label in BFO2 Reference: [110-001]) - - - - - - (iff (ImmaterialEntity a) (and (IndependentContinuant a) (not (exists (b t) (and (MaterialEntity b) (continuantPartOfAt b a t)))))) // axiom label in BFO2 CLIF: [028-001] - - - - - - - - - - - has continuant part at some time - c-has-part_st - [copied from inverse property 'part of continuant at some time'] BFO2 Reference: continuant - [copied from inverse property 'part of continuant at some time'] the Northern hemisphere of the planet Earth is a part of the planet Earth at all times at which the planet Earth exists. - [copied from inverse property 'part of continuant at some time'] b continuant_part_of c at t =Def. b is a part of c at t & t is a time & b and c are continuants. (axiom label in BFO2 Reference: [002-001]) - hasContinuantPartAt - [copied from inverse property 'part of continuant at some time'] Mary’s arm continuant_part_of Mary in the time of her life prior to her operation - [copied from inverse property 'part of continuant at some time'] BFO 2 Reference: a (continuant or occurrent) part of itself. We appreciate that this is counterintuitive for some users, since it implies for example that President Obama is a part of himself. However it brings benefits in simplifying the logical formalism, and it captures an important feature of identity, namely that it is the limit case of mereological inclusion. - Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'has continuant part at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'has continuant part@en'(x,y,t) - [copied from inverse property 'part of continuant at some time'] BFO 2 Reference: Immaterial entities are in some cases continuant parts of their material hosts. Thus the hold of a ship, for example, is a part of the ship; it may itself have parts, which may have names (used for example by ship stow planners, customs inspectors, and the like). Immaterial entities under both 1. and 2. can be of zero, one, two or three dimensions. We define:a(immaterial entity)[Definition: a is an immaterial entity = Def. a is an independent continuant that has no material entities as parts. (axiom label in BFO2 Reference: [028-001]) - [copied from inverse property 'part of continuant at some time'] BFO2 Reference: continuantThe range for ‘t’ (as in all cases throughout this document unless otherwise specified) is: temporal region. - (iff (hasContinuantPartAt a b t) (continuantPartOfAt b a t)) // axiom label in BFO2 CLIF: [006-001] - [copied from inverse property 'part of continuant at some time'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance level, relation. The BFO reading of the binary relation 'part of continuant at some time@en' is: exists t, exists_at(x,t) & exists_at(y,t) & 'part of continuant@en'(x,y,t) - b has_continuant_part c at t = Def. c continuant_part_of b at t. (axiom label in BFO2 Reference: [006-001]) - - - - - - (iff (hasContinuantPartAt a b t) (continuantPartOfAt b a t)) // axiom label in BFO2 CLIF: [006-001] - - - - - - - - - - - - b has_continuant_part c at t = Def. c continuant_part_of b at t. (axiom label in BFO2 Reference: [006-001]) - - - - - - - - - - - - - - - - - - has proper temporal part - has-t-ppart - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - history of - [copied from inverse property 'has history'] b has_history c iff c history_of b [XXX-001 - b history_of c if c is a material entity or site and b is a history that is the unique history of cAxiom: if b history_of c and b history_of d then c=d [XXX-001 - historyOf - history-of - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - has history - [copied from inverse property 'history of'] b history_of c if c is a material entity or site and b is a history that is the unique history of cAxiom: if b history_of c and b history_of d then c=d [XXX-001 - hasHistory - has-history - b has_history c iff c history_of b [XXX-001 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - part of continuant at all times that whole exists - This is a binary version of a ternary time-indexed, instance level, relation. Unlike the rest of the temporalized relations which temporally quantify over existence of the subject of the relation, this relation temporally quantifies over the existence of the object of the relation. The relation is provided tentatively, to assess whether the GO needs such a relation. It is inverse of 'has continuant part at all times' - [copied from inverse property 'has continuant part at all times'] b has_continuant_part c at t = Def. c continuant_part_of b at t. (axiom label in BFO2 Reference: [006-001]) - forall(t) exists_at(y,t) -> exists_at(x,t) and 'part of continuant'(x,y,t) - [copied from inverse property 'has continuant part at all times'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'has continuant part at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'has continuant part@en(x,y,t)'. - c-part-of-object_at - - - - - - - - - - - - - - This is a binary version of a ternary time-indexed, instance level, relation. Unlike the rest of the temporalized relations which temporally quantify over existence of the subject of the relation, this relation temporally quantifies over the existence of the object of the relation. The relation is provided tentatively, to assess whether the GO needs such a relation. It is inverse of 'has continuant part at all times' - - - - - - - - - - - - - - - - - - forall(t) exists_at(y,t) -> exists_at(x,t) and 'part of continuant'(x,y,t) - - - - - - - - - - - - - - - - - - has continuant part at all times that part exists - [copied from inverse property 'part of continuant at all times'] BFO2 Reference: continuantThe range for ‘t’ (as in all cases throughout this document unless otherwise specified) is: temporal region. - [copied from inverse property 'part of continuant at all times'] BFO2 Reference: continuant - [copied from inverse property 'part of continuant at all times'] BFO 2 Reference: Immaterial entities are in some cases continuant parts of their material hosts. Thus the hold of a ship, for example, is a part of the ship; it may itself have parts, which may have names (used for example by ship stow planners, customs inspectors, and the like). Immaterial entities under both 1. and 2. can be of zero, one, two or three dimensions. We define:a(immaterial entity)[Definition: a is an immaterial entity = Def. a is an independent continuant that has no material entities as parts. (axiom label in BFO2 Reference: [028-001]) - [copied from inverse property 'part of continuant at all times'] BFO 2 Reference: a (continuant or occurrent) part of itself. We appreciate that this is counterintuitive for some users, since it implies for example that President Obama is a part of himself. However it brings benefits in simplifying the logical formalism, and it captures an important feature of identity, namely that it is the limit case of mereological inclusion. - [copied from inverse property 'part of continuant at all times'] b continuant_part_of c at t =Def. b is a part of c at t & t is a time & b and c are continuants. (axiom label in BFO2 Reference: [002-001]) - [copied from inverse property 'part of continuant at all times'] Mary’s arm continuant_part_of Mary in the time of her life prior to her operation - This is a binary version of a ternary time-indexed, instance level, relation. Unlike the rest of the temporalized relations which temporally quantify over existence of the subject of the relation, this relation temporally quantifies over the existence of the object of the relation. The relation is provided tentatively, to assess whether the GO needs such a relation. It is inverse of 'part of continuant at all times' - c-has-part-object_at - [copied from inverse property 'part of continuant at all times'] Alan Ruttenberg: This is a binary version of a ternary time-indexed, instance-level, relation. The BFO reading of the binary relation 'part of continuant at all times@en' is: forall(t) exists_at(x,t) -> exists_at(y,t) and 'part of continuant@en(x,y,t)'. - [copied from inverse property 'part of continuant at all times'] the Northern hemisphere of the planet Earth is a part of the planet Earth at all times at which the planet Earth exists. - forall(t) exists_at(y,t) -> exists_at(x,t) and 'has continuant part'(x,y,t) - - - - - - - - - - - - - - forall(t) exists_at(y,t) -> exists_at(x,t) and 'has continuant part'(x,y,t) - - - - - - - - - - - - This is a binary version of a ternary time-indexed, instance level, relation. Unlike the rest of the temporalized relations which temporally quantify over existence of the subject of the relation, this relation temporally quantifies over the existence of the object of the relation. The relation is provided tentatively, to assess whether the GO needs such a relation. It is inverse of 'part of continuant at all times' - - - - - - - - - - - - - - - - - - - - - - - - - - - - entity - - - - - - - An entity is anything that exists or has existed or will exist. (axiom label in BFO2 Reference: [001-001]) - Entity doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. For example Werner Ceusters 'portions of reality' include 4 sorts, entities (as BFO construes them), universals, configurations, and relations. It is an open question as to whether entities as construed in BFO will at some point also include these other portions of reality. See, for example, 'How to track absolutely everything' at http://www.referent-tracking.com/_RTU/papers/CeustersICbookRevised.pdf - Julius Caesar - entity - Entity - BFO 2 Reference: In all areas of empirical inquiry we encounter general terms of two sorts. First are general terms which refer to universals or types:animaltuberculosissurgical procedurediseaseSecond, are general terms used to refer to groups of entities which instantiate a given universal but do not correspond to the extension of any subuniversal of that universal because there is nothing intrinsic to the entities in question by virtue of which they – and only they – are counted as belonging to the given group. Examples are: animal purchased by the Emperortuberculosis diagnosed on a Wednesdaysurgical procedure performed on a patient from Stockholmperson identified as candidate for clinical trial #2056-555person who is signatory of Form 656-PPVpainting by Leonardo da VinciSuch terms, which represent what are called ‘specializations’ in [81 - Verdi’s Requiem - the Second World War - your body mass index - - - - per discussion with Barry Smith - Entity doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. For example Werner Ceusters 'portions of reality' include 4 sorts, entities (as BFO construes them), universals, configurations, and relations. It is an open question as to whether entities as construed in BFO will at some point also include these other portions of reality. See, for example, 'How to track absolutely everything' at http://www.referent-tracking.com/_RTU/papers/CeustersICbookRevised.pdf - - - - - - - - - - - - - - - - - - An entity is anything that exists or has existed or will exist. (axiom label in BFO2 Reference: [001-001]) - - - - - - - - - - - continuant - - - (forall (x) (if (Material Entity x) (exists (t) (and (TemporalRegion t) (existsAt x t))))) // axiom label in BFO2 CLIF: [011-002] - (forall (x) (if (Continuant x) (Entity x))) // axiom label in BFO2 CLIF: [008-002] - (forall (x y) (if (and (Continuant x) (exists (t) (continuantPartOfAt y x t))) (Continuant y))) // axiom label in BFO2 CLIF: [009-002] - Continuant - continuant - (forall (x y) (if (and (Continuant x) (exists (t) (hasContinuantPartOfAt y x t))) (Continuant y))) // axiom label in BFO2 CLIF: [126-001] - A continuant is an entity that persists, endures, or continues to exist through time while maintaining its identity. (axiom label in BFO2 Reference: [008-002]) - BFO 2 Reference: Continuant entities are entities which can be sliced to yield parts only along the spatial dimension, yielding for example the parts of your table which we call its legs, its top, its nails. ‘My desk stretches from the window to the door. It has spatial parts, and can be sliced (in space) in two. With respect to time, however, a thing is a continuant.’ [60, p. 240 - Continuant doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. For example, in an expansion involving bringing in some of Ceuster's other portions of reality, questions are raised as to whether universals are continuants - if b is a continuant and if, for some t, c has_continuant_part b at t, then c is a continuant. (axiom label in BFO2 Reference: [126-001]) - if b is a continuant and if, for some t, cis continuant_part of b at t, then c is a continuant. (axiom label in BFO2 Reference: [009-002]) - if b is a material entity, then there is some temporal interval (referred to below as a one-dimensional temporal region) during which b exists. (axiom label in BFO2 Reference: [011-002]) - - - - (forall (x) (if (Material Entity x) (exists (t) (and (TemporalRegion t) (existsAt x t))))) // axiom label in BFO2 CLIF: [011-002] - - - - - - if b is a material entity, then there is some temporal interval (referred to below as a one-dimensional temporal region) during which b exists. (axiom label in BFO2 Reference: [011-002]) - - - - - - if b is a continuant and if, for some t, c has_continuant_part b at t, then c is a continuant. (axiom label in BFO2 Reference: [126-001]) - - - - - - Continuant doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. For example, in an expansion involving bringing in some of Ceuster's other portions of reality, questions are raised as to whether universals are continuants - - - - - - A continuant is an entity that persists, endures, or continues to exist through time while maintaining its identity. (axiom label in BFO2 Reference: [008-002]) - - - - - - (forall (x) (if (Continuant x) (Entity x))) // axiom label in BFO2 CLIF: [008-002] - - - - - - if b is a continuant and if, for some t, cis continuant_part of b at t, then c is a continuant. (axiom label in BFO2 Reference: [009-002]) - - - - - - (forall (x y) (if (and (Continuant x) (exists (t) (hasContinuantPartOfAt y x t))) (Continuant y))) // axiom label in BFO2 CLIF: [126-001] - - - - - - (forall (x y) (if (and (Continuant x) (exists (t) (continuantPartOfAt y x t))) (Continuant y))) // axiom label in BFO2 CLIF: [009-002] - - - - - - - - - - - occurrent - - Occurrent - (forall (x) (iff (Occurrent x) (and (Entity x) (exists (y) (temporalPartOf y x))))) // axiom label in BFO2 CLIF: [079-001] - occurrent - (forall (x) (if (Occurrent x) (exists (r) (and (SpatioTemporalRegion r) (occupiesSpatioTemporalRegion x r))))) // axiom label in BFO2 CLIF: [108-001] - An occurrent is an entity that unfolds itself in time or it is the instantaneous boundary of such an entity (for example a beginning or an ending) or it is a temporal or spatiotemporal region which such an entity occupies_temporal_region or occupies_spatiotemporal_region. (axiom label in BFO2 Reference: [077-002]) - BFO 2 Reference: every occurrent that is not a temporal or spatiotemporal region is s-dependent on some independent continuant that is not a spatial region - BFO 2 Reference: s-dependence obtains between every process and its participants in the sense that, as a matter of necessity, this process could not have existed unless these or those participants existed also. A process may have a succession of participants at different phases of its unfolding. Thus there may be different players on the field at different times during the course of a football game; but the process which is the entire game s-depends_on all of these players nonetheless. Some temporal parts of this process will s-depend_on on only some of the players. - Every occurrent occupies_spatiotemporal_region some spatiotemporal region. (axiom label in BFO2 Reference: [108-001]) - Occurrent doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. An example would be the sum of a process and the process boundary of another process. - Simons uses different terminology for relations of occurrents to regions: Denote the spatio-temporal location of a given occurrent e by 'spn[e]' and call this region its span. We may say an occurrent is at its span, in any larger region, and covers any smaller region. Now suppose we have fixed a frame of reference so that we can speak not merely of spatio-temporal but also of spatial regions (places) and temporal regions (times). The spread of an occurrent, (relative to a frame of reference) is the space it exactly occupies, and its spell is likewise the time it exactly occupies. We write 'spr[e]' and `spl[e]' respectively for the spread and spell of e, omitting mention of the frame. - b is an occurrent entity iff b is an entity that has temporal parts. (axiom label in BFO2 Reference: [079-001]) - - - - Every occurrent occupies_spatiotemporal_region some spatiotemporal region. (axiom label in BFO2 Reference: [108-001]) - - - - - - An occurrent is an entity that unfolds itself in time or it is the instantaneous boundary of such an entity (for example a beginning or an ending) or it is a temporal or spatiotemporal region which such an entity occupies_temporal_region or occupies_spatiotemporal_region. (axiom label in BFO2 Reference: [077-002]) - - - - - - (forall (x) (iff (Occurrent x) (and (Entity x) (exists (y) (temporalPartOf y x))))) // axiom label in BFO2 CLIF: [079-001] - - - - - - (forall (x) (if (Occurrent x) (exists (r) (and (SpatioTemporalRegion r) (occupiesSpatioTemporalRegion x r))))) // axiom label in BFO2 CLIF: [108-001] - - - - - - Occurrent doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. An example would be the sum of a process and the process boundary of another process. - per discussion with Barry Smith - - - - - - Simons uses different terminology for relations of occurrents to regions: Denote the spatio-temporal location of a given occurrent e by 'spn[e]' and call this region its span. We may say an occurrent is at its span, in any larger region, and covers any smaller region. Now suppose we have fixed a frame of reference so that we can speak not merely of spatio-temporal but also of spatial regions (places) and temporal regions (times). The spread of an occurrent, (relative to a frame of reference) is the space it exactly occupies, and its spell is likewise the time it exactly occupies. We write 'spr[e]' and `spl[e]' respectively for the spread and spell of e, omitting mention of the frame. - - - - - - b is an occurrent entity iff b is an entity that has temporal parts. (axiom label in BFO2 Reference: [079-001]) - - - - - - - - - - - independent continuant - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (forall (x t) (if (and (IndependentContinuant x) (existsAt x t)) (exists (y) (and (Entity y) (specificallyDependsOnAt y x t))))) // axiom label in BFO2 CLIF: [018-002] - (forall (x t) (if (IndependentContinuant x) (exists (r) (and (SpatialRegion r) (locatedInAt x r t))))) // axiom label in BFO2 CLIF: [134-001] - (iff (IndependentContinuant a) (and (Continuant a) (not (exists (b t) (specificallyDependsOnAt a b t))))) // axiom label in BFO2 CLIF: [017-002] - For any independent continuant b and any time t there is some spatial region r such that b is located_in r at t. (axiom label in BFO2 Reference: [134-001]) - For every independent continuant b and time t during the region of time spanned by its life, there are entities which s-depends_on b during t. (axiom label in BFO2 Reference: [018-002]) - ic - IndependentContinuant - a chair - a heart - a leg - a molecule - a spatial region - an atom - an orchestra. - an organism - b is an independent continuant = Def. b is a continuant which is such that there is no c and no t such that b s-depends_on c at t. (axiom label in BFO2 Reference: [017-002]) - the bottom right portion of a human torso - the interior of your mouth - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - For any independent continuant b and any time t there is some spatial region r such that b is located_in r at t. (axiom label in BFO2 Reference: [134-001]) - - - - - - (forall (x t) (if (and (IndependentContinuant x) (existsAt x t)) (exists (y) (and (Entity y) (specificallyDependsOnAt y x t))))) // axiom label in BFO2 CLIF: [018-002] - - - - - - (forall (x t) (if (IndependentContinuant x) (exists (r) (and (SpatialRegion r) (locatedInAt x r t))))) // axiom label in BFO2 CLIF: [134-001] - - - - - - b is an independent continuant = Def. b is a continuant which is such that there is no c and no t such that b s-depends_on c at t. (axiom label in BFO2 Reference: [017-002]) - - - - - - (iff (IndependentContinuant a) (and (Continuant a) (not (exists (b t) (specificallyDependsOnAt a b t))))) // axiom label in BFO2 CLIF: [017-002] - - - - - - For every independent continuant b and time t during the region of time spanned by its life, there are entities which s-depends_on b during t. (axiom label in BFO2 Reference: [018-002]) - - - - - - - - - - - - - - - - - - - - - - spatial region - - - - - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - - - (forall (x y t) (if (and (SpatialRegion x) (continuantPartOfAt y x t)) (SpatialRegion y))) // axiom label in BFO2 CLIF: [036-001] - SpatialRegion - (forall (x) (if (SpatialRegion x) (Continuant x))) // axiom label in BFO2 CLIF: [035-001] - s-region - A spatial region is a continuant entity that is a continuant_part_of spaceR as defined relative to some frame R. (axiom label in BFO2 Reference: [035-001]) - All continuant parts of spatial regions are spatial regions. (axiom label in BFO2 Reference: [036-001]) - BFO 2 Reference: Spatial regions do not participate in processes. - Spatial region doesn't have a closure axiom because the subclasses don't exhaust all possibilites. An example would be the union of a spatial point and a spatial line that doesn't overlap the point, or two spatial lines that intersect at a single point. In both cases the resultant spatial region is neither 0-dimensional, 1-dimensional, 2-dimensional, or 3-dimensional. - - - - - - - - - - - - - - - (forall (x) (if (SpatialRegion x) (Continuant x))) // axiom label in BFO2 CLIF: [035-001] - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - - true - - - - - A spatial region is a continuant entity that is a continuant_part_of spaceR as defined relative to some frame R. (axiom label in BFO2 Reference: [035-001]) - - - - - - - - - - - - - - - - - (forall (x y t) (if (and (SpatialRegion x) (continuantPartOfAt y x t)) (SpatialRegion y))) // axiom label in BFO2 CLIF: [036-001] - - - - - - - - - - - - - - - - - All continuant parts of spatial regions are spatial regions. (axiom label in BFO2 Reference: [036-001]) - - - - - - Spatial region doesn't have a closure axiom because the subclasses don't exhaust all possibilites. An example would be the union of a spatial point and a spatial line that doesn't overlap the point, or two spatial lines that intersect at a single point. In both cases the resultant spatial region is neither 0-dimensional, 1-dimensional, 2-dimensional, or 3-dimensional. - per discussion with Barry Smith - - - - - - - - - - - temporal region - - - - - true - - - - - - - - - - - - - - - - - - true - - - (forall (x) (if (TemporalRegion x) (Occurrent x))) // axiom label in BFO2 CLIF: [100-001] - t-region - (forall (x y) (if (and (TemporalRegion x) (occurrentPartOf y x)) (TemporalRegion y))) // axiom label in BFO2 CLIF: [101-001] - (forall (r) (if (TemporalRegion r) (occupiesTemporalRegion r r))) // axiom label in BFO2 CLIF: [119-002] - A temporal region is an occurrent entity that is part of time as defined relative to some reference frame. (axiom label in BFO2 Reference: [100-001]) - All parts of temporal regions are temporal regions. (axiom label in BFO2 Reference: [101-001]) - Temporal region doesn't have a closure axiom because the subclasses don't exhaust all possibilites. An example would be the mereological sum of a temporal instant and a temporal interval that doesn't overlap the instant. In this case the resultant temporal region is neither 0-dimensional nor 1-dimensional - TemporalRegion - Every temporal region t is such that t occupies_temporal_region t. (axiom label in BFO2 Reference: [119-002]) - - - - All parts of temporal regions are temporal regions. (axiom label in BFO2 Reference: [101-001]) - - - - - - (forall (x y) (if (and (TemporalRegion x) (occurrentPartOf y x)) (TemporalRegion y))) // axiom label in BFO2 CLIF: [101-001] - - - - - - Every temporal region t is such that t occupies_temporal_region t. (axiom label in BFO2 Reference: [119-002]) - - - - - - (forall (x) (if (TemporalRegion x) (Occurrent x))) // axiom label in BFO2 CLIF: [100-001] - - - - - - - - - - - - - - - - - per discussion with Barry Smith - Temporal region doesn't have a closure axiom because the subclasses don't exhaust all possibilites. An example would be the mereological sum of a temporal instant and a temporal interval that doesn't overlap the instant. In this case the resultant temporal region is neither 0-dimensional nor 1-dimensional - - - - - - - - - - - - true - - - - - - - - - - - true - - - - - (forall (r) (if (TemporalRegion r) (occupiesTemporalRegion r r))) // axiom label in BFO2 CLIF: [119-002] - - - - - - - - - - - - - - - - - A temporal region is an occurrent entity that is part of time as defined relative to some reference frame. (axiom label in BFO2 Reference: [100-001]) - - - - - - - - - - - two-dimensional spatial region - - - - - - - - - - - - - - - - - - - - - - (forall (x) (if (TwoDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [039-001] - TwoDimensionalSpatialRegion - 2d-s-region - A two-dimensional spatial region is a spatial region that is of two dimensions. (axiom label in BFO2 Reference: [039-001]) - an infinitely thin plane in space. - the surface of a sphere-shaped part of space - - - - - - - - - - - - - - - - - - - A two-dimensional spatial region is a spatial region that is of two dimensions. (axiom label in BFO2 Reference: [039-001]) - - - - - - (forall (x) (if (TwoDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [039-001] - - - - - - - - - - - - - - - - - - - - - - - - - - spatiotemporal region - - - - - - - - - - - true - - - - - - - - - - - - - - - - - - true - - - - - - - - - (forall (r) (if (SpatioTemporalRegion r) (occupiesSpatioTemporalRegion r r))) // axiom label in BFO2 CLIF: [107-002] - (forall (x) (if (SpatioTemporalRegion x) (Occurrent x))) // axiom label in BFO2 CLIF: [095-001] - (forall (x) (if (SpatioTemporalRegion x) (exists (y) (and (TemporalRegion y) (temporallyProjectsOnto x y))))) // axiom label in BFO2 CLIF: [098-001] - (forall (x y) (if (and (SpatioTemporalRegion x) (occurrentPartOf y x)) (SpatioTemporalRegion y))) // axiom label in BFO2 CLIF: [096-001] - (forall (x t) (if (SpatioTemporalRegion x) (exists (y) (and (SpatialRegion y) (spatiallyProjectsOntoAt x y t))))) // axiom label in BFO2 CLIF: [099-001] - All parts of spatiotemporal regions are spatiotemporal regions. (axiom label in BFO2 Reference: [096-001]) - Each spatiotemporal region at any time t projects_onto some spatial region at t. (axiom label in BFO2 Reference: [099-001]) - Each spatiotemporal region projects_onto some temporal region. (axiom label in BFO2 Reference: [098-001]) - Every spatiotemporal region occupies_spatiotemporal_region itself. - Every spatiotemporal region s is such that s occupies_spatiotemporal_region s. (axiom label in BFO2 Reference: [107-002]) - SpatiotemporalRegion - st-region - A spatiotemporal region is an occurrent entity that is part of spacetime. (axiom label in BFO2 Reference: [095-001]) - the spatiotemporal region occupied by a human life - the spatiotemporal region occupied by a process of cellular meiosis. - the spatiotemporal region occupied by the development of a cancer tumor - - - - Each spatiotemporal region at any time t projects_onto some spatial region at t. (axiom label in BFO2 Reference: [099-001]) - - - - - - (forall (x y) (if (and (SpatioTemporalRegion x) (occurrentPartOf y x)) (SpatioTemporalRegion y))) // axiom label in BFO2 CLIF: [096-001] - - - - - - A spatiotemporal region is an occurrent entity that is part of spacetime. (axiom label in BFO2 Reference: [095-001]) - - - - - - - - - - - - true - - - - - Each spatiotemporal region projects_onto some temporal region. (axiom label in BFO2 Reference: [098-001]) - - - - - - All parts of spatiotemporal regions are spatiotemporal regions. (axiom label in BFO2 Reference: [096-001]) - - - - - - (forall (x t) (if (SpatioTemporalRegion x) (exists (y) (and (SpatialRegion y) (spatiallyProjectsOntoAt x y t))))) // axiom label in BFO2 CLIF: [099-001] - - - - - - - - - - - - - - - - - (forall (x) (if (SpatioTemporalRegion x) (exists (y) (and (TemporalRegion y) (temporallyProjectsOnto x y))))) // axiom label in BFO2 CLIF: [098-001] - - - - - - (forall (x) (if (SpatioTemporalRegion x) (Occurrent x))) // axiom label in BFO2 CLIF: [095-001] - - - - - - Every spatiotemporal region s is such that s occupies_spatiotemporal_region s. (axiom label in BFO2 Reference: [107-002]) - - - - - - - - - - - - - - - - - (forall (r) (if (SpatioTemporalRegion r) (occupiesSpatioTemporalRegion r r))) // axiom label in BFO2 CLIF: [107-002] - - - - - - - - - - - - - - - - - - - - - - - true - - - - - - - - - - process - - - - - - - - - - - - - - - - - - - - - - - - - - - process - Process - (iff (Process a) (and (Occurrent a) (exists (b) (properTemporalPartOf b a)) (exists (c t) (and (MaterialEntity c) (specificallyDependsOnAt a c t))))) // axiom label in BFO2 CLIF: [083-003] - BFO 2 Reference: The realm of occurrents is less pervasively marked by the presence of natural units than is the case in the realm of independent continuants. Thus there is here no counterpart of ‘object’. In BFO 1.0 ‘process’ served as such a counterpart. In BFO 2.0 ‘process’ is, rather, the occurrent counterpart of ‘material entity’. Those natural – as contrasted with engineered, which here means: deliberately executed – units which do exist in the realm of occurrents are typically either parasitic on the existence of natural units on the continuant side, or they are fiat in nature. Thus we can count lives; we can count football games; we can count chemical reactions performed in experiments or in chemical manufacturing. We cannot count the processes taking place, for instance, in an episode of insect mating behavior.Even where natural units are identifiable, for example cycles in a cyclical process such as the beating of a heart or an organism’s sleep/wake cycle, the processes in question form a sequence with no discontinuities (temporal gaps) of the sort that we find for instance where billiard balls or zebrafish or planets are separated by clear spatial gaps. Lives of organisms are process units, but they too unfold in a continuous series from other, prior processes such as fertilization, and they unfold in turn in continuous series of post-life processes such as post-mortem decay. Clear examples of boundaries of processes are almost always of the fiat sort (midnight, a time of death as declared in an operating theater or on a death certificate, the initiation of a state of war) - a process of cell-division, \ a beating of the heart - a process of meiosis - a process of sleeping - p is a process = Def. p is an occurrent that has temporal proper parts and for some time t, p s-depends_on some material entity at t. (axiom label in BFO2 Reference: [083-003]) - the course of a disease - the flight of a bird - the life of an organism - your process of aging. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (iff (Process a) (and (Occurrent a) (exists (b) (properTemporalPartOf b a)) (exists (c t) (and (MaterialEntity c) (specificallyDependsOnAt a c t))))) // axiom label in BFO2 CLIF: [083-003] - - - - - - p is a process = Def. p is an occurrent that has temporal proper parts and for some time t, p s-depends_on some material entity at t. (axiom label in BFO2 Reference: [083-003]) - - - - - - - - - - - disposition - - - - - - - - - - - - - - - - - - - - - - - disposition - Disposition - (forall (x t) (if (and (RealizableEntity x) (existsAt x t)) (exists (y) (and (MaterialEntity y) (specificallyDepends x y t))))) // axiom label in BFO2 CLIF: [063-002] - (forall (x) (if (Disposition x) (and (RealizableEntity x) (exists (y) (and (MaterialEntity y) (bearerOfAt x y t)))))) // axiom label in BFO2 CLIF: [062-002] - BFO 2 Reference: Dispositions exist along a strength continuum. Weaker forms of disposition are realized in only a fraction of triggering cases. These forms occur in a significant number of cases of a similar type [89 - If b is a realizable entity then for all t at which b exists, b s-depends_on some material entity at t. (axiom label in BFO2 Reference: [063-002]) - an atom of element X has the disposition to decay to an atom of element Y - b is a disposition means: b is a realizable entity & b’s bearer is some material entity & b is such that if it ceases to exist, then its bearer is physically changed, & b’s realization occurs when and because this bearer is in some special physical circumstances, & this realization occurs in virtue of the bearer’s physical make-up. (axiom label in BFO2 Reference: [062-002]) - certain people have a predisposition to colon cancer - children are innately disposed to categorize objects in certain ways. - the cell wall is disposed to filter chemicals in endocitosis and exocitosis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - b is a disposition means: b is a realizable entity & b’s bearer is some material entity & b is such that if it ceases to exist, then its bearer is physically changed, & b’s realization occurs when and because this bearer is in some special physical circumstances, & this realization occurs in virtue of the bearer’s physical make-up. (axiom label in BFO2 Reference: [062-002]) - - - - - - (forall (x) (if (Disposition x) (and (RealizableEntity x) (exists (y) (and (MaterialEntity y) (bearerOfAt x y t)))))) // axiom label in BFO2 CLIF: [062-002] - - - - - - If b is a realizable entity then for all t at which b exists, b s-depends_on some material entity at t. (axiom label in BFO2 Reference: [063-002]) - - - - - - (forall (x t) (if (and (RealizableEntity x) (existsAt x t)) (exists (y) (and (MaterialEntity y) (specificallyDepends x y t))))) // axiom label in BFO2 CLIF: [063-002] - - - - - - - - - - - realizable entity - - - - - - - - - - - - - - - - - - - - - - - (forall (x t) (if (RealizableEntity x) (exists (y) (and (IndependentContinuant y) (not (SpatialRegion y)) (bearerOfAt y x t))))) // axiom label in BFO2 CLIF: [060-002] - (forall (x) (if (RealizableEntity x) (and (SpecificallyDependentContinuant x) (exists (y) (and (IndependentContinuant y) (not (SpatialRegion y)) (inheresIn x y)))))) // axiom label in BFO2 CLIF: [058-002] - RealizableEntity - All realizable dependent continuants have independent continuants that are not spatial regions as their bearers. (axiom label in BFO2 Reference: [060-002]) - To say that b is a realizable entity is to say that b is a specifically dependent continuant that inheres in some independent continuant which is not a spatial region and is of a type instances of which are realized in processes of a correlated type. (axiom label in BFO2 Reference: [058-002]) - realizable - the disposition of this piece of metal to conduct electricity. - the disposition of your blood to coagulate - the function of your reproductive organs - the role of being a doctor - the role of this boundary to delineate where Utah and Colorado meet - - - - All realizable dependent continuants have independent continuants that are not spatial regions as their bearers. (axiom label in BFO2 Reference: [060-002]) - - - - - - - - - - - - - - - - - - - - - To say that b is a realizable entity is to say that b is a specifically dependent continuant that inheres in some independent continuant which is not a spatial region and is of a type instances of which are realized in processes of a correlated type. (axiom label in BFO2 Reference: [058-002]) - - - - - - - - - - - - - - - - - - - - - (forall (x) (if (RealizableEntity x) (and (SpecificallyDependentContinuant x) (exists (y) (and (IndependentContinuant y) (not (SpatialRegion y)) (inheresIn x y)))))) // axiom label in BFO2 CLIF: [058-002] - - - - - - (forall (x t) (if (RealizableEntity x) (exists (y) (and (IndependentContinuant y) (not (SpatialRegion y)) (bearerOfAt y x t))))) // axiom label in BFO2 CLIF: [060-002] - - - - - - - - - - - zero-dimensional spatial region - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ZeroDimensionalSpatialRegion - (forall (x) (if (ZeroDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [037-001] - 0d-s-region - A zero-dimensional spatial region is a point in space. (axiom label in BFO2 Reference: [037-001]) - - - - - - - - - - - - - - - - - - - - - - - - - - - A zero-dimensional spatial region is a point in space. (axiom label in BFO2 Reference: [037-001]) - - - - - - (forall (x) (if (ZeroDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [037-001] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - quality - - - - - - - - - - - - - - - - - - - - - - (forall (x) (if (exists (t) (and (existsAt x t) (Quality x))) (forall (t_1) (if (existsAt x t_1) (Quality x))))) // axiom label in BFO2 CLIF: [105-001] - Quality - (forall (x) (if (Quality x) (SpecificallyDependentContinuant x))) // axiom label in BFO2 CLIF: [055-001] - quality - If an entity is a quality at any time that it exists, then it is a quality at every time that it exists. (axiom label in BFO2 Reference: [105-001]) - a quality is a specifically dependent continuant that, in contrast to roles and dispositions, does not require any further process in order to be realized. (axiom label in BFO2 Reference: [055-001]) - the ambient temperature of this portion of air - the color of a tomato - the length of the circumference of your waist - the mass of this piece of gold. - the shape of your nose - the shape of your nostril - - - - (forall (x) (if (Quality x) (SpecificallyDependentContinuant x))) // axiom label in BFO2 CLIF: [055-001] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a quality is a specifically dependent continuant that, in contrast to roles and dispositions, does not require any further process in order to be realized. (axiom label in BFO2 Reference: [055-001]) - - - - - - (forall (x) (if (exists (t) (and (existsAt x t) (Quality x))) (forall (t_1) (if (existsAt x t_1) (Quality x))))) // axiom label in BFO2 CLIF: [105-001] - - - - - - If an entity is a quality at any time that it exists, then it is a quality at every time that it exists. (axiom label in BFO2 Reference: [105-001]) - - - - - - - - - - - specifically dependent continuant - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (iff (SpecificallyDependentContinuant a) (and (Continuant a) (forall (t) (if (existsAt a t) (exists (b) (and (IndependentContinuant b) (not (SpatialRegion b)) (specificallyDependsOnAt a b t))))))) // axiom label in BFO2 CLIF: [050-003] - sdc - (iff (RelationalSpecificallyDependentContinuant a) (and (SpecificallyDependentContinuant a) (forall (t) (exists (b c) (and (not (SpatialRegion b)) (not (SpatialRegion c)) (not (= b c)) (not (exists (d) (and (continuantPartOfAt d b t) (continuantPartOfAt d c t)))) (specificallyDependsOnAt a b t) (specificallyDependsOnAt a c t)))))) // axiom label in BFO2 CLIF: [131-004] - Reciprocal specifically dependent continuants: the function of this key to open this lock and the mutually dependent disposition of this lock: to be opened by this key - Specifically dependent continuant doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. We're not sure what else will develop here, but for example there are questions such as what are promises, obligation, etc. - SpecificallyDependentContinuant - b is a relational specifically dependent continuant = Def. b is a specifically dependent continuant and there are n &gt; 1 independent continuants c1, … cn which are not spatial regions are such that for all 1 i &lt; j n, ci and cj share no common parts, are such that for each 1 i n, b s-depends_on ci at every time t during the course of b’s existence (axiom label in BFO2 Reference: [131-004]) - b is a specifically dependent continuant = Def. b is a continuant & there is some independent continuant c which is not a spatial region and which is such that b s-depends_on c at every time t during the course of b’s existence. (axiom label in BFO2 Reference: [050-003]) - of one-sided specifically dependent continuants: the mass of this tomato - of relational dependent continuants (multiple bearers): John’s love for Mary, the ownership relation between John and this statue, the relation of authority between John and his subordinates. - the disposition of this fish to decay - the function of this heart: to pump blood - the mutual dependence of proton donors and acceptors in chemical reactions [79 - the mutual dependence of the role predator and the role prey as played by two organisms in a given interaction - the pink color of a medium rare piece of grilled filet mignon at its center - the role of being a doctor - the shape of this hole. - the smell of this portion of mozzarella - - - - (iff (RelationalSpecificallyDependentContinuant a) (and (SpecificallyDependentContinuant a) (forall (t) (exists (b c) (and (not (SpatialRegion b)) (not (SpatialRegion c)) (not (= b c)) (not (exists (d) (and (continuantPartOfAt d b t) (continuantPartOfAt d c t)))) (specificallyDependsOnAt a b t) (specificallyDependsOnAt a c t)))))) // axiom label in BFO2 CLIF: [131-004] - - - - - - - - - - - - - - - - - - - - - - - - - - - - b is a relational specifically dependent continuant = Def. b is a specifically dependent continuant and there are n &gt; 1 independent continuants c1, … cn which are not spatial regions are such that for all 1 i &lt; j n, ci and cj share no common parts, are such that for each 1 i n, b s-depends_on ci at every time t during the course of b’s existence (axiom label in BFO2 Reference: [131-004]) - - - - - - b is a specifically dependent continuant = Def. b is a continuant & there is some independent continuant c which is not a spatial region and which is such that b s-depends_on c at every time t during the course of b’s existence. (axiom label in BFO2 Reference: [050-003]) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Specifically dependent continuant doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. We're not sure what else will develop here, but for example there are questions such as what are promises, obligation, etc. - per discussion with Barry Smith - - - - - - (iff (SpecificallyDependentContinuant a) (and (Continuant a) (forall (t) (if (existsAt a t) (exists (b) (and (IndependentContinuant b) (not (SpatialRegion b)) (specificallyDependsOnAt a b t))))))) // axiom label in BFO2 CLIF: [050-003] - - - - - - - - - - - role - - - - - - - - - - - - - - - - - - - - - - role - (forall (x) (if (Role x) (RealizableEntity x))) // axiom label in BFO2 CLIF: [061-001] - BFO 2 Reference: One major family of examples of non-rigid universals involves roles, and ontologies developed for corresponding administrative purposes may consist entirely of representatives of entities of this sort. Thus ‘professor’, defined as follows,b instance_of professor at t =Def. there is some c, c instance_of professor role & c inheres_in b at t.denotes a non-rigid universal and so also do ‘nurse’, ‘student’, ‘colonel’, ‘taxpayer’, and so forth. (These terms are all, in the jargon of philosophy, phase sortals.) By using role terms in definitions, we can create a BFO conformant treatment of such entities drawing on the fact that, while an instance of professor may be simultaneously an instance of trade union member, no instance of the type professor role is also (at any time) an instance of the type trade union member role (any more than any instance of the type color is at any time an instance of the type length).If an ontology of employment positions should be defined in terms of roles following the above pattern, this enables the ontology to do justice to the fact that individuals instantiate the corresponding universals – professor, sergeant, nurse – only during certain phases in their lives. - John’s role of husband to Mary is dependent on Mary’s role of wife to John, and both are dependent on the object aggregate comprising John and Mary as member parts joined together through the relational quality of being married. - Role - b is a role means: b is a realizable entity & b exists because there is some single bearer that is in some special physical, social, or institutional set of circumstances in which this bearer does not have to be& b is not such that, if it ceases to exist, then the physical make-up of the bearer is thereby changed. (axiom label in BFO2 Reference: [061-001]) - the priest role - the role of a boundary to demarcate two neighboring administrative territories - the role of a building in serving as a military target - the role of a stone in marking a property boundary - the role of subject in a clinical trial - the student role - - - - - - - - - - - - - - - - - - - (forall (x) (if (Role x) (RealizableEntity x))) // axiom label in BFO2 CLIF: [061-001] - - - - - - - - - - - - - - - - - - - - - b is a role means: b is a realizable entity & b exists because there is some single bearer that is in some special physical, social, or institutional set of circumstances in which this bearer does not have to be& b is not such that, if it ceases to exist, then the physical make-up of the bearer is thereby changed. (axiom label in BFO2 Reference: [061-001]) - - - - - - - - - - - fiat object - - (forall (x) (if (FiatObjectPart x) (and (MaterialEntity x) (forall (t) (if (existsAt x t) (exists (y) (and (Object y) (properContinuantPartOfAt x y t)))))))) // axiom label in BFO2 CLIF: [027-004] - BFO 2 Reference: Most examples of fiat object parts are associated with theoretically drawn divisions - FiatObjectPart - b is a fiat object part = Def. b is a material entity which is such that for all times t, if b exists at t then there is some object c such that b proper continuant_part of c at t and c is demarcated from the remainder of c by a two-dimensional continuant fiat boundary. (axiom label in BFO2 Reference: [027-004]) - fiat-object - or with divisions drawn by cognitive subjects for practical reasons, such as the division of a cake (before slicing) into (what will become) slices (and thus member parts of an object aggregate). However, this does not mean that fiat object parts are dependent for their existence on divisions or delineations effected by cognitive subjects. If, for example, it is correct to conceive geological layers of the Earth as fiat object parts of the Earth, then even though these layers were first delineated in recent times, still existed long before such delineation and what holds of these layers (for example that the oldest layers are also the lowest layers) did not begin to hold because of our acts of delineation.Treatment of material entity in BFOExamples viewed by some as problematic cases for the trichotomy of fiat object part, object, and object aggregate include: a mussel on (and attached to) a rock, a slime mold, a pizza, a cloud, a galaxy, a railway train with engine and multiple carriages, a clonal stand of quaking aspen, a bacterial community (biofilm), a broken femur. Note that, as Aristotle already clearly recognized, such problematic cases – which lie at or near the penumbra of instances defined by the categories in question – need not invalidate these categories. The existence of grey objects does not prove that there are not objects which are black and objects which are white; the existence of mules does not prove that there are not objects which are donkeys and objects which are horses. It does, however, show that the examples in question need to be addressed carefully in order to show how they can be fitted into the proposed scheme, for example by recognizing additional subdivisions [29 - the FMA:regional parts of an intact human body. - the Western hemisphere of the Earth - the division of the brain into regions - the division of the planet into hemispheres - the dorsal and ventral surfaces of the body - the upper and lower lobes of the left lung - - - - (forall (x) (if (FiatObjectPart x) (and (MaterialEntity x) (forall (t) (if (existsAt x t) (exists (y) (and (Object y) (properContinuantPartOfAt x y t)))))))) // axiom label in BFO2 CLIF: [027-004] - - - - - - b is a fiat object part = Def. b is a material entity which is such that for all times t, if b exists at t then there is some object c such that b proper continuant_part of c at t and c is demarcated from the remainder of c by a two-dimensional continuant fiat boundary. (axiom label in BFO2 Reference: [027-004]) - - - - - - - - - - - one-dimensional spatial region - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (forall (x) (if (OneDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [038-001] - OneDimensionalSpatialRegion - 1d-s-region - A one-dimensional spatial region is a line or aggregate of lines stretching from one point in space to another. (axiom label in BFO2 Reference: [038-001]) - an edge of a cube-shaped portion of space. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A one-dimensional spatial region is a line or aggregate of lines stretching from one point in space to another. (axiom label in BFO2 Reference: [038-001]) - - - - - - (forall (x) (if (OneDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [038-001] - - - - - - - - - - - object aggregate - - object-aggregate - ObjectAggregate - ISBN:978-3-938793-98-5pp124-158#Thomas Bittner and Barry Smith, 'A Theory of Granular Partitions', in K. Munn and B. Smith (eds.), Applied Ontology: An Introduction, Frankfurt/Lancaster: ontos, 2008, 125-158. - (forall (x) (if (ObjectAggregate x) (and (MaterialEntity x) (forall (t) (if (existsAt x t) (exists (y z) (and (Object y) (Object z) (memberPartOfAt y x t) (memberPartOfAt z x t) (not (= y z)))))) (not (exists (w t_1) (and (memberPartOfAt w x t_1) (not (Object w)))))))) // axiom label in BFO2 CLIF: [025-004] - An entity a is an object aggregate if and only if there is a mutually exhaustive and pairwise disjoint partition of a into objects - BFO 2 Reference: object aggregates may gain and lose parts while remaining numerically identical (one and the same individual) over time. This holds both for aggregates whose membership is determined naturally (the aggregate of cells in your body) and aggregates determined by fiat (a baseball team, a congressional committee). - a collection of cells in a blood biobank. - a swarm of bees is an aggregate of members who are linked together through natural bonds - a symphony orchestra - an organization is an aggregate whose member parts have roles of specific types (for example in a jazz band, a chess club, a football team) - b is an object aggregate means: b is a material entity consisting exactly of a plurality of objects as member_parts at all times at which b exists. (axiom label in BFO2 Reference: [025-004]) - defined by fiat: the aggregate of members of an organization - defined through physical attachment: the aggregate of atoms in a lump of granite - defined through physical containment: the aggregate of molecules of carbon dioxide in a sealed container - defined via attributive delimitations such as: the patients in this hospital - the aggregate of bearings in a constant velocity axle joint - the aggregate of blood cells in your body - the nitrogen atoms in the atmosphere - the restaurants in Palo Alto - your collection of Meissen ceramic plates. - - - - b is an object aggregate means: b is a material entity consisting exactly of a plurality of objects as member_parts at all times at which b exists. (axiom label in BFO2 Reference: [025-004]) - - - - - - An entity a is an object aggregate if and only if there is a mutually exhaustive and pairwise disjoint partition of a into objects - - - - - - ISBN:978-3-938793-98-5pp124-158#Thomas Bittner and Barry Smith, 'A Theory of Granular Partitions', in K. Munn and B. Smith (eds.), Applied Ontology: An Introduction, Frankfurt/Lancaster: ontos, 2008, 125-158. - - - - - - An entity a is an object aggregate if and only if there is a mutually exhaustive and pairwise disjoint partition of a into objects - - - - - - (forall (x) (if (ObjectAggregate x) (and (MaterialEntity x) (forall (t) (if (existsAt x t) (exists (y z) (and (Object y) (Object z) (memberPartOfAt y x t) (memberPartOfAt z x t) (not (= y z)))))) (not (exists (w t_1) (and (memberPartOfAt w x t_1) (not (Object w)))))))) // axiom label in BFO2 CLIF: [025-004] - - - - - - - - - - - three-dimensional spatial region - - (forall (x) (if (ThreeDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [040-001] - 3d-s-region - ThreeDimensionalSpatialRegion - A three-dimensional spatial region is a spatial region that is of three dimensions. (axiom label in BFO2 Reference: [040-001]) - a cube-shaped region of space - a sphere-shaped region of space, - - - - A three-dimensional spatial region is a spatial region that is of three dimensions. (axiom label in BFO2 Reference: [040-001]) - - - - - - (forall (x) (if (ThreeDimensionalSpatialRegion x) (SpatialRegion x))) // axiom label in BFO2 CLIF: [040-001] - - - - - - - - - - - site - - Site - (forall (x) (if (Site x) (ImmaterialEntity x))) // axiom label in BFO2 CLIF: [034-002] - a hole in the interior of a portion of cheese - a rabbit hole - an air traffic control region defined in the airspace above an airport - b is a site means: b is a three-dimensional immaterial entity that is (partially or wholly) bounded by a material entity or it is a three-dimensional immaterial part thereof. (axiom label in BFO2 Reference: [034-002]) - site - Manhattan Canyon) - the Grand Canyon - the Piazza San Marco - the cockpit of an aircraft - the hold of a ship - the interior of a kangaroo pouch - the interior of the trunk of your car - the interior of your bedroom - the interior of your office - the interior of your refrigerator - the lumen of your gut - your left nostril (a fiat part – the opening – of your left nasal cavity) - - - - b is a site means: b is a three-dimensional immaterial entity that is (partially or wholly) bounded by a material entity or it is a three-dimensional immaterial part thereof. (axiom label in BFO2 Reference: [034-002]) - - - - - - (forall (x) (if (Site x) (ImmaterialEntity x))) // axiom label in BFO2 CLIF: [034-002] - - - - - - - - - - - object - - Object - BFO 2 Reference: Each object is such that there are entities of which we can assert unproblematically that they lie in its interior, and other entities of which we can assert unproblematically that they lie in its exterior. This may not be so for entities lying at or near the boundary between the interior and exterior. This means that two objects – for example the two cells depicted in Figure 3 – may be such that there are material entities crossing their boundaries which belong determinately to neither cell. Something similar obtains in certain cases of conjoined twins (see below). - BFO 2 Reference: To say that b is causally unified means: b is a material entity which is such that its material parts are tied together in such a way that, in environments typical for entities of the type in question,if c, a continuant part of b that is in the interior of b at t, is larger than a certain threshold size (which will be determined differently from case to case, depending on factors such as porosity of external cover) and is moved in space to be at t at a location on the exterior of the spatial region that had been occupied by b at t, then either b’s other parts will be moved in coordinated fashion or b will be damaged (be affected, for example, by breakage or tearing) in the interval between t and t.causal changes in one part of b can have consequences for other parts of b without the mediation of any entity that lies on the exterior of b. Material entities with no proper material parts would satisfy these conditions trivially. Candidate examples of types of causal unity for material entities of more complex sorts are as follows (this is not intended to be an exhaustive list):CU1: Causal unity via physical coveringHere the parts in the interior of the unified entity are combined together causally through a common membrane or other physical covering\. The latter points outwards toward and may serve a protective function in relation to what lies on the exterior of the entity [13, 47 - object - BFO 2 Reference: BFO rests on the presupposition that at multiple micro-, meso- and macroscopic scales reality exhibits certain stable, spatially separated or separable material units, combined or combinable into aggregates of various sorts (for example organisms into what are called ‘populations’). Such units play a central role in almost all domains of natural science from particle physics to cosmology. Many scientific laws govern the units in question, employing general terms (such as ‘molecule’ or ‘planet’) referring to the types and subtypes of units, and also to the types and subtypes of the processes through which such units develop and interact. The division of reality into such natural units is at the heart of biological science, as also is the fact that these units may form higher-level units (as cells form multicellular organisms) and that they may also form aggregates of units, for example as cells form portions of tissue and organs form families, herds, breeds, species, and so on. At the same time, the division of certain portions of reality into engineered units (manufactured artifacts) is the basis of modern industrial technology, which rests on the distributed mass production of engineered parts through division of labor and on their assembly into larger, compound units such as cars and laptops. The division of portions of reality into units is one starting point for the phenomenon of counting. - BFO 2 Reference: an object is a maximal causally unified material entity - BFO 2 Reference: ‘objects’ are sometimes referred to as ‘grains’ [74 - atom - b is an object means: b is a material entity which manifests causal unity of one or other of the types CUn listed above & is of a type (a material universal) instances of which are maximal relative to this criterion of causal unity. (axiom label in BFO2 Reference: [024-001]) - cell - cells and organisms - engineered artifacts - grain of sand - molecule - organelle - organism - planet - solid portions of matter - star - - - - b is an object means: b is a material entity which manifests causal unity of one or other of the types CUn listed above & is of a type (a material universal) instances of which are maximal relative to this criterion of causal unity. (axiom label in BFO2 Reference: [024-001]) - - - - - - - - - - - generically dependent continuant - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - gdc - GenericallyDependentContinuant - (iff (GenericallyDependentContinuant a) (and (Continuant a) (exists (b t) (genericallyDependsOnAt a b t)))) // axiom label in BFO2 CLIF: [074-001] - The entries in your database are patterns instantiated as quality instances in your hard drive. The database itself is an aggregate of such patterns. When you create the database you create a particular instance of the generically dependent continuant type database. Each entry in the database is an instance of the generically dependent continuant type IAO: information content entity. - b is a generically dependent continuant = Def. b is a continuant that g-depends_on one or more other entities. (axiom label in BFO2 Reference: [074-001]) - the pdf file on your laptop, the pdf file that is a copy thereof on my laptop - the sequence of this protein molecule; the sequence that is a copy thereof in that protein molecule. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (iff (GenericallyDependentContinuant a) (and (Continuant a) (exists (b t) (genericallyDependsOnAt a b t)))) // axiom label in BFO2 CLIF: [074-001] - - - - - - b is a generically dependent continuant = Def. b is a continuant that g-depends_on one or more other entities. (axiom label in BFO2 Reference: [074-001]) - - - - - - - - - - - - - - - - - - - - - - function - - function - (forall (x) (if (Function x) (Disposition x))) // axiom label in BFO2 CLIF: [064-001] - A function is a disposition that exists in virtue of the bearer’s physical make-up and this physical make-up is something the bearer possesses because it came into being, either through evolution (in the case of natural biological entities) or through intentional design (in the case of artifacts), in order to realize processes of a certain sort. (axiom label in BFO2 Reference: [064-001]) - BFO 2 Reference: In the past, we have distinguished two varieties of function, artifactual function and biological function. These are not asserted subtypes of BFO:function however, since the same function – for example: to pump, to transport – can exist both in artifacts and in biological entities. The asserted subtypes of function that would be needed in order to yield a separate monoheirarchy are not artifactual function, biological function, etc., but rather transporting function, pumping function, etc. - Function - the function of a hammer to drive in nails - the function of a heart pacemaker to regulate the beating of a heart through electricity - the function of amylase in saliva to break down starch into sugar - - - - (forall (x) (if (Function x) (Disposition x))) // axiom label in BFO2 CLIF: [064-001] - - - - - - A function is a disposition that exists in virtue of the bearer’s physical make-up and this physical make-up is something the bearer possesses because it came into being, either through evolution (in the case of natural biological entities) or through intentional design (in the case of artifacts), in order to realize processes of a certain sort. (axiom label in BFO2 Reference: [064-001]) - - - - - - - - - - - process boundary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (iff (ProcessBoundary a) (exists (p) (and (Process p) (temporalPartOf a p) (not (exists (b) (properTemporalPartOf b a)))))) // axiom label in BFO2 CLIF: [084-001] - (forall (x) (if (ProcessBoundary x) (exists (y) (and (ZeroDimensionalTemporalRegion y) (occupiesTemporalRegion x y))))) // axiom label in BFO2 CLIF: [085-002] - Every process boundary occupies_temporal_region a zero-dimensional temporal region. (axiom label in BFO2 Reference: [085-002]) - ProcessBoundary - p is a process boundary =Def. p is a temporal part of a process & p has no proper temporal parts. (axiom label in BFO2 Reference: [084-001]) - p-boundary - the boundary between the 2nd and 3rd year of your life. - - - - Every process boundary occupies_temporal_region a zero-dimensional temporal region. (axiom label in BFO2 Reference: [085-002]) - - - - - - (forall (x) (if (ProcessBoundary x) (exists (y) (and (ZeroDimensionalTemporalRegion y) (occupiesTemporalRegion x y))))) // axiom label in BFO2 CLIF: [085-002] - - - - - - - - - - - - - - - - - - - - - - - - - - - p is a process boundary =Def. p is a temporal part of a process & p has no proper temporal parts. (axiom label in BFO2 Reference: [084-001]) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (iff (ProcessBoundary a) (exists (p) (and (Process p) (temporalPartOf a p) (not (exists (b) (properTemporalPartOf b a)))))) // axiom label in BFO2 CLIF: [084-001] - - - - - - - - - - - one-dimensional temporal region - - - (forall (x) (if (OneDimensionalTemporalRegion x) (TemporalRegion x))) // axiom label in BFO2 CLIF: [103-001] - 1d-t-region - A one-dimensional temporal region is a temporal region that is extended. (axiom label in BFO2 Reference: [103-001]) - BFO 2 Reference: A temporal interval is a special kind of one-dimensional temporal region, namely one that is self-connected (is without gaps or breaks). - OneDimensionalTemporalRegion - the temporal region during which a process occurs. - - - - A one-dimensional temporal region is a temporal region that is extended. (axiom label in BFO2 Reference: [103-001]) - - - - - - (forall (x) (if (OneDimensionalTemporalRegion x) (TemporalRegion x))) // axiom label in BFO2 CLIF: [103-001] - - - - - - - - - - - material entity - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - material - (forall (x) (if (MaterialEntity x) (IndependentContinuant x))) // axiom label in BFO2 CLIF: [019-002] - MaterialEntity - (forall (x) (if (and (Entity x) (exists (y t) (and (MaterialEntity y) (continuantPartOfAt x y t)))) (MaterialEntity x))) // axiom label in BFO2 CLIF: [021-002] - (forall (x) (if (and (Entity x) (exists (y t) (and (MaterialEntity y) (continuantPartOfAt y x t)))) (MaterialEntity x))) // axiom label in BFO2 CLIF: [020-002] - A material entity is an independent continuant that has some portion of matter as proper or improper continuant part. (axiom label in BFO2 Reference: [019-002]) - BFO 2 Reference: Material entities (continuants) can preserve their identity even while gaining and losing material parts. Continuants are contrasted with occurrents, which unfold themselves in successive temporal parts or phases [60 - BFO 2 Reference: Object, Fiat Object Part and Object Aggregate are not intended to be exhaustive of Material Entity. Users are invited to propose new subcategories of Material Entity. - BFO 2 Reference: ‘Matter’ is intended to encompass both mass and energy (we will address the ontological treatment of portions of energy in a later version of BFO). A portion of matter is anything that includes elementary particles among its proper or improper parts: quarks and leptons, including electrons, as the smallest particles thus far discovered; baryons (including protons and neutrons) at a higher level of granularity; atoms and molecules at still higher levels, forming the cells, organs, organisms and other material entities studied by biologists, the portions of rock studied by geologists, the fossils studied by paleontologists, and so on.Material entities are three-dimensional entities (entities extended in three spatial dimensions), as contrasted with the processes in which they participate, which are four-dimensional entities (entities extended also along the dimension of time).According to the FMA, material entities may have immaterial entities as parts – including the entities identified below as sites; for example the interior (or ‘lumen’) of your small intestine is a part of your body. BFO 2.0 embodies a decision to follow the FMA here. - Every entity which has a material entity as continuant part is a material entity. (axiom label in BFO2 Reference: [020-002]) - a flame - a forest fire - a human being - a hurricane - a photon - a puff of smoke - a sea wave - a tornado - an aggregate of human beings. - an energy wave - an epidemic - every entity of which a material entity is continuant part is also a material entity. (axiom label in BFO2 Reference: [021-002]) - the undetached arm of a human being - - - - A material entity is an independent continuant that has some portion of matter as proper or improper continuant part. (axiom label in BFO2 Reference: [019-002]) - - - - - - Every entity which has a material entity as continuant part is a material entity. (axiom label in BFO2 Reference: [020-002]) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (forall (x) (if (MaterialEntity x) (IndependentContinuant x))) // axiom label in BFO2 CLIF: [019-002] - - - - - - (forall (x) (if (and (Entity x) (exists (y t) (and (MaterialEntity y) (continuantPartOfAt x y t)))) (MaterialEntity x))) // axiom label in BFO2 CLIF: [021-002] - - - - - - - - - - - - - - - - - every entity of which a material entity is continuant part is also a material entity. (axiom label in BFO2 Reference: [021-002]) - - - - - - (forall (x) (if (and (Entity x) (exists (y t) (and (MaterialEntity y) (continuantPartOfAt y x t)))) (MaterialEntity x))) // axiom label in BFO2 CLIF: [020-002] - - - - - - - - - - - continuant fiat boundary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ContinuantFiatBoundary - cf-boundary - (iff (ContinuantFiatBoundary a) (and (ImmaterialEntity a) (exists (b) (and (or (ZeroDimensionalSpatialRegion b) (OneDimensionalSpatialRegion b) (TwoDimensionalSpatialRegion b)) (forall (t) (locatedInAt a b t)))) (not (exists (c t) (and (SpatialRegion c) (continuantPartOfAt c a t)))))) // axiom label in BFO2 CLIF: [029-001] - BFO 2 Reference: In BFO 1.1 the assumption was made that the external surface of a material entity such as a cell could be treated as if it were a boundary in the mathematical sense. The new document propounds the view that when we talk about external surfaces of material objects in this way then we are talking about something fiat. To be dealt with in a future version: fiat boundaries at different levels of granularity.More generally, the focus in discussion of boundaries in BFO 2.0 is now on fiat boundaries, which means: boundaries for which there is no assumption that they coincide with physical discontinuities. The ontology of boundaries becomes more closely allied with the ontology of regions. - BFO 2 Reference: a continuant fiat boundary is a boundary of some material entity (for example: the plane separating the Northern and Southern hemispheres; the North Pole), or it is a boundary of some immaterial entity (for example of some portion of airspace). Three basic kinds of continuant fiat boundary can be distinguished (together with various combination kinds [29 - Continuant fiat boundary doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. An example would be the mereological sum of two-dimensional continuant fiat boundary and a one dimensional continuant fiat boundary that doesn't overlap it. The situation is analogous to temporal and spatial regions. - Every continuant fiat boundary is located at some spatial region at every time at which it exists - b is a continuant fiat boundary = Def. b is an immaterial entity that is of zero, one or two dimensions and does not include a spatial region as part. (axiom label in BFO2 Reference: [029-001]) - - - - b is a continuant fiat boundary = Def. b is an immaterial entity that is of zero, one or two dimensions and does not include a spatial region as part. (axiom label in BFO2 Reference: [029-001]) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (iff (ContinuantFiatBoundary a) (and (ImmaterialEntity a) (exists (b) (and (or (ZeroDimensionalSpatialRegion b) (OneDimensionalSpatialRegion b) (TwoDimensionalSpatialRegion b)) (forall (t) (locatedInAt a b t)))) (not (exists (c t) (and (SpatialRegion c) (continuantPartOfAt c a t)))))) // axiom label in BFO2 CLIF: [029-001] - - - - - - - - - - - - - - - - - Continuant fiat boundary doesn't have a closure axiom because the subclasses don't necessarily exhaust all possibilites. An example would be the mereological sum of two-dimensional continuant fiat boundary and a one dimensional continuant fiat boundary that doesn't overlap it. The situation is analogous to temporal and spatial regions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - immaterial entity - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ImmaterialEntity - immaterial - BFO 2 Reference: Immaterial entities are divided into two subgroups:boundaries and sites, which bound, or are demarcated in relation, to material entities, and which can thus change location, shape and size and as their material hosts move or change shape or size (for example: your nasal passage; the hold of a ship; the boundary of Wales (which moves with the rotation of the Earth) [38, 7, 10 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - one-dimensional continuant fiat boundary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OneDimensionalContinuantFiatBoundary - (iff (OneDimensionalContinuantFiatBoundary a) (and (ContinuantFiatBoundary a) (exists (b) (and (OneDimensionalSpatialRegion b) (forall (t) (locatedInAt a b t)))))) // axiom label in BFO2 CLIF: [032-001] - 1d-cf-boundary - The Equator - a one-dimensional continuant fiat boundary is a continuous fiat line whose location is defined in relation to some material entity. (axiom label in BFO2 Reference: [032-001]) - all geopolitical boundaries - all lines of latitude and longitude - the line separating the outer surface of the mucosa of the lower lip from the outer surface of the skin of the chin. - the median sulcus of your tongue - - - - - - - - - - - - - - - - - - - - - - - - - (iff (OneDimensionalContinuantFiatBoundary a) (and (ContinuantFiatBoundary a) (exists (b) (and (OneDimensionalSpatialRegion b) (forall (t) (locatedInAt a b t)))))) // axiom label in BFO2 CLIF: [032-001] - - - - - - - - - - - - - - - - - - - - - - - - - - - a one-dimensional continuant fiat boundary is a continuous fiat line whose location is defined in relation to some material entity. (axiom label in BFO2 Reference: [032-001]) - - - - - - - - - - - process profile - - - - - - - - - - - - - - - (forall (x y) (if (processProfileOf x y) (and (properContinuantPartOf x y) (exists (z t) (and (properOccurrentPartOf z y) (TemporalRegion t) (occupiesSpatioTemporalRegion x t) (occupiesSpatioTemporalRegion y t) (occupiesSpatioTemporalRegion z t) (not (exists (w) (and (occurrentPartOf w x) (occurrentPartOf w z))))))))) // axiom label in BFO2 CLIF: [094-005] - ProcessProfile - process-profile - (iff (ProcessProfile a) (exists (b) (and (Process b) (processProfileOf a b)))) // axiom label in BFO2 CLIF: [093-002] - On a somewhat higher level of complexity are what we shall call rate process profiles, which are the targets of selective abstraction focused not on determinate quality magnitudes plotted over time, but rather on certain ratios between these magnitudes and elapsed times. A speed process profile, for example, is represented by a graph plotting against time the ratio of distance covered per unit of time. Since rates may change, and since such changes, too, may have rates of change, we have to deal here with a hierarchy of process profile universals at successive levels - One important sub-family of rate process profiles is illustrated by the beat or frequency profiles of cyclical processes, illustrated by the 60 beats per minute beating process of John’s heart, or the 120 beats per minute drumming process involved in one of John’s performances in a rock band, and so on. Each such process includes what we shall call a beat process profile instance as part, a subtype of rate process profile in which the salient ratio is not distance covered but rather number of beat cycles per unit of time. Each beat process profile instance instantiates the determinable universal beat process profile. But it also instantiates multiple more specialized universals at lower levels of generality, selected from rate process profilebeat process profileregular beat process profile3 bpm beat process profile4 bpm beat process profileirregular beat process profileincreasing beat process profileand so on.In the case of a regular beat process profile, a rate can be assigned in the simplest possible fashion by dividing the number of cycles by the length of the temporal region occupied by the beating process profile as a whole. Irregular process profiles of this sort, for example as identified in the clinic, or in the readings on an aircraft instrument panel, are often of diagnostic significance. - The simplest type of process profiles are what we shall call ‘quality process profiles’, which are the process profiles which serve as the foci of the sort of selective abstraction that is involved when measurements are made of changes in single qualities, as illustrated, for example, by process profiles of mass, temperature, aortic pressure, and so on. - b is a process_profile =Def. there is some process c such that b process_profile_of c (axiom label in BFO2 Reference: [093-002]) - b process_profile_of c holds when b proper_occurrent_part_of c& there is some proper_occurrent_part d of c which has no parts in common with b & is mutually dependent on b& is such that b, c and d occupy the same temporal region (axiom label in BFO2 Reference: [094-005]) - - - - - - - - - - - - - - - - - - - - - - - - - - (iff (ProcessProfile a) (exists (b) (and (Process b) (processProfileOf a b)))) // axiom label in BFO2 CLIF: [093-002] - - - - - - b is a process_profile =Def. there is some process c such that b process_profile_of c (axiom label in BFO2 Reference: [093-002]) - - - - - - b process_profile_of c holds when b proper_occurrent_part_of c& there is some proper_occurrent_part d of c which has no parts in common with b & is mutually dependent on b& is such that b, c and d occupy the same temporal region (axiom label in BFO2 Reference: [094-005]) - - - - - - (forall (x y) (if (processProfileOf x y) (and (properContinuantPartOf x y) (exists (z t) (and (properOccurrentPartOf z y) (TemporalRegion t) (occupiesSpatioTemporalRegion x t) (occupiesSpatioTemporalRegion y t) (occupiesSpatioTemporalRegion z t) (not (exists (w) (and (occurrentPartOf w x) (occurrentPartOf w z))))))))) // axiom label in BFO2 CLIF: [094-005] - - - - - - - - - - - relational quality - - - - - - - - 2 - - - - - - (iff (RelationalQuality a) (exists (b c t) (and (IndependentContinuant b) (IndependentContinuant c) (qualityOfAt a b t) (qualityOfAt a c t)))) // axiom label in BFO2 CLIF: [057-001] - John’s role of husband to Mary is dependent on Mary’s role of wife to John, and both are dependent on the object aggregate comprising John and Mary as member parts joined together through the relational quality of being married. - RelationalQuality - a marriage bond, an instance of love, an obligation between one person and another. - r-quality - b is a relational quality = Def. for some independent continuants c, d and for some time t: b quality_of c at t & b quality_of d at t. (axiom label in BFO2 Reference: [057-001]) - - - - b is a relational quality = Def. for some independent continuants c, d and for some time t: b quality_of c at t & b quality_of d at t. (axiom label in BFO2 Reference: [057-001]) - - - - - - (iff (RelationalQuality a) (exists (b c t) (and (IndependentContinuant b) (IndependentContinuant c) (qualityOfAt a b t) (qualityOfAt a c t)))) // axiom label in BFO2 CLIF: [057-001] - - - - - - - - - - - - - - - - 2 - - - - - - - - - - - - two-dimensional continuant fiat boundary - - 2d-cf-boundary - TwoDimensionalContinuantFiatBoundary - (iff (TwoDimensionalContinuantFiatBoundary a) (and (ContinuantFiatBoundary a) (exists (b) (and (TwoDimensionalSpatialRegion b) (forall (t) (locatedInAt a b t)))))) // axiom label in BFO2 CLIF: [033-001] - a two-dimensional continuant fiat boundary (surface) is a self-connected fiat surface whose location is defined in relation to some material entity. (axiom label in BFO2 Reference: [033-001]) - - - - a two-dimensional continuant fiat boundary (surface) is a self-connected fiat surface whose location is defined in relation to some material entity. (axiom label in BFO2 Reference: [033-001]) - - - - - - (iff (TwoDimensionalContinuantFiatBoundary a) (and (ContinuantFiatBoundary a) (exists (b) (and (TwoDimensionalSpatialRegion b) (forall (t) (locatedInAt a b t)))))) // axiom label in BFO2 CLIF: [033-001] - - - - - - - - - - - zero-dimensional continuant fiat boundary - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (iff (ZeroDimensionalContinuantFiatBoundary a) (and (ContinuantFiatBoundary a) (exists (b) (and (ZeroDimensionalSpatialRegion b) (forall (t) (locatedInAt a b t)))))) // axiom label in BFO2 CLIF: [031-001] - 0d-cf-boundary - ZeroDimensionalContinuantFiatBoundary - a zero-dimensional continuant fiat boundary is a fiat point whose location is defined in relation to some material entity. (axiom label in BFO2 Reference: [031-001]) - the geographic North Pole - the point of origin of some spatial coordinate system. - the quadripoint where the boundaries of Colorado, Utah, New Mexico, and Arizona meet - zero dimension continuant fiat boundaries are not spatial points. Considering the example 'the quadripoint where the boundaries of Colorado, Utah, New Mexico, and Arizona meet' : There are many frames in which that point is zooming through many points in space. Whereas, no matter what the frame, the quadripoint is always in the same relation to the boundaries of Colorado, Utah, New Mexico, and Arizona. - - - - requested by Melanie Courtot - zero dimension continuant fiat boundaries are not spatial points. Considering the example 'the quadripoint where the boundaries of Colorado, Utah, New Mexico, and Arizona meet' : There are many frames in which that point is zooming through many points in space. Whereas, no matter what the frame, the quadripoint is always in the same relation to the boundaries of Colorado, Utah, New Mexico, and Arizona. - - - - - - - (iff (ZeroDimensionalContinuantFiatBoundary a) (and (ContinuantFiatBoundary a) (exists (b) (and (ZeroDimensionalSpatialRegion b) (forall (t) (locatedInAt a b t)))))) // axiom label in BFO2 CLIF: [031-001] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a zero-dimensional continuant fiat boundary is a fiat point whose location is defined in relation to some material entity. (axiom label in BFO2 Reference: [031-001]) - - - - - - - - - - - zero-dimensional temporal region - - - - - - - - 0d-t-region - (forall (x) (if (ZeroDimensionalTemporalRegion x) (TemporalRegion x))) // axiom label in BFO2 CLIF: [102-001] - A zero-dimensional temporal region is a temporal region that is without extent. (axiom label in BFO2 Reference: [102-001]) - ZeroDimensionalTemporalRegion - a temporal region that is occupied by a process boundary - right now - temporal instant. - the moment at which a child is born - the moment at which a finger is detached in an industrial accident - the moment of death. - - - - - - - - - - - - - - - A zero-dimensional temporal region is a temporal region that is without extent. (axiom label in BFO2 Reference: [102-001]) - - - - - - (forall (x) (if (ZeroDimensionalTemporalRegion x) (TemporalRegion x))) // axiom label in BFO2 CLIF: [102-001] - - - - - - - - - - - history - - - - - - - - - - - - - - - - - - A history is a process that is the sum of the totality of processes taking place in the spatiotemporal region occupied by a material entity or site, including processes on the surface of the entity or within the cavities to which it serves as host. (axiom label in BFO2 Reference: [138-001]) - History - history - - - - A history is a process that is the sum of the totality of processes taking place in the spatiotemporal region occupied by a material entity or site, including processes on the surface of the entity or within the cavities to which it serves as host. (axiom label in BFO2 Reference: [138-001]) - - - - - - - - - - - Person:Alan Ruttenberg - - - To say that each spatiotemporal region s temporally_projects_onto some temporal region t is to say that t is the temporal extension of s. (axiom label in BFO2 Reference: [080-003]) - To say that spatiotemporal region s spatially_projects_onto spatial region r at t is to say that r is the spatial extent of s at t. (axiom label in BFO2 Reference: [081-003]) - - - To say that each spatiotemporal region s temporally_projects_onto some temporal region t is to say that t is the temporal extension of s. (axiom label in BFO2 Reference: [080-003]) - - - - - - To say that spatiotemporal region s spatially_projects_onto spatial region r at t is to say that r is the spatial extent of s at t. (axiom label in BFO2 Reference: [081-003]) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 12b384f5ebcc77ac7c09afdf81d3cb0524410dba Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Tue, 20 Aug 2013 16:54:09 -0400 Subject: [PATCH 12/66] changing bearerOf/inheresIn in diff.tab.txt to use the RO URIs instead of BFO2 URIs --- .../WEB-INF/ontologies/update/diff.tab.txt | 128 +++++++++++++++++- 1 file changed, 127 insertions(+), 1 deletion(-) diff --git a/productMods/WEB-INF/ontologies/update/diff.tab.txt b/productMods/WEB-INF/ontologies/update/diff.tab.txt index 009c167b..9d448f47 100644 --- a/productMods/WEB-INF/ontologies/update/diff.tab.txt +++ b/productMods/WEB-INF/ontologies/update/diff.tab.txt @@ -1 +1,127 @@ -http://vivoweb.org/ontology/core#administeredBy complex construct with grant administrator role http://vivoweb.org/ontology/core#administers complex construct with grant administrator role http://vivoweb.org/ontology/core#advisee CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#adviseeIn CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#advisingContributionTo realizedIn? Come back to this. http://vivoweb.org/ontology/core#advisor CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#advisorIn CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#affiliatedOrganization construct Relationship node? http://vivoweb.org/ontology/core#assignedBy patent - come back to this http://vivoweb.org/ontology/core#assignee patent - come back to this http://vivoweb.org/ontology/core#associatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#associatedWithPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#attendeeRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#authorInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardConferred http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#awardConferredBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#awardOrHonor http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardOrHonorFor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#awardsGrant http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#clinicalRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#co-PrincipalInvestigatorRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#contributingAdvising come back to this http://vivoweb.org/ontology/core#contributingRole come back to this http://vivoweb.org/ontology/core#courseOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#credentialOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#currentMemberOf http://vivoweb.org/ontology/core#memberOf Yes z http://vivoweb.org/ontology/core#currentlyHeadOf CC or delete? http://vivoweb.org/ontology/core#currentlyHeadedBy CC or delete? http://vivoweb.org/ontology/core#degreeCandidacy revisit http://vivoweb.org/ontology/core#degreeEarned http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#degreeOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#degreeOutcomeOf http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#distributes revisit (distributor role?) http://vivoweb.org/ontology/core#distributesFundingFrom revisit http://vivoweb.org/ontology/core#domesticGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#domesticGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#editor CC editorship http://vivoweb.org/ontology/core#editorOf CC editorship http://vivoweb.org/ontology/core#editorRoleOf http://purl.obolibrary.org/obo/BFO_0000052 z http://vivoweb.org/ontology/core#educationalTraining http://vivoweb.org/ontology/core#relatedBy z http://vivoweb.org/ontology/core#educationalTrainingOf http://vivoweb.org/ontology/core#relates z http://vivoweb.org/ontology/core#eligibleFor revisit http://vivoweb.org/ontology/core#equipmentInFacility http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#eventWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#geographicLocationOf http://purl.obolibrary.org/obo/RO_0001015 Yes """location of""" http://vivoweb.org/ontology/core#geographicallyContains http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#geographicallyWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#governingAuthorityFor revisit http://vivoweb.org/ontology/core#grantAwardedBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#hasAttendeeRole http://purl.obolibrary.org/obo/BFO_0000053 Yes """bearer of""" http://vivoweb.org/ontology/core#hasClinicalRole http://purl.obolibrary.org/obo/BFO_0000053 Yes """bearer of""" http://vivoweb.org/ontology/core#hasCo-PrincipalInvestigatorRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasCollaborator http://vivoweb.org/ontology/core#relatedBy Yes CC construct Relationship http://vivoweb.org/ontology/core#hasCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#hasCurrentMember revisit - construct relationship? http://vivoweb.org/ontology/core#hasEditorRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasGeographicLocation http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#hasGoverningAuthority revisit http://vivoweb.org/ontology/core#hasInvestigatorRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasLeaderRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasMemberRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasOrganizerRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasOutreachProviderRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasPart http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasPredecessorOrganization revisit http://vivoweb.org/ontology/core#hasPresenterRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasPrincipalInvestigatorRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasResearcherRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasReviewerRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasRoom http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#hasServiceProviderRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#hasSubOrganization http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasSuccessorOrganization revisit http://vivoweb.org/ontology/core#hasTeacherRole http://purl.obolibrary.org/obo/BFO_0000053 Yes z http://vivoweb.org/ontology/core#inEventSeries http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#includesEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#informationProduct revisit http://vivoweb.org/ontology/core#informationProductOf revisit http://vivoweb.org/ontology/core#informationResourceInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#internationalGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#internationalGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#investigatorRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes """inheres in""" http://vivoweb.org/ontology/core#issuanceOfCredential http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#issuedCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#leaderRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#linkedAuthor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#linkedInformationResource http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#locationOfEquipment http://purl.obolibrary.org/obo/RO_0001015 Yes z http://vivoweb.org/ontology/core#mailingAddress VCard http://vivoweb.org/ontology/core#mailingAddressFor VCard http://vivoweb.org/ontology/core#memberRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#offersCourse http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#offersDegree http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#organizationForPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizationForTraining http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizerRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#outcome revisit: RO? http://vivoweb.org/ontology/core#outcomeOf revisit: RO? http://vivoweb.org/ontology/core#outreachProviderRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#partOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#personInPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#positionForPerson http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#positionInOrganization http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#presenterRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#principalInvestigatorRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#providesService http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#realizedRole http://purl.obolibrary.org/obo/BFO_0000055 Yes """realizes""" http://vivoweb.org/ontology/core#receipt http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#receiptOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#relatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#researcherRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#reviewerRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#roleContributesTo http://vivoweb.org/ontology/core#relatedBy Yes may not apply in all situations http://vivoweb.org/ontology/core#roleIn http://purl.obolibrary.org/obo/BFO_0000054 Yes """realized in"" (or delete, since there should be subs?)" http://vivoweb.org/ontology/core#roleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#roleRealizedIn http://purl.obolibrary.org/obo/BFO_0000054 Yes z http://vivoweb.org/ontology/core#roomWithinBuilding http://purl.obolibrary.org/obo/RO_0001025 Yes double check this http://vivoweb.org/ontology/core#seriesForEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#serviceProvidedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#serviceProviderRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#subGrantOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#subOrganizationWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#teacherRoleOf http://purl.obolibrary.org/obo/BFO_0000052 Yes z http://vivoweb.org/ontology/core#trainingAtOrganization http://vivoweb.org/ontology/core#relates Yes double check this http://vivoweb.org/ontology/core#webpage VCard? http://vivoweb.org/ontology/core#webpageOf VCard \ No newline at end of file +http://vivoweb.org/ontology/core#administeredBy complex construct with grant administrator role +http://vivoweb.org/ontology/core#administers complex construct with grant administrator role +http://vivoweb.org/ontology/core#advisee CC - advising relationship plus add advisee role +http://vivoweb.org/ontology/core#adviseeIn CC - advising relationship plus add advisee role +http://vivoweb.org/ontology/core#advisingContributionTo realizedIn? Come back to this. +http://vivoweb.org/ontology/core#advisor CC - advising relationship plus add advisor role +http://vivoweb.org/ontology/core#advisorIn CC - advising relationship plus add advisor role +http://vivoweb.org/ontology/core#affiliatedOrganization construct Relationship node? +http://vivoweb.org/ontology/core#assignedBy patent - come back to this +http://vivoweb.org/ontology/core#assignee patent - come back to this +http://vivoweb.org/ontology/core#associatedRole http://vivoweb.org/ontology/core#relates Yes z +http://vivoweb.org/ontology/core#associatedWithPosition http://vivoweb.org/ontology/core#relatedBy Yes z +http://vivoweb.org/ontology/core#attendeeRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z +http://vivoweb.org/ontology/core#authorInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z +http://vivoweb.org/ontology/core#awardConferred http://vivoweb.org/ontology/core#assigns Yes z +http://vivoweb.org/ontology/core#awardConferredBy http://vivoweb.org/ontology/core#assignedBy Yes z +http://vivoweb.org/ontology/core#awardOrHonor http://vivoweb.org/ontology/core#relatedBy Yes z +http://vivoweb.org/ontology/core#awardOrHonorFor http://vivoweb.org/ontology/core#relates Yes z +http://vivoweb.org/ontology/core#awardsGrant http://vivoweb.org/ontology/core#assigns Yes z +http://vivoweb.org/ontology/core#clinicalRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z +http://vivoweb.org/ontology/core#co-PrincipalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z +http://vivoweb.org/ontology/core#contributingAdvising come back to this +http://vivoweb.org/ontology/core#contributingRole come back to this +http://vivoweb.org/ontology/core#courseOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z +http://vivoweb.org/ontology/core#credentialOf http://vivoweb.org/ontology/core#relates Yes z +http://vivoweb.org/ontology/core#currentMemberOf http://vivoweb.org/ontology/core#memberOf Yes z +http://vivoweb.org/ontology/core#currentlyHeadOf CC or delete? +http://vivoweb.org/ontology/core#currentlyHeadedBy CC or delete? +http://vivoweb.org/ontology/core#degreeCandidacy revisit +http://vivoweb.org/ontology/core#degreeEarned http://vivoweb.org/ontology/core#relates Yes z +http://vivoweb.org/ontology/core#degreeOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z +http://vivoweb.org/ontology/core#degreeOutcomeOf http://vivoweb.org/ontology/core#relatedBy Yes z +http://vivoweb.org/ontology/core#distributes revisit (distributor role?) +http://vivoweb.org/ontology/core#distributesFundingFrom revisit +http://vivoweb.org/ontology/core#domesticGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z +http://vivoweb.org/ontology/core#domesticGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z +http://vivoweb.org/ontology/core#editor CC editorship +http://vivoweb.org/ontology/core#editorOf CC editorship +http://vivoweb.org/ontology/core#editorRoleOf http://purl.obolibrary.org/obo/RO_0000052 z +http://vivoweb.org/ontology/core#educationalTraining http://vivoweb.org/ontology/core#relatedBy z +http://vivoweb.org/ontology/core#educationalTrainingOf http://vivoweb.org/ontology/core#relates z +http://vivoweb.org/ontology/core#eligibleFor revisit +http://vivoweb.org/ontology/core#equipmentInFacility http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" +http://vivoweb.org/ontology/core#eventWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" +http://vivoweb.org/ontology/core#geographicLocationOf http://purl.obolibrary.org/obo/RO_0001015 Yes """location of""" +http://vivoweb.org/ontology/core#geographicallyContains http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" +http://vivoweb.org/ontology/core#geographicallyWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z +http://vivoweb.org/ontology/core#governingAuthorityFor revisit +http://vivoweb.org/ontology/core#grantAwardedBy http://vivoweb.org/ontology/core#assignedBy Yes z +http://vivoweb.org/ontology/core#hasAttendeeRole http://purl.obolibrary.org/obo/RO_0000053 Yes """bearer of""" +http://vivoweb.org/ontology/core#hasClinicalRole http://purl.obolibrary.org/obo/RO_0000053 Yes """bearer of""" +http://vivoweb.org/ontology/core#hasCo-PrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z +http://vivoweb.org/ontology/core#hasCollaborator http://vivoweb.org/ontology/core#relatedBy Yes CC construct Relationship +http://vivoweb.org/ontology/core#hasCredential http://vivoweb.org/ontology/core#relatedBy Yes z +http://vivoweb.org/ontology/core#hasCurrentMember revisit - construct relationship? +http://vivoweb.org/ontology/core#hasEditorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z +http://vivoweb.org/ontology/core#hasGeographicLocation http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" +http://vivoweb.org/ontology/core#hasGoverningAuthority revisit +http://vivoweb.org/ontology/core#hasInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z +http://vivoweb.org/ontology/core#hasLeaderRole http://purl.obolibrary.org/obo/RO_0000053 Yes z +http://vivoweb.org/ontology/core#hasMemberRole http://purl.obolibrary.org/obo/RO_0000053 Yes z +http://vivoweb.org/ontology/core#hasOrganizerRole http://purl.obolibrary.org/obo/RO_0000053 Yes z +http://vivoweb.org/ontology/core#hasOutreachProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes z +http://vivoweb.org/ontology/core#hasPart http://purl.obolibrary.org/obo/BFO_0000051 Yes z +http://vivoweb.org/ontology/core#hasPredecessorOrganization revisit +http://vivoweb.org/ontology/core#hasPresenterRole http://purl.obolibrary.org/obo/RO_0000053 Yes z +http://vivoweb.org/ontology/core#hasPrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z +http://vivoweb.org/ontology/core#hasResearcherRole http://purl.obolibrary.org/obo/RO_0000053 Yes z +http://vivoweb.org/ontology/core#hasReviewerRole http://purl.obolibrary.org/obo/RO_0000053 Yes z +http://vivoweb.org/ontology/core#hasRole http://purl.obolibrary.org/obo/RO_0000053 Yes z +http://vivoweb.org/ontology/core#hasRoom http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" +http://vivoweb.org/ontology/core#hasServiceProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes z +http://vivoweb.org/ontology/core#hasSubOrganization http://purl.obolibrary.org/obo/BFO_0000051 Yes z +http://vivoweb.org/ontology/core#hasSuccessorOrganization revisit +http://vivoweb.org/ontology/core#hasTeacherRole http://purl.obolibrary.org/obo/RO_0000053 Yes z +http://vivoweb.org/ontology/core#inEventSeries http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" +http://vivoweb.org/ontology/core#includesEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z +http://vivoweb.org/ontology/core#informationProduct revisit +http://vivoweb.org/ontology/core#informationProductOf revisit +http://vivoweb.org/ontology/core#informationResourceInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z +http://vivoweb.org/ontology/core#internationalGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z +http://vivoweb.org/ontology/core#internationalGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z +http://vivoweb.org/ontology/core#investigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes """inheres in""" +http://vivoweb.org/ontology/core#issuanceOfCredential http://vivoweb.org/ontology/core#relates Yes z +http://vivoweb.org/ontology/core#issuedCredential http://vivoweb.org/ontology/core#relatedBy Yes z +http://vivoweb.org/ontology/core#leaderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z +http://vivoweb.org/ontology/core#linkedAuthor http://vivoweb.org/ontology/core#relates Yes z +http://vivoweb.org/ontology/core#linkedInformationResource http://vivoweb.org/ontology/core#relates Yes z +http://vivoweb.org/ontology/core#locationOfEquipment http://purl.obolibrary.org/obo/RO_0001015 Yes z +http://vivoweb.org/ontology/core#mailingAddress VCard +http://vivoweb.org/ontology/core#mailingAddressFor VCard +http://vivoweb.org/ontology/core#memberRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z +http://vivoweb.org/ontology/core#offersCourse http://vivoweb.org/ontology/core#offers Yes z +http://vivoweb.org/ontology/core#offersDegree http://vivoweb.org/ontology/core#offers Yes z +http://vivoweb.org/ontology/core#organizationForPosition http://vivoweb.org/ontology/core#relatedBy Yes z +http://vivoweb.org/ontology/core#organizationForTraining http://vivoweb.org/ontology/core#relatedBy Yes z +http://vivoweb.org/ontology/core#organizerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z +http://vivoweb.org/ontology/core#outcome revisit: RO? +http://vivoweb.org/ontology/core#outcomeOf revisit: RO? +http://vivoweb.org/ontology/core#outreachProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z +http://vivoweb.org/ontology/core#partOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z +http://vivoweb.org/ontology/core#personInPosition http://vivoweb.org/ontology/core#relatedBy Yes z +http://vivoweb.org/ontology/core#positionForPerson http://vivoweb.org/ontology/core#relates Yes z +http://vivoweb.org/ontology/core#positionInOrganization http://vivoweb.org/ontology/core#relates Yes z +http://vivoweb.org/ontology/core#presenterRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z +http://vivoweb.org/ontology/core#principalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z +http://vivoweb.org/ontology/core#providesService http://vivoweb.org/ontology/core#offers Yes z +http://vivoweb.org/ontology/core#realizedRole http://purl.obolibrary.org/obo/BFO_0000055 Yes """realizes""" +http://vivoweb.org/ontology/core#receipt http://vivoweb.org/ontology/core#relatedBy Yes z +http://vivoweb.org/ontology/core#receiptOf http://vivoweb.org/ontology/core#relates Yes z +http://vivoweb.org/ontology/core#relatedRole http://vivoweb.org/ontology/core#relates Yes z +http://vivoweb.org/ontology/core#researcherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z +http://vivoweb.org/ontology/core#reviewerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z +http://vivoweb.org/ontology/core#roleContributesTo http://vivoweb.org/ontology/core#relatedBy Yes may not apply in all situations +http://vivoweb.org/ontology/core#roleIn http://purl.obolibrary.org/obo/BFO_0000054 Yes """realized in"" (or delete, since there should be subs?)" +http://vivoweb.org/ontology/core#roleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z +http://vivoweb.org/ontology/core#roleRealizedIn http://purl.obolibrary.org/obo/BFO_0000054 Yes z +http://vivoweb.org/ontology/core#roomWithinBuilding http://purl.obolibrary.org/obo/RO_0001025 Yes double check this +http://vivoweb.org/ontology/core#seriesForEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z +http://vivoweb.org/ontology/core#serviceProvidedBy http://vivoweb.org/ontology/core#offeredBy Yes z +http://vivoweb.org/ontology/core#serviceProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z +http://vivoweb.org/ontology/core#subGrantOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z +http://vivoweb.org/ontology/core#subOrganizationWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z +http://vivoweb.org/ontology/core#teacherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z +http://vivoweb.org/ontology/core#trainingAtOrganization http://vivoweb.org/ontology/core#relates Yes double check this +http://vivoweb.org/ontology/core#webpage VCard? +http://vivoweb.org/ontology/core#webpageOf VCard From 7eb6f92d6991455018c2d4ceb21f0f2cfa6e50b3 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Wed, 21 Aug 2013 11:44:16 -0400 Subject: [PATCH 13/66] improvements to ISF filegraphs --- .../filegraph/tbox/object-properties.owl | 2392 +++++++++++++++++ productMods/WEB-INF/filegraph/tbox/vivo.owl | 128 - .../app/loadedAtStartup/PropertyConfig.n3 | 20 +- 3 files changed, 2395 insertions(+), 145 deletions(-) create mode 100644 productMods/WEB-INF/filegraph/tbox/object-properties.owl diff --git a/productMods/WEB-INF/filegraph/tbox/object-properties.owl b/productMods/WEB-INF/filegraph/tbox/object-properties.owl new file mode 100644 index 00000000..0119a05b --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/object-properties.owl @@ -0,0 +1,2392 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2010-05-01 + United Nations cartographic maps + United Nations cartographic maps http://www.un.org/Depts/Cartographic/map/profile/world00.pdf + http://www.un.org/Depts/Cartographic/map/profile/world00.pdf + + + + + + + + + + + + + + 2010-05-01 + United Nations cartographic maps + United Nations cartographic maps http://www.un.org/Depts/Cartographic/map/profile/world00.pdf + http://www.un.org/Depts/Cartographic/map/profile/world00.pdf + + + + + + + + + + + + + + 2010-04-15 + United Nations Statistics Division + United Nations Statistics Division http://unstats.un.org/unsd/methods/m49/m49chang.htm + http://unstats.un.org/unsd/methods/m49/m49chang.htm + http://unstats.un.org/unsd/methods/m49/m49chgef.htm + + + + + + + + 2010-04-15 + United Nations Statistics Division + United Nations Statistics Division http://unstats.un.org/unsd/methods/m49/m49chang.htm + http://unstats.un.org/unsd/methods/m49/m49chang.htm + http://unstats.un.org/unsd/methods/m49/m49chgef.htm + + + + + + + + relevant_for + + + + + + + + + + has_contact_info + + + + + + + + + contact_info_for + + + + + + + + + + context_for + + + + + + + + + has_context + + + + + + + + url_link_for + + + + + + + + + has_url_link + + + + + + + + has contact agent + + + + + + + + + part_of + + + + + + + + + has_part + + + + + + + + + has measurement unit label + + + + + + + + + + is about + 7/6/2009 Alan Ruttenberg. Following discussion with Jonathan Rees, and introduction of "mentions" relation. Weaken the is_about relationship to be primitive. + +We will try to build it back up by elaborating the various subproperties that are more precisely defined. + +Some currently missing phenomena that should be considered "about" are predications - "The only person who knows the answer is sitting beside me" , Allegory, Satire, and other literary forms that can be topical without explicitly mentioning the topic. + Smith, Ceusters, Ruttenberg, 2000 years of philosophy + This document is about information artifacts and their representations + is_about is a (currently) primitive relation that relates an information artifact to an entity. + person:Alan Ruttenberg + + + + + + + + + + mentions + + + + + + + + + is quality measurement of + 8/6/2009 Alan Ruttenberg: The strategy is to be rather specific with this relationship. There are other kinds of measurements that are not of qualities, such as those that measure time. We will add these as separate properties for the moment and see about generalizing later + Alan Ruttenberg + From the second IAO workshop [Alan Ruttenberg 8/6/2009: not completely current, though bringing in comparison is probably important] + +This one is the one we are struggling with at the moment. The issue is what a measurement measures. On the one hand saying that it measures the quality would include it "measuring" the bearer = referring to the bearer in the measurement. However this makes comparisons of two different things not possible. On the other hand not having it inhere in the bearer, on the face of it, breaks the audit trail. + +Werner suggests a solution based on "Magnitudes" a proposal for which we are awaiting details. +-- +From the second IAO workshop, various comments, [commented on by Alan Ruttenberg 8/6/2009] + +unit of measure is a quality, e.g. the length of a ruler. + +[We decided to hedge on what units of measure are, instead talking about measurement unit labels, which are the information content entities that are about whatever measurement units are. For IAO we need that information entity in any case. See the term measurement unit label] + +[Some struggling with the various subflavors of is_about. We subsequently removed the relation represents, and describes until and only when we have a better theory] + +a represents b means either a denotes b or a describes + +describe: +a describes b means a is about b and a allows an inference of at least one quality of b + +We have had a long discussion about denotes versus describes. + From the second IAO workshop: An attempt at tieing the quality to the measurement datum more carefully. + +a is a magnitude means a is a determinate quality particular inhering in some bearer b existing at a time t that can be represented/denoted by an information content entity e that has parts denoting a unit of measure, a number, and b. The unit of measure is an instance of the determinable quality. + From the second meeting on IAO: + +An attempt at defining assay using Barry's "reliability" wording + +assay: +process and has_input some material entity +and has_output some information content entity +and which is such that instances of this process type reliably generate +outputs that describes the input. + This one is the one we are struggling with at the moment. The issue is what a measurement measures. On the one hand saying that it measures the quality would include it "measuring" the bearer = referring to the bearer in the measurement. However this makes comparisons of two different things not possible. On the other hand not having it inhere in the bearer, on the face of it, breaks the audit trail. + +Werner suggests a solution based on "Magnitudes" a proposal for which we are awaiting details. + m is a quality measurement of q at t when +q is a quality +there is a measurement process p that has specified output m, a measurement datum, that is about q + + + + + + + + + + + is quality measured as + 2009/10/19 Alan Ruttenberg. Named 'junk' relation useful in restrictions, but not a real instance relationship + Person:Alan Ruttenberg + inverse of the relation of is quality measurement of + + + + + + + + + + has_specified_input + 8/17/09: specified inputs of one process are not necessarily specified inputs of a larger process that it is part of. This is in contrast to how 'has participant' works. + PERSON: Bjoern Peters + PERSON: Larry Hunter + PERSON: Melanie Coutot + has_specified_input + A relation between a planned process and a continuant participating in that process that is not created during the process. The presence of the continuant during the process is explicitly specified in the plan specification which the process realizes the concretization of. + PERSON: Alan Ruttenberg + see is_input_of example_of_usage + + + + + + + + + + has_specified_output + PERSON: Bjoern Peters + PERSON: Larry Hunter + PERSON: Melanie Courtot + has_specified_output + A relation between a planned process and a continuant participating in that process. The presence of the continuant at the end of the process is explicitly specified in the objective specification which the process realizes the concretization of. + PERSON: Alan Ruttenberg + + + + + + + + + + + is_realized_by + GROUP:OBI:<http://obi.sourceforge.net> + PERSON: Chris Mungall + Relation between a realizable and a process. Reciprocal relation of realizes [GOC:cjm] + executed_during + has_realization + is_realized_as + + + + + + + + + + + is_manufactured_by + Alan Ruttenberg + Liju Fan + c is_manufactured_by o means that there was a process p in which c was built in which a person, or set of people or machines did the work(bore the "Manufacturer Role", and those people/and or machines were members or of directed by the organization to do this. + has_make + has_manufacturer + http://www.affymetrix.com/products/arrays/specific/hgu133.affx is_manufactered_by http://www.affymetrix.com/ (if we decide to use these URIs for the actual entities) + is_manufactured_by + + + + + + + + + + + + + + + + + has_function + GROUP:OBI:<http://obi.sourceforge.net> + PERSON: Chris Mungall + Relation between an independent continuant and a function. + has_function + heart has_function to-pump-blood + + + + + + + + + + + + realizes + GROUP:OBI:<http://obi.sourceforge.net> + PERSON: Chris Mungal + Relation between a process and a function, where the unfolding of the +process requires the execution of the function. Class level: P realizes F iff: +given any p that instantiates P, there exists some f, t such that f instantiates + F at t and p *realizes* f. Here, *realizes* is the primitive +instance level relation [GOC:cjm] + example of usage: The process of 'histidine catabolism' (GO:0006548) realizes the +function 'histidine ammonia lyase activity' (GO:0004397) (note: here 'activity' +denotes a function and not a process). We leave open the possibility of defining +in future the sub-relations directly_realizes (as bewteen a function and it's +functioning) and indirectly_realizes. + executes + has_function_part + involves_execution_of + is_realization_of + realizes + + + + + + + + + + + + is_specified_output_of + PERSON:Bjoern Peters + is_specified_output_of + A relation between a planned process and a continuant participating in that process. The presence of the continuant at the end of the process is explicitly specified in the objective specification which the process realizes the concretization of. + Alan Ruttenberg + + + + + + + + + + has_role + A relation between a continuant C and a role R. The reciprocal relation of role_of. + GROUP:OBI:<http://obi.sourceforge.net> + PERSON:Chris Mungal + has_role + + + + + + + + + + + + achieves_planned_objective + A cell sorting process achieves the objective specification 'material separation objective' + BP, AR, PPPB branch + PPPB branch derived + This relation obtains between a planned process and a objective specification when the criteria specified in the objective specification are met at the end of the planned process. + modified according to email thread from 1/23/09 in accordince with DT and PPPB branch + + + + + + + + + + has grain + PAPER: Granularity, scale and collectivity: When size does and does not matter, Alan Rector, Jeremy Rogers, Thomas Bittner, Journal of Biomedical Informatics 39 (2006) 333-349 + has grain + the relation of the cells in the finger of the skin to the finger, in which an indeterminate number of grains are parts of the whole by virtue of being grains in a collective that is part of the whole, and in which removing one granular part does not nec- essarily damage or diminish the whole. Ontological Whether there is a fixed, or nearly fixed number of parts - e.g. fingers of the hand, chambers of the heart, or wheels of a car - such that there can be a notion of a single one being missing, or whether, by contrast, the number of parts is indeterminate - e.g., cells in the skin of the hand, red cells in blood, or rubber molecules in the tread of the tire of the wheel of the car. + Discussion in Karslruhe with, among others, Alan Rector, Stefan Schulz, Marijke Keet, Melanie Courtot, and Alan Ruttenberg. Definition take from the definition of granular parthood in the cited paper. Needs work to put into standard form + PERSON: Alan Ruttenberg + + + + + + + + + + objective_achieved_by + This relation obtains between a a objective specification and a planned process when the criteria specified in the objective specification are met at the end of the planned process. + definition needs clean up to indicate directionality + + + + + + + + + + + + inheres in + This clarifies that only specifically dependent continuants inhere in (specifically) one independent continuant over all time. For GDCs, there in implicitly inherence to all the independent continuants in which the concretizations inhere. Should add a 'cardinality 1' restriction to the definition of specifically dependent continuant. + This relation belongs in BFO/RO, and will be in BFO 2 + + + + + + + + + + + bearer_of + + + + + + + + participates in + + + + + + + + has participant + + + + + + + + derives from (ro) + + + + + + + + location of + + + + + + + + contained in + + + + + + + + contains + + + + + + + + located in + + + + + + + + adjacent to + + + + + + + + has input + + + + + + + + + has output + + + + + + + + + member of + + + + + + + + has_member + + + + + + + + + + output_of + + + + + + + + + produces + Melissa Haendel + a produces b if some process that occurs_in a has_output b, where a and b are material entities. Examples: hybridoma cell line produces monoclonal antibody reagent; chondroblast produces avascular GAG-rich matrix. + + + + + + + + + + + produced_by + + + + + + + + + + + is agent in + + + + + + + + + + + + + + + + role_of + A relation between a role R and an entity E. R role_of E iff: R inheres_in E and R is a role + GROUP:OBI:<http://obi.sourceforge.net> + PERSON: Chris Mungall + role_of + + + + + + + + + + + affirmedby + The public description was taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + http://purl.org/ontology/bibo/ + A legal decision that affirms a ruling. + + + + + + + + annotates + The public description source is: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html. + http://purl.org/ontology/bibo/ + stable + Critical or explanatory note for a Document. + + + + + + + + cited by + + + + + + + + cites + + + + + + + + court + Public description take from: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html. Bibo considers this property "unstable". + http://purl.org/ontology/bibo/ + unstable + A court associated with a legal document; for example, that which issues a decision. + + + + + + + + related degree + The source of the public description and this info is found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html. Bibo considers this term "unstable". The bibo editorial note is: "We are not defining, using an enumeration, the range of the bibo:degree to the defined list of bibo:ThesisDegree. We won't do it because we want people to be able to define new degress if needed by some special usecases. Creating such an enumeration would restrict this to happen." + http://purl.org/ontology/bibo/ + The thesis degree. + We are not defining, using an enumeration, the range of the bibo:degree to the defined list of bibo:ThesisDegree. We won't do it because we want people to be able to define new degress if needed by some special usecases. Creating such an enumeration would restrict this to happen. + unstable + + + + + + + + director + Definition take from this site: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . + http://purl.org/ontology/bibo/ + A Film director. + stable + + + + + + + + interviewee + http://purl.org/ontology/bibo/ + stable + An agent that is interviewed by another agent. + + + + + + + + interviewer + http://purl.org/ontology/bibo/ + stable + An agent that interview another agent. + + + + + + + + performer + http://purl.org/ontology/bibo/ + stable + + + + + + + + related documents + Public Description from source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . Bibo considers the bibo:presents and the bibo:presentedAt unstable terms. It also indicates that bibo:presents is a sub-property of event:product. + http://purl.org/ontology/bibo/ + Relates an event to associated documents; for example, conference to a paper. + unstable + + + + + + + + recipient + http://purl.org/ontology/bibo/ + stable + An agent that receives a communication document. + + + + + + + + reproduced in + + + + + + + + reversedby + The first sentence of the public description was taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + http://purl.org/ontology/bibo/ + A legal decision that reverses a ruling. + + + + + + + + review of + The bibo:reviewOf public description was found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . As of 26 May 2010, bibo:reviewOf is used with the class Review, but core:reviewIn doesn't seem to be being used. + + + + + + + + status + paraphrased editorial note from the bibo ontology: We are not defining, using an enumeration, the range of the bibo:status to be a defined list of bibo:DocumentStatus. This is because we want people to be able to define new statuses if needed; and creating such an enumeration would prevent this. + + + + + + + + subsequentlegaldecision + Public description is from comments of this object property in bibo ontology located here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + http://purl.org/ontology/bibo/ + A legal decision on appeal that takes action on a case (affirming it, reversing it, etc.). + + + + + + + + transcript of + The bibo:transcriptOf public description was found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . Bibo considers this term unstable. + http://purl.org/ontology/bibo/ + Relates a document to some transcribed original. + unstable + + + + + + + + translation of + Examples shows a book has French language version. Public description source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . + http://purl.org/ontology/bibo/ + Relates a translated document to the original document. + stable + + + + + + + + translator + + + + + + + + has_global_citation_frequency + A property linking a publication entity to an instance of c40:GlobalCitationCount that specifies how many times a work has been cited by others, according to a particular information source on a particular date. + + + + + + + + has global count source + A property linking an instance of c40:GlobalCitationCount to the bibliographic information source providing the global citation count information for a particular publication on a particular date. + + + + + + + + assigned by + Relates a Relationship (as a predicate or n-ary relation over one or more Thing) to an Agent that defined or instantiated the predicate instance. + + + + + + + + assigns + + + + + + + + date filed + + + + + + + + + + + date issued + + + + + + + + + + has date/time interval + + + + + + + + + date/time precision + + + + + + + + + date/time value + + + + + + + + + end date value + + + + + + + + + + + expiration date + + + + + + + + + features + This is done through a restriction on the foaf:Person class. + + + + + + + + geographic focus + + + + + + + + + geographic focus of + + + + + + + + + geographic_location_of + + + + + + + + subcontracted through + + + + + + + + + + associated concept + + + + + + + + has geographic location + Currently being used by a restriction on organization. + + + + + + + + + has prerequisite + + + + + + + + + + published in + + + + + + + + successor organization + + + + + + + + + + has translation + Examples shows a book has French language version. Public description source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . + + + + + + + + offered by + + + + + + + + offers + + + + + + + + prerequisite for + + + + + + + + + + provides funding through + For example, National Science Foundation providesFundingThrough Graduate Research Fellowship Program; National Institutes of Health providesFundingThrough National Center for Research Resources. + + + + + + + + + + publication venue for + + + + + + + + publisher (vivo op) + Public Definition source (http://www.answers.com/topic/publisher). + + + + + + + + + publisher of + Public Definition source (http://www.answers.com/topic/publisher). + + + + + + + + + related by + Relates a Thing to a Relationship as a Thing that is somehow related to other Thing in the same Relationship instance. A Relationship instnace is a predicate over Thing and is created by an Agent. + + + + + + + + relates + Relates a Relationship instance to the one or more Thing of the Relationship. There is a separate property (assigned by) to relate to the Agent that defines the Relationship. + + + + + + + + reviewed_in + + + + + + + + start date value + + + + + + + + + + + subcontracts grant + + + + + + + + + + translator of + + + + + + + + access provided by + + + + + + + + documentation for + + + + + + + + protocol realized by + + + + + + + + implements + + + + + + + + is_encoded_in + + + + + + + + + + + + + + + + + has_agent + + + + + + + + deprecatedproperty + + + + + + + + + + + + + + broader term + Public description modified from the information on this page: http://www.w3.org/TR/2005/WD-swbp-skos-core-guide-20050510/#sechierarchy . + + + + + + + + narrower term + Public description modified from the information on this page: http://www.w3.org/TR/2005/WD-swbp-skos-core-guide-20050510/#sechierarchy . + + + + + + + + related (skos) + + + + + + + + has address + + + + + + + + + has calendar link + + + + + + + + + has calendar request + + + + + + + + + has calender busy + + + + + + + + + has category + + + + + + + + + has email + + + + + + + + + has formatted name + + + + + + + + + has geo + + + + + + + + + has messaging + + + + + + + + + has key + + + + + + + + + has language (vcard op) + + + + + + + + + has logo + + + + + + + + + member + To include a member in the group this vCard represents + + + + + + + + + + + + + + + + + + has name + + + + + + + + + has nickname + + + + + + + + + has note + + + + + + + + + has organization name + + + + + + + + + has organisational unit name + + + + + + + + + has photo + + + + + + + + + has related (vcard op) + + + + + + + + + has role + + + + + + + + + has sound + + + + + + + + + has telephone + + + + + + + + + has time zone + + + + + + + + + has title + + + + + + + + + has url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + realizable_entity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + research project + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + monoclonal antibody reagent + + + + + + + + construct + + + + + + + + + + + + + + + + + + + + viral plasmid + + + + + + + + nucleic acid reagent + + + + + + + + + + + + + + non viral organism + + + + + + + + reagent library + + + + + + + + gene knockdown reagent + + + + + + + + hybridoma cell line + + + + + + + + immunotechnique + + + + + + + + material antibody target + + + + + + + + biological target + + + + + + + + immunogenic material + + + + + + + + data + + + + + + + + biospecimen preparation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + objective specification + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mammalian phenotype + + + + + + + + + + + + + + homo sapiens + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + microarray + + + + + + + + disease + + + + + + + + pato quality + + + + + + + + + + + + + + anatomical entity + + + + + + + + event + + + + + + + + phase (ocre) + + + + + + + + + + + + + + patent + + + + + + + + association + + + + + + + + center + + + + + + + + consortium + + + + + + + + core laboratory + + + + + + + + course + + + + + + + + + + + + + + + + + + + + foundation + + + + + + + + funding organization + + + + + + + + geographic location + + + + + + + + geographic region + + + + + + + + grant + + + + + + + + institute + + + + + + + + laboratory + + + + + + + + library + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + agent + + + + + + + + + + + + + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/vivo.owl b/productMods/WEB-INF/filegraph/tbox/vivo.owl index f40fa8f8..4a3dd43c 100644 --- a/productMods/WEB-INF/filegraph/tbox/vivo.owl +++ b/productMods/WEB-INF/filegraph/tbox/vivo.owl @@ -49,134 +49,6 @@ - - - - part_of (RO) - - - - - - - - has_part (RO) - - - - - - - - inheres in - - - - - - - - bearer of - - - - - - - - - participates in - - - - - - - - has participant - - - - - - - - is about - - - - - - - - location of - - - - - - - - - located in - - - - - - - - has input - - - - - - - - - has output - - - - - - - - - member of - - - - - - - - - has member - - - - - - - - - - - - - - - - - - - - - - - diff --git a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 index 5dc1150d..1a99c7fc 100644 --- a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 +++ b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 @@ -40,10 +40,10 @@ local:authorInAuthorshipConfig a :ObjectPropertyDisplayConfig ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddPublicationToPersonGenerator"^^xsd:string ; :propertyGroup . - a :ConfigContext ; + a :ConfigContext ; :hasConfiguration ; - :configContextFor ; - :qualifiedBy . + :configContextFor ; + :qualifiedBy . a :ObjectPropertyDisplayConfig ; @@ -54,17 +54,3 @@ local:authorInAuthorshipConfig a :ObjectPropertyDisplayConfig ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddServiceProviderRoleToPersonGenerator"^^ ; :propertyGroup . - - a :ConfigContext ; - :hasConfiguration ; - :configContextFor ; - :qualifiedBy . - - - a :ObjectPropertyDisplayConfig ; - :displayName "resident of awesome country" ; - vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; - vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; - :propertyGroup . - - From 32301864159ff7553f387207659ce11751d48b4e Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Wed, 21 Aug 2013 16:25:17 -0400 Subject: [PATCH 14/66] in-process update of TBox filegraphs for latest ISF --- productMods/WEB-INF/filegraph/tbox/agent.owl | 960 +++++++ .../WEB-INF/filegraph/tbox/bfo-bridge.owl | 437 +++ productMods/WEB-INF/filegraph/tbox/bfo.owl | 32 + productMods/WEB-INF/filegraph/tbox/bfo11.owl | 554 ---- .../WEB-INF/filegraph/tbox/clinical.owl | 249 ++ .../WEB-INF/filegraph/tbox/contact-vcard.owl | 2377 ++++++++++++++++ .../WEB-INF/filegraph/tbox/contact.owl | 101 + .../filegraph/tbox/data-properties.owl | 2450 +++++++++++++++++ .../WEB-INF/filegraph/tbox/date-time.owl | 130 + .../WEB-INF/filegraph/tbox/education.owl | 453 +++ productMods/WEB-INF/filegraph/tbox/event.owl | 198 ++ .../WEB-INF/filegraph/tbox/geo-political.owl | 1176 ++++++++ .../geopolitical.tbox.ver1.1-11-18-11.owl | 1870 ------------- productMods/WEB-INF/filegraph/tbox/grant.owl | 113 + .../WEB-INF/filegraph/tbox/location.owl | 148 + .../filegraph/tbox/object-properties.owl | 1409 ++++------ productMods/WEB-INF/filegraph/tbox/other.owl | 111 + .../WEB-INF/filegraph/tbox/outreach.owl | 61 + .../WEB-INF/filegraph/tbox/process.owl | 85 + .../WEB-INF/filegraph/tbox/publication.owl | 1230 +++++++++ .../WEB-INF/filegraph/tbox/relationship.owl | 192 ++ .../filegraph/tbox/research-resource-iao.owl | 709 +++++ .../filegraph/tbox/research-resource.owl | 1323 +++++++++ .../WEB-INF/filegraph/tbox/research.owl | 565 ++++ productMods/WEB-INF/filegraph/tbox/role.owl | 94 + .../filegraph/tbox/scires-public-1.5.owl | 233 -- .../WEB-INF/filegraph/tbox/service.owl | 14 + .../WEB-INF/filegraph/tbox/teaching.owl | 76 + .../filegraph/tbox/vivo-bibo-public-1.5.owl | 1585 ----------- .../filegraph/tbox/vivo-c4o-public-1.5.owl | 62 - .../filegraph/tbox/vivo-core-public-1.5.owl | 2155 --------------- .../tbox/vivo-dcelements-public-1.5.owl | 41 - .../tbox/vivo-dcterms-public-1.5.owl | 47 - .../filegraph/tbox/vivo-event-public-1.5.owl | 165 -- .../filegraph/tbox/vivo-fabio-public-1.5.owl | 51 - .../filegraph/tbox/vivo-foaf-public-1.5.owl | 196 -- .../filegraph/tbox/vivo-pws-public-1.5.owl | 41 - .../filegraph/tbox/vivo-skos-public-1.5.owl | 54 - productMods/WEB-INF/filegraph/tbox/vivo.owl | 682 ----- 39 files changed, 13865 insertions(+), 8564 deletions(-) create mode 100644 productMods/WEB-INF/filegraph/tbox/agent.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/bfo-bridge.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/bfo.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/bfo11.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/clinical.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/contact-vcard.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/contact.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/data-properties.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/date-time.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/education.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/event.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/geo-political.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/geopolitical.tbox.ver1.1-11-18-11.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/grant.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/location.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/other.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/outreach.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/process.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/publication.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/relationship.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/research-resource-iao.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/research-resource.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/research.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/role.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/scires-public-1.5.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/service.owl create mode 100644 productMods/WEB-INF/filegraph/tbox/teaching.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-bibo-public-1.5.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-c4o-public-1.5.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-core-public-1.5.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-dcelements-public-1.5.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-dcterms-public-1.5.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-event-public-1.5.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-fabio-public-1.5.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-foaf-public-1.5.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-pws-public-1.5.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo-skos-public-1.5.owl delete mode 100644 productMods/WEB-INF/filegraph/tbox/vivo.owl diff --git a/productMods/WEB-INF/filegraph/tbox/agent.owl b/productMods/WEB-INF/filegraph/tbox/agent.owl new file mode 100644 index 00000000..fea2366e --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/agent.owl @@ -0,0 +1,960 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + topic weight measurement + + + + + + + + + expertise measurement + + + + + + + + + topic weight measurement process + + + + + + + + + expertise measurement process + + + + + + + + + experience + + + + + + + + + specialty + + + + + + + + + + hospital units + + + + + + + + + hospitals + + + + + + + + + laboratories + + + + + + + + + technology transfer office + + An organization that provides services for commercialization and licensing of technologies at an institution. + PERSON: Nicole Vasilevsky + PERSON: Nicole Vasilevsky + Technology Transfer Office + + + + + + + + + manufacturer role + + + + + + + + + + + + + + + + + + + + + GROUP: Role Branch + Manufacturer role is a role which inheres in a person or organization and which is realized by a manufacturing process. + OBI + With respect to The Accuri C6 Flow Cytometer System, the organization Accuri bears the role manufacturer role. With respect to a transformed line of tissue culture cells derived by a specific lab, the lab whose personnel isolated the cll line bears the role manufacturer role. With respect to a specific antibody produced by an individual scientist, the scientist who purifies, characterizes and distributes the anitbody bears the role manufacturer role. + manufacturer role + + + + + + + + + + manufacturer + + + + + + + + + + + + + + + + + + A person or organization that has a manufacturer role + + + + + + + + + academic department + + A distinct, usually specialized educational unit within an educational organization. + Endodontics (department within a College of Dentistry); English (department within a College of Liberal Arts) + + + + + + + + + association + + A formal organization of people or groups of people around a subject or practice. + A group of persons or organizations organized for a common purpose. + Special Libraries Association; Association for Computing Machinery(ACM); American Medical Informatics Association(AMIA) + + + + + + + + + center + + A place where a particular activity or service is concentrated. + Alchohol Education Center; Center for Arts and Public Policy; Hearing Research Center + An organization where a specified activity is concentrated. + Short Definition take from http://www.thefreedictionary.com/center. + + + + + + + + + clinical organization + + Any organization that offers significant health services or routinely provides medical care to patients. + Any organization with a significant clinical function as a matter of course and not just through occasional clinical roles + In the future we may be able to make this a defined class that would not need to be directly asserted, but the consensus seems to be that some organizations "are" clinical and some "are" research organizations and that the distinction is important enough to warrant the additional class and class assertions + + + + + + + + + college + + A primary academic unit within a University or a free-standing higher education organization without graduate degree programs + A primary academic unit within a University or a free-standing higher education organization without graduate degree programs. + College of Arts & Sciences; Ivy Tech Community College + + + + + + + + + committee + + A group of people organized for a specific purpose (e.g., a reporting or advisory role), often with a charge and for a specific duration + A group of people organized for a specific purpose, whose members are often selected from a larger group to serve for designated periods of time. + Curriculum Steering Committee; PhD Advisory Committee + There could be many subclasses such as thesis committee or tenure committee, but these may typically be differentiated via the moniker unless distinct properties become important. + + + + + + + + + company + + A legally-recognized business organization + A legally-recognized business organization. + from Wikipedia: "A company is a form of business organization. It is an association or collection of individual real persons and/or other companies ... This collection, group or association of persons can be made to exist in law and then a company is itself considered a "legal person". The name company arose because, at least originally, it represented or was owned by more than one real or legal person." + + + + + + + + + consortium + + A group of independent organizations working together toward a common goal, under an expressed agreement. + Committee on Institutional Cooperation (CIC); The Five Colleges of Ohio + + + + + + + + + core laboratory + + A lab providing services such as training, protocols, or access to instruments or software + + + + + + + + department + + A unit within a larger organization that addresses a specific subject or area of activity. + Definition modified from the definition here: http://dictionary.reference.com/browse/department. It is difficult to tell the difference between and department and a division. + Legal (department within a company); Use for any non-academic department + + + + + + + + + division + + + A major unit or section within a larger organization. + Cardiovascular Medicine (division within medicine) + Definition modified from http://www.thefreedictionary.com/division. It is difficult to tell the difference between a division and a department. + + + + + + + + + extension unit + + A unit devoted primarily to extension activities, whether for outreach or research + A unit devoted primarily to extension activities, whether for outreach or research. + Alachua County Extension Office + + + + + + + + + foundation + + An institution founded with an endowment to support educational, research, artistic or other charitable activities. + Definition take from: http://dictionary.reference.com/browse/foundation. + The Ford Foundation + + + + + + + + + funding organization + + A defined class of organizations that fund Grants + An organization that provides financial support to individuals or organizations to carry out specified activities. + National Institute of Health (NIH) + + + + + + + + + government agency + + A unit of government responsible for oversight and regulation of certain activities or the administration and provision of specific services. + Definition take from: http://en.wikipedia.org/wiki/Government_agency. + United States Library of Congress + + + + + + + + + graduate student + + A person who has already received a bachelor's degree and is working toward a Master's or Doctoral degree. + + + + + + + + hospital + + An institution that provides medical, surgical, psychiatric or nursing care. + Definition take from: http://dictionary.reference.com/browse/hospital. + Shands at the University of Florida + + + + + + + + + institute + + An Institute normally has a research focus but may also fulfill instructional or outreach roles + An organization founded to pursue or promote certain research, educational or public policy interests or activities. + Institute for Fundamental Theory + + + + + + + + + laboratory + + An organization unit that facilitates or conduits observation, testing, experimentation, or research in a field of study or practice. + An organizational unit (as opposed to the physical facility) that performs research, provides services, or processes materials + + + + + + + + + library + + An organization maintaining one or more collections of physical and/or electronic information resources for access or lending. + Marston Science Library + Used information from this definition: http://dictionary.reference.com/browse/library. + + + + + + + + + museum + + An organization devoted to the acquisition, conservation, study, exhibition, and educational interpretation of objects having scientific, historical, cultural or artistic value. + Definition was take from here: http://dictionary.reference.com/browse/museum + The Getty Museum + + + + + + + + + private company + + A private company is one that is privately-owned, and thus, is not publicly-traded in the stock market. Members of the general public cannot purchase stock in a private company unless that company chooses to go public and become a public company. + Definition obtained here: http://answers.ask.com/Business/Finance/what_is_a_private_company. Examples of private companies found here: http://www.forbes.com/2008/11/03/largest-private-companies-biz-privates08-cx_sr_1103private_land.html + Publix Super Markets; Ernst & Young; PricewaterhouseCoopers + + + + + + + + + program + + A Cornell graduate field (http://vivo.cornell.edu/index.jsp?home=65535&collection=820) + An ongoing academic initiative not formalized with department or division status. + + + + + + + + + publisher (vivo) + + A person or company whose business is the publishing of books, periodicals, engravings, computer software, etc. + Definition found here: http://dictionary.reference.com/browse/publisher + Elsevier; Harper & Row; Indiana University Press + + + + + + + + + research organization + + Any organization (likely also asserted as another class of Organization) with a primary, ongoing research function, not just through occasional roles + + + + + + + + + school + + An institution for instruction in a particular skill or field. + Definition take from here: http://dictionary.reference.com/browse/school. + School of Architecture; School of Music + + + + + + + + + service providing lab + + A laboratory that provides services + Ideally a defined class -- a Laboratory the provides some Service via the property + + + + + + + + + student + + A person who is enrolled in an educational institution. + Use only if no specific subclasses of core:Student describe the person. + + + + + + + + student organization + + A student organization is an organization, operated by students at a university, whose membership normally consists only of students. + Dancin' Gators + Definition take from here: http://en.wikipedia.org/wiki/Student_society + + + + + + + + + team + + A group of people working together. + An informal organization brought together for the purposes of a project or event + VIVO Outreach Team; VIVO Ontology Team + + + + + + + + + undergraduate student + + A person registered in an undergraduate program leading to a bachelor's degree or an undergraduate diploma or certificate. + + + + + + + + university + + An institution of higher education and research, which grants academic degrees in a variety of subjects, and provides both undergraduate education and postgraduate education. + Definition taken from: http://en.wikipedia.org/wiki/University + University of Florida; Washington University in St. Louis + + + + + + + + + + + + + + + agent (foaf) + + + Agents are things that do stuff + An agent + PERSON: Scott Hoffmann + Things that do stuff. + agent + see: http://xmlns.com/foaf/spec/#term_Agent + Used to describe any "agent" related to bibliographic items. Such agents can be persons, organizations or groups of any kind. + + + + + + + + group (foaf) + + A collection of individual agents (and may itself play the role of a Agent, ie. something that can perform actions). + A collection of individual agents. + A group + A group can also be an organization but need not be; typically used for looser associations of people or organizations acting together in some fashion, not necessarily through formal agreement or on a long-term basis. Added to the VIVO ontology to be able to support informal and perhaps even private groups of people around an idea, funding opportunity, or event. + +see: http://xmlns.com/foaf/spec/#term_Group + PERSON: Scott Hoffmann + group + + + + + + + + organization + + + A generic class encompassing several types of organizations. + A kind of Agent corresponding to social instititutions such as companies, societies etc. + An organization + Only use if no specific subclasses of foaf:organization desribe the organization. + PERSON: Scott Hoffmann + This class will display all the instances in the subclasses below it, as well as any organizations that were added as part of this generic class because there wasn't a specific class available. + organization + Ued to describe an organization related to bibliographic items such as a publishing company, etc. + + + + + + + + person + + + A person + An instance of a human being (Homo sapiens) + PERSON: Melissa Haendel + The most general classification of a person + person + + + + + + + + + + + + + + american board of allergy and immunology + + + + + + + + + american board of anesthesiology + + + + + + + + + american board of colon and rectal surgery + + + + + + + + + american board of dermatology + + + + + + + + + american board of emergency medicine + + + + + + + + + american board of family medicine + + + + + + + + + american board of internal medicine + + + + + + + + + american board of medical genetics + + + + + + + + + american board of neurological surgery + + + + + + + + + american board of nuclear medicine + + + + + + + + + american board of obstetrics and gynecology + + + + + + + + + american board of ophthalmology + + + + + + + + + american board of orthopaedic surgery + + + + + + + + + american board of otolaryngology + + + + + + + + + american board of pathology + + + + + + + + + american board of pediatrics + + + + + + + + + american board of physical medicine and rehabilitation + + + + + + + + + american board of plastic surgery + + + + + + + + + american board of preventive medicine + + + + + + + + + american board of psychiatry and neurology + + + + + + + + + american board of radiology + + + + + + + + + american board of surgery + + + + + + + + + american board of thoracic surgery + + + + + + + + + american board of urology + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/bfo-bridge.owl b/productMods/WEB-INF/filegraph/tbox/bfo-bridge.owl new file mode 100644 index 00000000..d3f42a1a --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/bfo-bridge.owl @@ -0,0 +1,437 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + entity + + + + + + + + continuant + + + + + + + + + occurrent + + + + + + + + + independent_continuant + + + + + + + + + spatial region + + + + + + + + + temporal region + + + + + + + + + process + + + + + + + + + disposition (bfo) + + + + + + + + + + + + + + + + + quality + + + + + + + + + specifically_dependent_continuant + + + + + + + + + role (bfo) + + + + + + + + + site + + + + + + + + + generically dependent continuant + + + + + + + + + function + + + + + + + + + one-dimensional temporal region + + + + + + + + + material_entity + + + + + + + + + immaterial entity + + + + + + + + + zero-dimensional temporal region + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + administrator role + + + + + + + + + advising process + + + + + + + + + + + + + + + + + attending process + + + + + + + + + + + + + + + + + + + + + + + + + editor role + + + + + + + + + educational process + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + organizer role + + + + + + + + + organizing process + + + + + + + + + outreach provider role + + + + + + + + + presenter role + + + + + + + + + presenting process + + + + + + + + + + + + + + + + + + + + + + + + + reviewer role + + + + + + + + + teacher role + + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/bfo.owl b/productMods/WEB-INF/filegraph/tbox/bfo.owl new file mode 100644 index 00000000..7bdff289 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/bfo.owl @@ -0,0 +1,32 @@ + + + + + + + realizable entity + + + (forall (x t) (if (RealizableEntity x) (exists (y) (and (IndependentContinuant y) (not (SpatialRegion y)) (bearerOfAt y x t))))) // axiom label in BFO2 CLIF: [060-002] + (forall (x) (if (RealizableEntity x) (and (SpecificallyDependentContinuant x) (exists (y) (and (IndependentContinuant y) (not (SpatialRegion y)) (inheresIn x y)))))) // axiom label in BFO2 CLIF: [058-002] + RealizableEntity + All realizable dependent continuants have independent continuants that are not spatial regions as their bearers. (axiom label in BFO2 Reference: [060-002]) + To say that b is a realizable entity is to say that b is a specifically dependent continuant that inheres in some independent continuant which is not a spatial region and is of a type instances of which are realized in processes of a correlated type. (axiom label in BFO2 Reference: [058-002]) + realizable + the disposition of this piece of metal to conduct electricity. + the disposition of your blood to coagulate + the function of your reproductive organs + the role of being a doctor + the role of this boundary to delineate where Utah and Colorado meet + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/bfo11.owl b/productMods/WEB-INF/filegraph/tbox/bfo11.owl deleted file mode 100644 index 7246bf0c..00000000 --- a/productMods/WEB-INF/filegraph/tbox/bfo11.owl +++ /dev/null @@ -1,554 +0,0 @@ - - - - - - - - - - - - - - -]> - - - - Basic Formal Ontology (BFO) - Holger Stenzhorn - Andrew Spear - Pierre Grenon - Alan Ruttenberg - Institute for Formal Ontology and Medical Information Science (IFOMIS) - http://creativecommons.org/licenses/by/3.0 - &base; - application/rdf+xml - en - Barry Smith: "Against Fantology" - Barry Smith: "Beyond Concepts: Ontology as Reality Representation" - Pierre Grenon and Barry Smith: "SNAP and SPAN: Towards Geospatial Dynamics" - Pierre Grenon, Barry Smith and Louis Goldberg: "Biodynamic Ontology: Applying BFO in the Biomedical Domain" - Barry Smith and Pierre Grenon: "The Cornucopia of Formal Ontological Relations" - Barry Smith: "Basic Tools of Formal Ontology" - Pierre Grenon: "Spatio-temporality in Basic Formal Ontology: SNAP and SPAN, Upper-Level Ontology, and Framework for Formalization" - Pierre Grenon: "BFO in a Nutshell: A Bi-categorial Axiomatization of BFO and Comparison with DOLCE" - Pierre Grenon: "Nuts in BFO's Nutshell: Revisions to the Bi-categorial Axiomatization of BFO" - 1.1 - - - - - - - - - - - - - entity - - - - - - - - - - - - - - - - - - - - - - - - - - - continuant - Definition: An entity [bfo:Entity] that exists in full at any time in which it exists at all, persists through time while maintaining its identity and has no temporal parts. - Examples: a heart, a person, the color of a tomato, the mass of a cloud, a symphony orchestra, the disposition of blood to coagulate, the lawn and atmosphere in front of our building - Synonyms: endurant - - - - - - - - - - - - - - - dependent_continuant - Definition: A continuant [snap:Continuant] that is either dependent on one or other independent continuant [snap:IndependentContinuant] bearers or inheres in or is borne by other entities. - - - - - - - disposition - Definition: A realizable entity [snap:RealizableEntity] that essentially causes a specific process or transformation in the object [snap:Object] in which it inheres, under specific circumstances and in conjunction with the laws of nature. A general formula for dispositions is: X (object [snap:Object] has the disposition D to (transform, initiate a process) R under conditions C. - Examples: the disposition of vegetables to decay when not refrigerated, the disposition of a vase to brake if dropped, the disposition of blood to coagulate, the disposition of a patient with a weakened immune system to contract disease, the disposition of metal to conduct electricity. - - - - - - - fiat_object_part - Definition: A material entity [snap:MaterialEntity] that is part of an object [snap:Object] but is not demarcated by any physical discontinuities. - Examples: upper and lower lobes of the left lung, the dorsal and ventral surfaces of the body, the east side of Saarbruecken, the lower right portion of a human torso - Synonyms: fiat substance part - - - - - - - function - Definition: A realizable entity [snap:RealizableEntity] the manifestation of which is an essentially end-directed activity of a continuant [snap:Continuant] entity in virtue of that continuant [snap:Continuant] entity being a specific kind of entity in the kind or kinds of contexts that it is made for. - Examples: the function of a birth canal to enable transport, the function of the heart in the body: to pump blood, to receive de-oxygenated and oxygenated blood, etc., the function of reproduction in the transmission of genetic material, the digestive function of the stomach to nutriate the body, the function of a hammer to drive in nails, the function of a computer program to compute mathematical equations, the function of an automobile to provide transportation, the function of a judge in a court of law - - - - - - generically_dependent_continuant - Definition: A continuant [snap:Continuant] that is dependent on one or other independent continuant [snap:IndependentContinuant] bearers. For every instance of A requires some instance of (an independent continuant [snap:IndependentContinuant] type) B but which instance of B serves can change from time to time. - Examples: a certain PDF file that exists in different and in several hard drives - - - - - - - - - - - - - - - - independent_continuant - Definition: A continuant [snap:Continuant] that is a bearer of quality [snap:Quality] and realizable entity [snap:RealizableEntity] entities, in which other entities inhere and which itself cannot inhere in anything. - Examples: an organism, a heart, a leg, a person, a symphony orchestra, a chair, the bottom right portion of a human torso, the lawn and atmosphere in front of our building - Synonyms: substantial entity - - - - - - - - - - - - - - - - material_entity - Definition: An independent continuant [snap:IndependentContinuant] that is spatially extended whose identity is independent of that of other entities and can be maintained through time. Note: Material entity [snap:MaterialEntity] subsumes object [snap:Object], fiat object part [snap:FiatObjectPart], and object aggregate [snap:ObjectAggregate], which assume a three level theory of granularity, which is inadequate for some domains, such as biology. - Examples: collection of random bacteria, a chair, dorsal surface of the body - - - - - - - object - Definition: A material entity [snap:MaterialEntity] that is spatially extended, maximally self-connected and self-contained (the parts of a substance are not separated from each other by spatial gaps) and possesses an internal unity. The identity of substantial object [snap:Object] entities is independent of that of other entities and can be maintained through time. - Examples: an organism, a heart, a chair, a lung, an apple - Synonyms: substance - - - - - - - object_aggregate - Definition: A material entity [snap:MaterialEntity] that is a mereological sum of separate object [snap:Object] entities and possesses non-connected boundaries. - Examples: a heap of stones, a group of commuters on the subway, a collection of random bacteria, a flock of geese, the patients in a hospital - Synonyms: substance aggregate - - - - - - - - - object_boundary - Definition: An independent continuant [snap:IndependentContinuant] that is a lower dimensional part of a spatial entity, normally a closed two-dimensional surface. Boundaries are those privileged parts of object [snap:Object] entities that exist at exactly the point where the object [snap:Object] is separated off from the rest of the existing entities in the world. - Examples: the surface of the skin, the surface of the earth, the surface of the interior of the stomach, the outer surface of a cell or cell wall - Synonyms: substance boundary - Comment: Boundaries are theoretically difficult entities to account for, however the intuitive notion of a physical boundary as a surface of some sort (whether inside or outside of a thing) will generally serve as a good guide for the use of this universal. - - - - - - - - one_dimensional_region - Definition: A spatial region [snap:SpatialRegion] with one dimension. - Examples: the part of space that is a line stretching from one end of absolute space to the other, an edge of a cube-shaped part of space - - - - - - quality - Definition: A specifically dependent continuant [snap:SpecificallyDependentContinuant] that is exhibited if it inheres in an entity or entities at all (a categorical property). - Examples: the color of a tomato, the ambient temperature of air, the circumference of a waist, the shape of a nose, the mass of a piece of gold, the weight of a chimpanzee - - - - - - realizable_entity - Definition: A specifically dependent continuant [snap:SpecificallyDependentContinuant] that inheres in continuant [snap:Continuant] entities and are not exhibited in full at every time in which it inheres in an entity or group of entities. The exhibition or actualization of a realizable entity is a particular manifestation, functioning or process that occurs under certain circumstances. - Examples: the role of being a doctor, the function of the reproductive organs, the disposition of blood to coagulate, the disposition of metal to conduct electricity - Comment: If a realizable entity [snap:RealizableEntity] inheres in a continuant [snap:Continuant], this does not imply that it is actually realized. - - - - - - - role - Definition: A realizable entity [snap:RealizableEntity] the manifestation of which brings about some result or end that is not essential to a continuant [snap:Continuant] in virtue of the kind of thing that it is but that can be served or participated in by that kind of continuant [snap:Continuant] in some kinds of natural, social or institutional contexts. - Examples: the role of a person as a surgeon, the role of a chemical compound in an experiment, the role of a patient relative as defined by a hospital administrative form, the role of a woman as a legal mother in the context of system of laws, the role of a biological grandfather as legal guardian in the context of a system of laws, the role of ingested matter in digestion, the role of a student in a university - - - - - - - - - site - Definition: An independent continuant [snap:IndependentContinuant] consisting of a characteristic spatial shape in relation to some arrangement of other continuant [snap:Continuant] entities and of the medium which is enclosed in whole or in part by this characteristic spatial shape. Site [snap:Site] entities are entities that can be occupied by other continuant [snap:Continuant] entities. - Examples: a particular room in a particular hospital, Maria's nostril or her intestines for a variety of bacteria. - Comment: An instance of Site [snap:Site] is a mixture of independent continuant [snap:IndependentContinuant] entities which act as surrounding environments for other independent continuant [snap:IndependentContinuant] entities, most importantly for instances of object [snap:Object]. A site [snap:Site] is typically made of object [snap:Object] or fiat object part [snap:FiatObjectPart] entities and a surrounding medium in which is found an object [snap:Object] occupying the site [snap:Site]. Independent continuant [snap:IndependentContinuant] entities may be associated with others (which, then, are sites) through a relation of "occupation". That relation is connected to, but distinct from, the relation of spatial location. Site [snap:Site] entities are not to be confused with spatial region [snap:SpatialRegion] entities. In BFO, site [snap:Site] allows for a so-called relational view of space which is different from the view corresponding to the class spatial region [snap:SpatialRegion] (see the comment on this class). - - - - - - - - - - - - - - - - - spatial_region - Definition: A continuant [snap:Continuant] that is neither bearer of quality [snap:Quality] entities nor inheres in any other entities. - Examples: the sum total of all space in the universe, parts of the sum total of all space in the universe - Comment: An instance of spatial region [snap:SpatialRegion] is a part of space. All parts of space are spatial region [snap:SpatialRegion] entities and only spatial region [snap:SpatialRegion] entities are parts of space. Space is the entire extent of the spatial universe, a designated individual, which is thus itself a spatial region [snap:SpatialRegion]. - Comment: All instances of continuant [snap:Continuant] are spatial entities, that is, they enter in the relation of (spatial) location with spatial region [snap:SpatialRegion] entities. As a particular case, the exact spatial location of a spatial region [snap:SpatialRegion] is this region itself. - Comment: Space and spatial region [snap:SpatialRegion] entities are entities in their own rights which exist independently of any entities which can be located at them. This view of space is sometimes called "absolutist" or "the container view". In BFO, the class site [snap:Site] allows for a so-called relational view of space, that is to say, a view according to which spatiality is a matter of relative location between entities and not a matter of being tied to space. The bridge between these two views is secured through the fact that while instances of site [snap:Site] are not spatial region [snap:SpatialRegion] entities, they are nevertheless spatial entities. - - - - - - - - - - - - - - specifically_dependent_continuant - Definition: A continuant [snap:Continuant] that inheres in or is borne by other entities. Every instance of A requires some specific instance of B which must always be the same. - Examples: the mass of a cloud, the smell of mozzarella, the liquidity of blood, the color of a tomato, the disposition of fish to decay, the role of being a doctor, the function of the heart in the body: to pump blood, to receive de-oxygenated and oxygenated blood, etc. - Synonyms: property, trope, mode - - - - - - - - three_dimensional_region - Definition: A spatial region [snap:SpatialRegion] with three dimensions. - Examples: a cube-shaped part of space, a sphere-shaped part of space - - - - - - - - two_dimensional_region - Definition: A spatial region [snap:SpatialRegion] with two dimensions. - Examples: the surface of a cube-shaped part of space, the surface of a sphere-shaped part of space, the surface of a rectilinear planar figure-shaped part of space - - - - - - - - zero_dimensional_region - Definition: A spatial region [snap:SpatialRegion] with no dimensions. - Examples: a point - - - - - - - - - - - - - - - - - - - - - - connected_spatiotemporal_region - Definition: A space time region [span:SpaceTimeRegion] that has temporal and spatial dimensions such that all points within the spatiotemporal region are mediately or immediately connected to all other points within the same space time region [span:SpaceTimeRegion]. - Examples: the spatial and temporal location of an individual organism's life, the spatial and temporal location of the development of a fetus - - - - - - - - - - - - - - connected_temporal_region - Definition: A temporal region [span:TemporalRegion] every point of which is mediately or immediately connected with every other point of which. - Examples: the 1970s years, the time from the beginning to the end of a heart attack, the time taken up by cellular meiosis - - - - - - - - - fiat_process_part - Definition: A processual entity [span:ProcessualEntity] that is part of a process but that does not have bona fide beginnings and endings corresponding to real discontinuities. - Examples: chewing during a meal, the middle part of a rainstorm, the worst part of a heart-attack, the most interesting part of Van Gogh's life - - - - - - - - - - - - - - - occurrent - Definition: An entity [bfo:Entity] that has temporal parts and that happens, unfolds or develops through time. Sometimes also called perdurants. - Examples: the life of an organism, a surgical operation as processual context for a nosocomical infection, the spatiotemporal context occupied by a process of cellular meiosis, the most interesting part of Van Gogh's life, the spatiotemporal region occupied by the development of a cancer tumor - Synonyms: perdurant - - - - - - - - - process - Definition: A processual entity [span:ProcessualEntity] that is a maximally connected spatiotemporal whole and has bona fide beginnings and endings corresponding to real discontinuities. - Examples: the life of an organism, the process of sleeping, the process of cell-division - - - - - - - - - process_aggregate - Definition: A processual entity [span:ProcessualEntity] that is a mereological sum of process [span:Process] entities and possesses non-connected boundaries. - Examples: the beating of the hearts of each of seven individuals in the room, the playing of each of the members of an orchestra, a process of digestion and a process of thinking taken together - - - - - - - - - process_boundary - Definition: A processual entity [span:ProcessualEntity] that is the fiat or bona fide instantaneous temporal process boundary. - Examples: birth, death, the forming of a synapse, the onset of REM sleep, the detaching of a finger in an industrial accident, the final separation of two cells at the end of cell-division, the incision at the beginning of a surgery - - - - - - - - - processual_context - Definition: An occurrent [span:Occurrent] consisting of a characteristic spatial shape inhering in some arrangement of other occurrent [span:Occurrent] entities. processual context [span:ProcessualContext] entities are characteristically entities at or in which other occurrent [span:Occurrent] entities can be located or occur. - Examples: The processual context for a given manipulation occurring as part of an experiment is made of processual entities which occur in parallel, are not necessarily all parts of the experiment themselves and may involve continuant [snap:Continuant] entities which are in the spatial vicinity of the participants in the experiment. - Comment: An instance of a processual context [span:ProcessualContext] is a mixture of processual entity [span:ProcessualEntity] which stand as surrounding environments for other processual entity [span:ProcessualEntity] entities. The class processual context [span:ProcessualContext] is the analogous among occurrent [span:Occurrent] entities to the class site [snap:Site] among continuant [snap:Continuant] entities. - - - - - - - - - - - - - - - - - - processual_entity - Definition: An occurrent [span:Occurrent] that exists in time by occurring or happening, has temporal parts and always involves and depends on some entity. - Examples: the life of an organism, the process of meiosis, the course of a disease, the flight of a bird - - - - - - scattered_spatiotemporal_region - Definition: A space time region [span:SpaceTimeRegion] that has spatial and temporal dimensions and every spatial and temporal point of which is not connected with every other spatial and temporal point of which. - Examples: the space and time occupied by the individual games of the World Cup, the space and time occupied by the individual liaisons in a romantic affair - - - - - - scattered_temporal_region - Definition: A temporal region [span:TemporalRegion] every point of which is not mediately or immediately connected with every other point of which. - Examples: the time occupied by the individual games of the World Cup, the time occupied by the individual liaisons in a romantic affair - - - - - - spatiotemporal_instant - Definition: A connected space time region [span:ConnectedSpaceTimeRegion] at a specific moment. - Examples: the space time region occupied by a single instantaneous temporal slice (part) of a process - - - - - - spatiotemporal_interval - Definition: A connected space time region [span:ConnectedSpaceTimeRegion] that endures for more than a single moment of time. - Examples: the space time region occupied by a process or by a fiat processual part - - - - - - - - - - - - - - - spatiotemporal_region - Definition: An occurrent [span:Occurrent] at or in which processual entity [span:ProcessualEntity] entities can be located. - Examples: the spatiotemporal region occupied by a human life, the spatiotemporal region occupied by the development of a cancer tumor, the spatiotemporal context occupied by a process of cellular meiosis - Comment: An instance of the spatiotemporal region [span:SpatiotemporalRegion] is a part of spacetime. All parts of spacetime are spatiotemporal region [span:SpatiotemporalRegion] entities and only spatiotemporal region [span:SpatiotemporalRegion] entities are parts of spacetime. In particular, neither spatial region [snap:SpatialRegion] entities nor temporal region [span:TemporalRegion] entities are in BFO parts of spacetime. Spacetime is the entire extent of the spatiotemporal universe, a designated individual, which is thus itself a spatiotemporal region [span:SpatiotemporalRegion]. Spacetime is among occurrents the analogous of space among continuant [snap:Continuant] entities. - Comment: All instances of occurrent [span:Occurrent] are spatiotemporal entities, that is, they enter in the relation of (spatiotemporal) location with spatiotemporal region [span:SpatiotemporalRegion] entities. As a particular case, the exact spatiotemporal location of a spatiotemporal region [span:SpatiotemporalRegion] is this region itself. - Comment: Spacetime and spatiotemporal region [span:SpatiotemporalRegion] entities are entities in their own rights which exist independently of any entities which can be located at them. This view of spacetime can be called "absolutist" or "the container view". In BFO, the class processual context [span:ProcessualContext] allows for a so-called relational view of spacetime, that is to say, a view according to which spatiotemporality is a matter of relative location between entities and not a matter of being tied to spacetime. In BFO, the bridge between these two views is secured through the fact that instances of processual context [span:ProcessualContext] are too spatiotemporal entities. - - - - - - temporal_instant - Definition: A connected temporal region [span:ConnectedTemporalRegion] comprising a single moment of time. - Examples: right now, the moment at which a finger is detached in an industrial accident, the moment at which a child is born, the moment of death - - - - - - temporal_interval - Definition: A connected temporal region [span:ConnectedTemporalRegion] lasting for more than a single moment of time. - Examples: any continuous temporal duration during which a process occurs - - - - - - - - - - - - - - - temporal_region - Definition: An occurrent [span:Occurrent] that is part of time. - Examples: the time it takes to run a marathon, the duration of a surgical procedure, the moment of death - Comment: An instance of temporal region [span:TemporalRegion] is a part of time. All parts of time are temporal region [span:TemporalRegion] entities and only temporal region [span:TemporalRegion] entities are parts of time. Time is the entire extent of the temporal universe, a designated individual, which is thus a temporal region itself. - Comment: All instances of occurrent [span:Occurrent] are temporal entities, that is, they enter in the relation of (temporal) location with temporal region [span:TemporalRegion] entities. As a particular case, the exact spatiotemporal location of a temporal region [span:TemporalRegion] is this region itself. Continuant [snap:Continuant] entities are not temporal entities in the technical sense just explained; they are related to time in a different way, not through temporal location but through a relation of existence at a time or during a period of time (see continuant [snap:Continuant]. - Comment: Time and temporal region [span:TemporalRegion] entities are entities in their own rights which exist independently of any entities which can be located at them. This view of time can be called "absolutist" or "the container view" in analogy to what is traditionally the case with space (see spatial region [snap:SpatialRegion]. - - diff --git a/productMods/WEB-INF/filegraph/tbox/clinical.owl b/productMods/WEB-INF/filegraph/tbox/clinical.owl new file mode 100644 index 00000000..cb4c209d --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/clinical.owl @@ -0,0 +1,249 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + human study + + A clinical trial. + OCRe + PERSON: Melissa Haendel + Research project that uses or collects measurements or assessments about humans. + This should be imported from OCRE- but they currently have no generic human study type. Def is modified. + human study + + + + + + + + + clinical trial + + + + + + + + + + + + + A clinical trial to evaluate the efficacy of a new drug. + An interventional study that contains a set of procedures in medical research and drug development that are conducted to allow safety (or more specifically, information about adverse drug reactions and adverse effects of other treatments) and efficacy data to be collected for health interventions (e.g., drugs, diagnostics, devices, therapy protocols) that is performed over phases. + PERSON: Nicole Vasilevsky + http://en.wikipedia.org/wiki/Clinical_trial + + + + + + + phase (ocre) + + Phase describes the level of a trial required of drugs before (and after) they are routinely used in clinical practice: +- Phase I trials assess toxic effects on humans (not many people participate in them, and usually without controls); +- Phase ll trials assess therapeutic benefit (usually involving a few hundred people, usually with controls, but not always); +- Phase III trials compare the new treatment against standard (or placebo) treatment (usually a full randomised controlled trial). At this point, a drug can be approved for community use. +- Phase IV monitors a new treatment in the community, often to evaluate longterm safety and effectiveness. [Glossary of Terms in The Cochrane Collaboration] + +A trial can be of a combination phase (e.g., I/II). +The concept of phase is not applicable to trials studying certain interventions (e.g., device, procedure, behavioral) + Simona + + + + + + + + phase 0 + + A Phase 0 trial is an exploratory trial involving very limited human exposure, with no therapeutic or diagnostic intent (e.g., screening study, microdose study). [http://prsinfo.clinicaltrials.gov/definitions.html] + Simona + + + + + + + + phase 1 + + A Phase I trial assesses toxic effects on humans (not many people participate, and usually without controls) [Glossary of Terms in The Cochrane Collaboration] + Simona + + + + + + + + phase 2 + + A Phase ll trial assesses therapeutic benefit (usually involving a few hundred people, usually with controls, but not always) [Glossary of Terms in The Cochrane Collaboration] + Simona + + + + + + + + phase 3 + + A Phase III trial compares the new treatment against standard (or placebo) treatment (usually a full +randomised controlled trial). At this point, a drug can be approved for community use. [Glossary of Terms in The Cochrane Collaboration] + Simona + + + + + + + + phase 4 + + A Phase IV study monitors a new treatment in the community, often to evaluate longterm safety and effectiveness. [Glossary of Terms in The Cochrane Collaboration] + Simona + + + + + + + + single group study + + A single group study is an interventional study that has only a single allocation group and no contemporaneuos comparison group. +A study in which an individual acts has his/her own comparison does not fall into this category, since an individual is not a group. + Simona + Simona: to be reviewed + + + + + + + + clinical role + + A role of observing or treating patients + + + + + + + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/contact-vcard.owl b/productMods/WEB-INF/filegraph/tbox/contact-vcard.owl new file mode 100644 index 00000000..c719bdf7 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/contact-vcard.owl @@ -0,0 +1,2377 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + acquaintance + + + + + + + + + address + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + To specify the components of the delivery address for the vCard object + + + + + + + + addressing + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + These types are concerned with information related to the delivery addressing or label for the vCard object + + + + + + + + agent (vcard c) + + + + + + + + + calendar + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + + + calendar busy (vcard c) + + + + + + + + + + 1 + + + + + + To specify the URI for the busy time associated with the object that the vCard represents. +Was called FBURI in vCard + + + + + + + + calendar link (vcard c) + + + + + + + + + + 1 + + + + + + To specify the URI for a calendar associated with the object represented by the vCard. +Was called CALURI in vCard. + + + + + + + + calendar request (vcard c) + + + + + + + + + + 1 + + + + + + To specify the calendar user address [RFC5545] to which a scheduling request [RFC5546] should be sent for the object represented by the vCard. +Was called CALADRURI in vCard + + + + + + + + category (vcard c) + + + + + + + + + + 1 + + + + + + To specify application category information about the vCard, also known as tags. This was called CATEGORIES in vCard. + + + + + + + + cell + + Also called mobile telephone + + + + + + + + child + + + + + + + + + code (vcard c) + Contains all the Code related Classes that are used to indicate vCard Types + + + + + + + + colleague + + + + + + + + + communication + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + These properties describe information about how to communicate with the object the vCard represents + + + + + + + + contact (vcard c) + + + + + + + + + coresident + + + + + + + + + coworker + + + + + + + + + crush + + + + + + + + + date + + + + + + + + + email (vcard c) + + + + + + + + + + 1 + + + + + + To specify the electronic mail address for communication with the object the vCard represents + + + + + + + + emergency + + + + + + + + + explanatory + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + These properties are concerned with additional explanations, such as that related to informational notes or revisions specific to the vCard + + + + + + + + fax + + + + + + + + + female (vcard) + + + + + + + + + formatted name + + + + + + + + + + 1 + + + + + + Specifies the formatted text corresponding to the name of the object the vCard represents + + + + + + + + friend + + + + + + + + + gender (vcard c) + + + + + + + + + geo (vcard c) + + + + + + + + + + 1 + + + + + + Used to indicate global positioning information that is specific to an address + + + + + + + + geographical + + + + + + + + + + 1 + + + + + These properties are concerned with information associated with geographical positions or regions associated with the object the vCard represents + + + + + + + + group (vcard c) + + + + + + + + + + 1 + + + + + + + + + Defines all the properties required to be a Group of Individuals or Organizations + + + + + + + + home + + This implies that the property is related to an individual's personal life + + + + + + + + identification + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + These types are used to capture information associated with the identification and naming of the entity associated with the vCard + + + + + + + + individual + + + + + + + + + + + + 0 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + Defines all the properties required to be an Individual + + + + + + + + messaging + + + + + + + + + + 1 + + + + + + To specify the URI for instant messaging and presence protocol communications with the object the vCard represents. +Was called IMPP in vCard. + + + + + + + + key (vcard c) + + + + + + + + + + 1 + + + + + + + + + + + + + kin + + + + + + + + + vcard kind + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 1 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + The parent class for all vCard Objects + + + + + + + + language + + + + + + + + + + 1 + + + + + + To specify the language(s) that may be used for contacting the entity associated with the vCard. + + + + + + + + location (vcard c) + + + Defines all the properties required to be a Location + + + + + + + + logo (vcard c) + + + + + + + + + + 1 + + + + + + To specify a graphic image of a logo associated with the object the vCard represents + + + + + + + + male (vcard c) + + + + + + + + + me + + + + + + + + + met + + + + + + + + + muse + + + + + + + + + name + + + + + + + + + + + + 0 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 0 + + + + + + + + + + + + 0 + + + + + + + + Specifies the components of the name of the object the vCard represents + + + + + + + + neighbor + + + + + + + + + nickname + + + + + + + + + + 1 + + + + + + Specifies the text corresponding to the nickname of the object the vCard represents + + + + + + + + none + + + + + + + + + note (vcard c) + + + + + + + + + + 1 + + + + + + To specify supplemental information or a comment that is associated with the vCard + + + + + + + + organization (vcard c) + + Defines all the properties required to be an Organization + To specify the organizational name associated with the vCard + + + + + + + + organization name (vcard c) + + + + + + + + + + 1 + + + + + + + + + + + + + organizational unit name (vcard c) + + + + + + + + + + 1 + + + + + + + + + + + + + organisational + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + These properties are concerned with information associated with characteristics of the organization or organizational units of the object that the vCard represents + + + + + + + + other + + + + + + + + + pager + + + + + + + + + parent + + + + + + + + + photo (vcard c) + + + + + + + + + + 1 + + + + + + Specifies an image or photograph information that annotates some aspect of the object the vCard represents + + + + + + + + related (vcard c) + + + + + + + + + + 1 + + + + + + To specify a relationship between another entity and the entity represented by this vCard + + + + + + + + relation type + + + + + + + + + role (vcard c) + + + + + + + + + + 1 + + + + + + To specify the function or part played in a particular situation by the object the vCard represents + + + + + + + + security + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + Contains all the Security related Classes + + + + + + + + sibling + + + + + + + + + sound (vcard c) + + + + + + + + + + 1 + + + + + + To specify a digital sound content information that annotates some aspect of the vCard. This property is often used to specify the proper pronunciation of the name property value of the vCard + + + + + + + + spouse + + + + + + + + + sweetheart + + + + + + + + + telephone (vcard c) + + + + + + + + + + 1 + + + + + + + + + + + + + phone + + + + + + + + + text + + Also called sms telephone + + + + + + + + text phone + + + + + + + + + time zone + + + + + + + + + + 1 + + + + + + Used to indicate time zone information that is specific to a location or address + + + + + + + + title (vcard c) + + + + + + + + + + 1 + + + + + + To specify the position or job of the object the vCard represents + + + + + + + + type + + This is called TYPE in vCard but renamed here to Context for less confusion (with types/class) + + + + + + + + url (vcard c) + + + + + + + + + + 1 + + + + + + To specify a uniform resource locator associated with the object to which the vCard refers. Examples for individuals include personal web sites, blogs, and social networking site identifiers. + + + + + + + + unknown + + + + + + + + + video (vcard c) + + + + + + + + + voice + + + + + + + + + work (vcard c) + + This implies that the property is related to an individual's work place + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/contact.owl b/productMods/WEB-INF/filegraph/tbox/contact.owl new file mode 100644 index 00000000..d4b9e122 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/contact.owl @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + contact qualifier + + + + + + + + + foaf profile + + + + + + + + + contact + + + + + + + + + + + + + + + urllink + + The full URL. + Uniform Resource Locator (URL) specifies where an identified resource is available and the mechanism for retrieving it. + http://info.slis.indiana.edu/~katy/ + + + + + + + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/data-properties.owl b/productMods/WEB-INF/filegraph/tbox/data-properties.owl new file mode 100644 index 00000000..608e71da --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/data-properties.owl @@ -0,0 +1,2450 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2010-12-16 + GDP at purchaser's prices is the sum of gross value added by all resident producers in the economy plus any product taxes and minus any subsidies not included in the value of the products. It is calculated without making deductions for depreciation of fabricated assets or for depletion and degradation of natural resources. Data are in current U.S. dollars. Dollar figures for GDP are converted from domestic currencies using single year official exchange rates. For a few countries where the official exchange rate does not reflect the rate effectively applied to actual foreign exchange transactions, an alternative conversion factor is used. Source: World Bank national accounts data, and OECD National Accounts data files. http://data.worldbank.org/indicator/NY.GDP.MKTP.CD + World Bank + World Bank http://data.worldbank.org/indicator/NY.GDP.MKTP.CD + http://data.worldbank.org/indicator/NY.GDP.MKTP.CD + http://data.albankaldawli.org/indicator/NY.GDP.MKTP.CD + http://data.worldbank.org/indicator/NY.GDP.MKTP.CD + ttp://datos.bancomundial.org/indicador/NY.GDP.MKTP.CD + http://donnees.banquemondiale.org/indicateur/NY.GDP.MKTP.CD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + composite index measuring average achievement in three basic dimensions of human development-a long and healthy life, knowledge and a decent standard of living. Source: Calculated based on data from UNDESA (2009d), Barro and Lee (2010), UNESCO Institute for Statistics (2010b), World Bank (2010b) and IMF(2010a) . http://hdrstats.undp.org/en/indicators/49806.html + composite index measuring average achievement in three basic dimensions of human development—a long and healthy life, knowledge and a decent standard of living. Source: Calculated based on data from UNDESA (2009d), Barro and Lee (2010), UNESCO Institute for Statistics (2010b), World Bank (2010b) and IMF(2010a) . http://hdrstats.undp.org/en/indicators/49806.html + 2010-11-04 + UNDP - HDRO + UNDP - HDRO http://hdrstats.undp.org/en/indicators/49806.html + http://hdrstats.undp.org/en/indicators/49806.html + http://hdrstats.undp.org/en/indicators/49806.html + http://hdrstats.undp.org/es/indicadores/49806.html + http://hdrstats.undp.org/fr/indicateurs/49806.html + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2010-07-21 + Agricultural area, this category is the sum of areas under a) arable land - land under temporary agricultural crops (multiple-cropped areas are counted only once), temporary meadows for mowing or pasture, land under market and kitchen gardens and land temporarily fallow (less than five years). The abandoned land resulting from shifting cultivation is not included in this category. Data for “Arable land” are not meant to indicate the amount of land that is potentially cultivable; (b) permanent crops - land cultivated with long-term crops which do not have to be replanted for several years (such as cocoa and coffee); land under trees and shrubs producing flowers, such as roses and jasmine; and nurseries (except those for forest trees, which should be classified under "forest"); and (c) permanent meadows and pastures - land used permanently (five years or more) to grow herbaceous forage crops, either cultivated or growing wild (wild prairie or grazing land). Data are expressed in 1000 hectares. http://faostat.fao.org/site/375/default.aspx + FAOSTAT + FAOSTAT http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=es#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=fr#ancor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AGROVOC + AGROVOC http://aims.fao.org/website/Search-AGROVOC/sub + http://aims.fao.org/ar/website/Search-AGROVOC/sub + http://aims.fao.org/website/Search-AGROVOC/sub + http://aims.fao.org/es/website/Search-AGROVOC/sub + http://aims.fao.org/fr/website/Search-AGROVOC/sub + http://aims.fao.org/zh-hans/website/Search-AGROVOC/sub + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-04-28 + DBpedia + DBpedia http://dbpedia.org/About + http://dbpedia.org/About + + + + + + + + FAOSTAT + FAOSTAT http://faostat.fao.org + http://faostat.fao.org + http://faostat.fao.org/default.aspx?lang=es + http://faostat.fao.org/default.aspx?lang=fr + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2008-12-10 + Global Administrative Unit Layers + Global Administrative Unit Layers http://www.fao.org/geonetwork/srv/en/metadata.show?id=12691 + http://www.fao.org/geonetwork/srv/en/metadata.show?id=12691 + + + + + + + + ISO 3166-1 + ISO 3166-1 http://www.iso.org/iso/country_codes/iso_3166_code_lists.htm + http://www.iso.org/iso/country_codes/iso_3166_code_lists.htm + + + + + + + + 2010-04-01 + United Nations Statistics Division + United Nations Statistics Division http://unstats.un.org/unsd/methods/m49/m49alpha.htm + http://unstats.un.org/unsd/methods/m49/m49alpha.htm + http://unstats.un.org/unsd/methods/m49/m49alphaf.htm + + + + + + + + 2010-04-01 + United Nations Statistics Division + United Nations Statistics Division http://unstats.un.org/unsd/methods/m49/m49alpha.htm + http://unstats.un.org/unsd/methods/m49/m49alpha.htm + http://unstats.un.org/unsd/methods/m49/m49alphaf.htm + + + + + + + + + + + + + + 2011-07-21 + Country area, area of the country including area under inland water bodies, but excluding offshore territorial waters. Possible variations in the data may be due to updating and revisions of the country data and not necessarily to any change of area. Data are expressed in 1000 hectares. http://faostat.fao.org/site/375/default.aspx + FAOSTAT + FAOSTAT http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=es#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=fr#ancor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2011-07-21 + FAOSTAT + FAOSTAT http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + Land area is the total area of the country excluding area under inland water bodies. Possible variations in the data may be due to updating and revisions of the country data and not necessarily to any change of area. Data are expressed in 1 000 hectares. http://faostat.fao.org/site/375/default.aspx + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=es#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=fr#ancor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2010-06-24 + FAO terminology + FAO terminology http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/en/ + http://www.fao.org/termportal/contr/ar/ + http://www.fao.org/termportal/contr/en/ + http://www.fao.org/termportal/contr/es/ + http://www.fao.org/termportal/contr/fr/ + http://www.fao.org/termportal/contr/zh/ + + + + + + + + 2009-09-21 + FAOSTAT + FAOSTAT http://faostat.fao.org/site/550/default.aspx + The total population usually refers to the present-in-area (de facto) population which includes all persons physically present within the present geographical boundaries of countries at the mid-point of the reference period. http://faostat.fao.org/site/375/default.aspx + http://faostat.fao.org/DesktopDefault.aspx?PageID=550&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=550&lang=en#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=550&lang=es#ancor + http://faostat.fao.org/DesktopDefault.aspx?PageID=550&lang=fr#ancor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The value of the datatype property *validSince* associated to a particular area (territory or group) indicates the area's first year of validity. The geopolitical ontology traces back historic changes only until 1985, therefore, if an area has a validSince = 1985, this indicates that the area is/was valid since 1985 or before. + + + + + + + + The value of the datatype property *validUntil* associated to a particular area (territory or group) indicates the area's last year of validity. In case the area is currently valid, this value is set by default to 9999. + + + + + + + + + is_template + The document can be used as a template for the creation of other documents. + + + + + + + + + + user_defined_tag + A free text field for recording topics which relate to the resource. + + + + + + + + + patient_id + + + + + + + + + + + health care provider id + + + + + + + + + + + measurement_label + + + + + + + + has_inventory_number + An example inventory number can be in the form: 12345 + Inventory identifier for the resource. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + has inventory number + + + + + + + + + + + + + + + + + + + + + + + + + + + + has_restriction + A restriction on service availability, such as university or consortium affiliation, geographical location, professional certification, or other factors. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + Resource is only available to researchers in the department. + has restriction + + + + + + + + + + + + + + + + + + + + + + + + + + has_geographic_restriction + Any service limitation tied to geographically-defined areas such as metro areas, counties, states, or regions. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + Resource is only available to researchers in Boston area. + has geographic restriction + + + + + + + + + + + + model_number + ABI 9000 + Instrument model number, which may be a name, number, or both. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + model number + + + + + + + + + + + lab_data_format + Current method or software used to inventory a lab's resources. Examples include Excel, index cards, FileMaker, 3-ring binder, etc. + Excel spreadsheet + PERSON: Melissa Haendel + PERSON: Melissa Haendel + lab data format + + + + + + + + + + + + + + + + + + version + PERSON: Melissa Haendel + PERSON: Melissa Haendel + Software edition, typically a numeral followed by a decimal and another numeral, such as 2.1. + v 1.0 + + + + + + + + + + + + + + + + + + has_accession_number + PERSON: Melissa Haendel + PERSON: Melissa Haendel + The accession number for a gene. + Unique identifier of a biological polymer sequence (DNA, RNA, protein) when it is submitted to a sequence database. + accession number + + + + + + + + + + + + + + + + + + + has_study_population + African american study population. + Characteristics of the human population being studied. May include number, demographic or geographic information, inclusion or exclusion criteria, or other descriptive information. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + study population + + + + + + + + + + + has_eligibility_requirment + A grade point average above 3.5 is an eligibility requirement. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + Requirements for research opportunity eligibility. Requirements include: coursework, minimum gradepoint average, state residency, under-represented group status, field of study, or matriculation status. + has eligibility requirement + + + + + + + + + + + abstract + http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + http://purl.org/dc/terms/ + A summary of the resource. + stable + + + + + + + + asin + 020530902X + Amazon standard identification number. Source: http://en.wikipedia.org/wiki/Amazon_Standard_Identification_Number. + http://purl.org/ontology/bibo/ + Amazon Standard Identification Number + stable + + + + + + + + chapter (bibo dp) + Title of the chapter (this individual) currently should be entered in the individual name (rdfs:label). Title of the book belongs on a separate Book individual related to the chapter via the core:partOf property (or its child property bibo:reproducedIn). The core:title field is deprecated and should no longer be used as of version 1.1 -- we will want to map rdfs:label to dc:title for query or linked data requests in the future + http://purl.org/ontology/bibo/ + An chapter number + unstable + + + + + + + + coden + CODEN became particularly common in the scientific community as a citation system for periodicals cited in technical- as well in chemistry-related publications and as a search tool in many bibliographic catalogues. +Definition and description came from Wikipedia here: http://en.wikipedia.org/wiki/CODEN + http://purl.org/ontology/bibo/ + An identifier of serials, still in use by libraries, but replaced by ISSN for any new work + stable + + + + + + + + digital object identifier (doi) + http://purl.org/ontology/bibo/ + stable + Digital Object Identifier + + + + + + + + ean international-uniform code council (ean-ucc) 13 + Definition source: http://en.wikipedia.org/wiki/European_Article_Numbering-Uniform_Code_Council. +The Uniform Code Council (UCC) was the Numbering Organization in the USA to administer and manage the EAN.UCC System. In 2005 the UCC changed its name to GS1 US. + http://purl.org/ontology/bibo/ + European Article Number/Uniform Commercier Code 13 + stable + + + + + + + + edition + http://purl.org/ontology/bibo/ + The name defining a special edition of a document. Normally its a literal value composed of a version number and words. + stable + + + + + + + + electronic international standard serial number (eissn) + eissn stands for Electronic International Standard Serial Number. source: http://www.definition-of.com/EISSN + http://purl.org/ontology/bibo/ + stable + The electronic ISSN number of a periodical. + + + + + + + + gtin14 + http://en.wikipedia.org/wiki/Global_Trade_Item_Number. + http://purl.org/ontology/bibo/ + stable + Global Trade Item Number 14 + + + + + + + + identifier (bibo) + + + + + + + + international standard book number (isbn) 10 + http://en.wikipedia.org/wiki/Isbn. + + + + + + + + international standard book number (isbn) 13 + source: http://en.wikipedia.org/wiki/Isbn. + + + + + + + + international standard serial number (issn) + http://purl.org/ontology/bibo/ + source: http://en.wikipedia.org/wiki/Issn + stable + International Standard Serial Number + + + + + + + + issue (bibo dp) + Bibo has the domain of bibo:issue as the class Issue, but an example on their site uses it with Article, referring to the issue number "4" + + + + + + + + library of congress control number (lccn) + Source: http://en.wikipedia.org/wiki/Library_of_Congress_Control_Number. + http://purl.org/ontology/bibo/ + stable + Library of Congress Control Number + + + + + + + + locator + definition from: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + http://purl.org/ontology/bibo/ + stable + A description (often numeric) that locates an item within a containing document or collection. + + + + + + + + number of pages + + + + + + + + number + Definition from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + + + + + + + + online computer library center (oclc) number + http://info-uri.info/registry/OAIHandler?verb=GetRecord&metadataPrefix=reg&identifier=info:oclcnum/. + + +bibo has the domain of this property set to the union of Collection and Document. + http://purl.org/ontology/bibo/ + stable + OCLC Identifier + + + + + + + + end page + http://purl.org/ontology/bibo/ + stable + Ending page number within a continuous page range. + + + + + + + + start page + http://purl.org/ontology/bibo/ + stable + Starting page number within a continuous page range. + + + + + + + + pubmed identifier + The PubMed ID (PMID) identifies a citation record (rather than full-text) in the PubMed database. It is not evidence of compliance with the NIH Public Access Policy, because it does not identify a full-text submission of any kind. + http://purl.org/ontology/bibo/ + stable + PubMed Identifier + + + + + + + + name prefix + Mr; Ms; Mrs + http://dictionary.reference.com/browse/prefix + http://purl.org/ontology/bibo/ + stable + The prefix of a name + + + + + + + + section + http://purl.org/ontology/bibo/ + An section number + Di Rado, Alicia. 1995. Trekking through college: Classes explore +modern society using the world of Star trek. Los Angeles Times, March +15, sec. A, p. 3. + unstable + + + + + + + + short description + http://purl.org/ontology/bibo/ + A short description of the resource. + The idea here is that while dcterms:description may involve length descriptions, this for short (two or three word) descriptions that could go in a bibliographic entry. + unstable + + + + + + + + sici + A sub property of identifier (http://en.wikipedia.org/wiki/SICI). + http://purl.org/ontology/bibo/ + Serial Item and Contribution Identifier + stable + + + + + + + + name suffix + Jr.; III;; M.D. + http://purl.org/ontology/bibo/ + stable + The suffix of a name + + + + + + + + upc + http://purl.org/ontology/bibo/ + source for public description: http://en.wikipedia.org/wiki/Universal_Product_Code. + stable + Universal Product Code + + + + + + + + uri + Definition from: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + + + + + + + + volume (bibo) + + + + + + + + has global count date + The date on which the global citation count of the cited entity was recorded from a named bibliographic information source. + + + + + + + + has global count value + An integer defining the value of the global citation count of a cited entity recorded from a named bibliographic information source on a particular date. + + + + + + + + + abbreviation + A short form for an longer title or name. + B.A. + + + + + + + + published us classification class/subclass (ccl) code + + + + + + + + + + credits + + + + + + + + date/time + + + + + + + + + era commons id + + + + + + + + + keywords + conservation + +use one freetextKeyword assertion for each keyword or phrase. + one keyword or phrase per freetextKeyword assertion + + + + + + + + + direct costs + + + + + + + + has_monetary_amount + + + + + + + + has_value + + + + + + + + international classification (icl) code + The International classification(s) to which the published application has been assigned. + + + + + + + + + + identifier (vivo) + + + + + + + + license number + + + + + + + + + link uri + + + + + + + + + local award id + core:localAwardId has a domain of core:Grant, and should be public since that's its public identifier for local use by OSP, accounting, department admins, and the PI + + + + + + + + + major field of degree + Information Science; Computer Science; Anthropology + + + + + + + + middle name or initial + + + + + + + + nih manuscript submission system id + + + + + + + + + + orcid id + We can't yet assume that we will only have a single ORCID id for a person. +source: http://en.wikipedia.org/wiki/ORCID . + + +We wanted this property to be visible so that people would be aware that we intend to carry ORCID ids in VIVO for cross-reference. I don't believe any ORCID ids have been minted yet, but it's hard to imagine they would need to be private since the goal of having them is to disambiguate author references internationally. However, this and the researcherId and scopusId (also with domain foaf:Person) can stay as visible to self-editors for now as they will probably be used mostly in data ingest. It might be nice in the future to let people make their own decision about whether these are visible. + + + + + + + + + + outreach overview + My extension program consists of developing and reporting disease management strategies that are both economically and environmentally sound for fresh market vegetable production. We hope that some of this testing will result in practices adaptable for organic production. + Used for a single narrative summary of outreach, typically covering a wide range of activities and time periods; use Outreach Provider Role for information on individual activities + + + + + + + + + overview + + + + + + + + + patent number + source of definition: http://www.uspto.gov/main/glossary/#p . The following site has patent number formats: http://www.uspto.gov/patents/ebc/kindcodesum.jsp . + + + + + + + + + + + place of publication + + + + + + + + pubmed central id + A PMCID is a unique PubMed Central reference number, which is assigned to each full-text record made available A PMCID is a unique PubMed Central reference number, which is assigned to each full-text record made available in PubMed Central. The PMCID is issued shortly after the PI or author approves the PubMed Central formatted web version of the submission. + + + + + + + + + + rank + this number indicates a position in a list + + + + + + + + + + report identifier + + + + + + + + + + + research overview + Used for a single narrative summary of research, typically covering a wide range of activities and time periods; use Researcher Role for information on individual activities + + + + + + + + isi researcher id + RearcherID is a Thomson Reuters project where researchers have a place to manage and share their professional information. It will allow them to solve author identity issues while simultaneously adding dynamic citation metrics and collaboration networks to your personal profile. +Definition source: http://isiwebofknowledge.com/researcherid/ + + + + + + + + + scopus id + Home page for Scopus: http://www.scopus.com/home.url + + + + + + + + + + seating capacity + 55 + definition modified from: source (http://en.wikipedia.org/wiki/Seating_capacity). + + + + + + + + + + sponsor award id + Has a domain of Grant. There is not a strong reason have this be publically visible, since most users would care more about the name of the sponsoring agency than its identifier, but it does no harm to be public. + + +See also core:localAwardId. + + + + + + + + + + supplemental information + + + + + + + + + teaching overview + Used for a single narrative summary of teaching, typically covering a wide range of courses including for credit and non-credit teaching over multiple semesters; the "teaches" property links a person directly with an instance of a Semester Class, typically from an institutional database of record; then use Teacher Role for information about a person's role in non-credit teaching or their specific contribution to individual courses + + + + + + + + + total award amount + + + + + + + + institutional review board (irb) number + Every clinical trial in the United States must be approved and monitored by an Institutional Review Board (IRB). An IRB is an independent committee of physicians, statisticians, community advocates and others whose objective is to ensure that a clinical trial is ethical and the rights of study participants are protected. + + + + + + + + national clinical trials (nct) number + ClinicalTrials.gov is an ICMJE-acceptable public registry, offering up-to-date information for locating clinical trials for a wide range of diseases and conditions. The U.S. National Institutes of Health (NIH), through its National Library of Medicine (NLM), developed this site in collaboration with the Food and Drug Administration (FDA), as a result of the FDA Modernization Act, which was passed into law in November 1997. This property should be publically visible since it is one of the principal identifiers in a national registry of clinical trials + NCT00000419 + + + + + + + + study population count + number of human participants in the study (trial). + + + + + + + + additional name + + + + + + + + + + anniversary + The date of marriage, or equivalent, of the object the vCard represents + + + + + + + + + + birthdate + To specify the birth date of the object the vCard represents + + + + + + + + + + calendar busy (vcard dp) + + + + + + + + + + calendar link (vcard dp) + + + + + + + + + + calendar request (vcard dp) + + + + + + + + + + category (vcard dp) + + + + + + + + + + country (vcard dp) + + + + + + + + + + email (vcard dp) + + + + + + + + + + has last name + Called Family Name in vCard + + + + + + + + + + has format name + + + + + + + + + + gender (vcard dp) + To specify the components of the sex and gender identity of the object the vCard represents. +To enable other Gender/Sex codes to be used, this dataproperty has range URI. The vCard gender code classes are defined under Code/Gender + + + + + + + + + + geo (vcard dp) + Must use the geo URI scheme RFC5870 + + + + + + + + + + first name + called Given Name invCard + + + + + + + + + + has prefix name + Called Honorific Prefix in vCard + + + + + + + + + + honorific suffix name + + + + + + + + + + instant message + + + + + + + + + + key (vcard dp) + + + + + + + + + + has language (vcard dp) + Use 2 char language code from RFC5646 + + + + + + + + + locality + + + + + + + + + + logo (vcard dp) + + + + + + + + + + nick name + + + + + + + + + + note (vcard dp) + + + + + + + + + + organization name (vcard dp) + + + + + + + + + + organizational unit name (vcard dp) + + + + + + + + + + photo (vcard dp) + + + + + + + + + + postal code + + + + + + + + + + product id + + + + + + + + + region + + + + + + + + + + related (vcard dp) + + + + + + + + + + revision + + + + + + + + + role (vcard) + + + + + + + + + + sort as + + + + + + + + + sound (vcard dp) + + + + + + + + + + source + + + + + + + + + street address + + + + + + + + + + telephone (vcard dp) + + + + + + + + + timezone + + + + + + + + + + title (vcard dp) + + + + + + + + + + uid + To specify a value that represents a globally unique identifier corresponding to the entity associated with the vCard + + + + + + + + + url (vcard dp) + + + + + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/date-time.owl b/productMods/WEB-INF/filegraph/tbox/date-time.owl new file mode 100644 index 00000000..b08b108f --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/date-time.owl @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + academic term + + An explicit individual academic term, quarter, or semester rather than the generic fall, spring or summer semester. + + + + + + + + academic year + + An explicit individual period considered by an academic institution to be its primary academic cycle. + + + + + + + + date/time interval + a specific period or duration, defined by (optional) start and end date/times. + + + + + + + + date/time value instance + A date and/or time + + + + + + + + + + + + + yearmonthdayvalue + + + + + + + + yearmonthdaytimevalue + + + + + + + + yearmonthvalue + + + + + + + + yearvalue + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/education.owl b/productMods/WEB-INF/filegraph/tbox/education.owl new file mode 100644 index 00000000..d9f46c0d --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/education.owl @@ -0,0 +1,453 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + funding role + + A role inhering in a person or organization that is realized when the bearer participates in providing funding to a person or an organization for academic or business purposes. + PERSON: Nicole Vasilevsky + PERSON: Nicole Vasilevsky + The NIH is a funding agency. + + + + + + + + + educator role + + A role inhering in a person or organization that is realized when the bearer participates in providing education to a student or group of students. + A teacher. + PERSON: Nicole Vasilevsky + PERSON: Nicole Vasilevsky + + + + + + + + + research opportunity + A planned process carried out by a person or organization with the objective of performing research. + An offering through an ongoing program or single request of research support: internships, positions, financial awards or other forms of tangible or intangible support + PERSON: Nicole Vasilevsky + PERSON: Nicole Vasilevsky + Training grant to perform post-doctoral research. + student research opportunity + + + + + + + + + us resident role + + A role that inheres in a person who maintains residency in the United states. + PERSON: Nicole Vasilevsky + PERSON: Nicole Vasilevsky + + + + + + + + + us citizen role + + A US resident role that inheres in an individual that is a legally recognized as a member of a state, with associated rights and obligations. + PERSON: Nicole Vasilevsky + http://en.wiktionary.org/wiki/citizen + + + + + + + + + non-us citizen + + A US resident role that inheres in an individual who is not a legally recognized subject or national of the United States. + PERSON: Nicole Vasilevsky + https://www.google.com/search?q=residency+status&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a#hl=en&client=firefox-a&hs=Bcx&rls=org.mozilla:en-US:official&q=citizen&tbs=dfn:1&tbo=u&sa=X&ei=micXT_DwMIjUiAK15tDUDw&ved=0CCgQkQ4&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=7b67128a22f602af&biw=1609&bih=794 + + + + + + + + + permanent resident role + + An role that inheres in an individual who is not a citizen but who legally resides in another nation on a permanent or extended basis. + PERSON: Nicole Vasilevsky + http://connection.ebscohost.com/us/immigration-restrictions/overview-legal-and-illegal-immigration + + + + + + + + + non-permanent resident role + + A non-US citizen role that inheres in an individual who is residing in a country, but is neither a citizen nor a permanent resident. + PERSON: Nicole Vasilevsky + http://www.irs.gov/taxtopics/tc851.html + + + + + + + + + student role + + A college student. + A role inhering in a person that is realized when the bearer participates a course of study, as in a school, college, university, etc. + PERSON: Nicole Vasilevsky + http://www.thefreedictionary.com/student + + + + + + + + + undergraduate student role + + A college student. + A student role inhering in a person that is realized when the bearer participates in a course of study at a college, university, etc. in pursuit of an associate or bachelor degree. + PERSON: Nicole Vasilevsky + http://www.thefreedictionary.com/student + + + + + + + + + graduate student role + + A PhD student at a university. + A student role inhering in a person that is realized when the bearer participates a course of study at a university or institution in pursuit of an graduate or professional degree. + PERSON: Nicole Vasilevsky + http://www.thefreedictionary.com/student + + + + + + + + + high school student role + + A freshman in high school. + A student role inhering in a person that is realized when the bearer participates in a course of study at a secondary learning institution. + PERSON: Nicole Vasilevsky + http://www.thefreedictionary.com/student + + + + + + + + + employee role + + A role inhering in a person that is realized when the bearer participates in an occupation by which a person earns a living or spends their time. + An employee at a university. + PERSON: Nicole Vasilevsky + http://dictionary.reference.com/browse/employment + + + + + + + + + faculty role + + A professor at a university. + An employee role inhering in a person that is realized when the bearer participates in the teaching and/or administrative force of a university, college, or school. + PERSON: Nicole Vasilevsky + http://dictionary.reference.com/browse/faculty + + + + + + + + + staff role + + A research technician in a lab. + An employee role inhering in a person that is realized when the bearer is employed by an employer. + PERSON: Nicole Vasilevsky + PERSON: Nicole Vasilevsky + + + + + + + + + post-baccalaureate trainee + + A student role inhering in a person that is realized when the bearer participates in a post-baccalaureate training program in pursuit of an additional bachelor degree or new or additional training in a particular field. + PERSON: Nicole Vasilevsky + PERSON: Nicole Vasilevsky + + + + + + + + + post-graduate student trainee role + + A post-doctoral fellow. + A student role inhering in a person that is realized when the bearer participates in a post-graduate training program in pursuit of new or additional training in a particular field, such as a post-doctoral fellowship. + PERSON: Nicole Vasilevsky + PERSON: Nicole Vasilevsky + + + + + + + + + regulatory role + + GROUP: Role branch + OBI, CDISC + Regulatory agency, Ethics committee, Approval letter; example: Browse these EPA Regulatory Role subtopics http://www.epa.gov/ebtpages/enviregulatoryrole.html Feb 29, 2008 + a role which inheres in material entities and is realized in the processes of making, enforcing or being defined by legislation or orders issued by a governmental body. + regulatory role + + + + + + + + + + advising relationship + + A dual relationship of one person being advised or mentored by another person, typically including start and end dates + + + + + + + + certification + + An issued certificate + see also core:Certificate + + + + + + + + educational process + + + + + + + + faculty mentoring relationship + + An advisory relationship in which one faculty member mentors another faculty member. + + + + + + + + graduate advising relationship + + An advisory relationship in which a professor advises a graduate student. + + + + + + + + internship + + Typically a student or a recent graduate undergoing supervised practical training. + + + + + + + + issued credential + + + + + + + + + licensure + + A granted license, which gives a 'permission to practice.' + A granted license, which gives a 'permission to practice.' Such licenses are usually issued in order to regulate some activity that is deemed to be dangerous or a threat to the person or the public or which involves a high level of specialized skill. See also core:License. + + + + + + + + medical residency + + Residency is a stage of graduate medical training. + + + + + + + + postdoc or fellow advising relationship + + An advisory relationship in which the advisee is a Postdoc or Fellow. + + + + + + + + postdoctoral training + + Postdoctoral research is academic or scholarly research conducted by a person who has completed his or her doctoral studies, normally within the following five years. It is intended to further deepen expertise in a specialist subject. + + + + + + + + + + + + + + undergraduate advising relationship + + An advisory relationship in which a professor advises an undergraduate student. + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/event.owl b/productMods/WEB-INF/filegraph/tbox/event.owl new file mode 100644 index 00000000..b2e2cf4a --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/event.owl @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + event + Only use if no specific subclasses of event:Event are appropriate. + Something that happens at a given place and time. + This class will also display instances of subclasses under Event, e.g. Philosophy Department Discussion Club; 2009 Racker Lecture; screening of a documentary. In addition to a location in space and time, an event may have any or all the following qualities: actively participating agents, passive factors, work products. Also, it may be in a virtual space or part of a series such as a lecture series. + +The previous short definition was: "An arbitrary classification of a space/time region, by a cognitive agent." + + + + + + + + + + + + + + + + attendee role + A role of attending an Event or EventSeries + + + + + + + + competition + + An occasion on which a winner is selected from among two or more contestants. + Intel Talent Search; poetry contest + Not the same as an award or distinction. + + + + + + + + conference series + + An organized series of a meeting for consultation or discussion. + For individual, separate conferences, use conference instead. core:ConferenceSeries and core:SeminarSeries are very similar. + + + + + + + + event series + A generic class which may include a conference series, a course section, a seminar series, or a workshop series. When possible, use one of these more specific classes. + Only use if no specific subclasses of core:EventSeries desribe the activity. + Two or more events that occur at different times and are connected to each other. + + + + + + + + exhibit + + The showing of an object or a collection of objects, in an organized manner. + + + + + + + + meeting + + A gathering of people for a defined purpose, not necessarily public or announced + + + + + + + + organizer role + A role of organizing + + + + + + + + presentation + + Encompasses talk, speech, lecture, slide lecture, conference presentation + + + + + + + + presenter role + A role of presenting information + Are we assuming that a PresenterRole is in a Presentation? Or could you have a PresenterRole in, say, a committee? + + + + + + + + seminar series + + An organized series of a meeting for an exchange of ideas, typically put on by a department or center. + Applied Microeconomics Seminars; Future of Rural New York Seminar Series + For individual seminars, use seminar instead. core:ConferenceSeries and core:SeminarSeries are very similar. + + + + + + + + workshop series + + An organized series of workshop events, whether repetitions of the same workshop or multiple different workshops. + Use workshop for individual events. + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/geo-political.owl b/productMods/WEB-INF/filegraph/tbox/geo-political.owl new file mode 100644 index 00000000..02921744 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/geo-political.owl @@ -0,0 +1,1176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + United Nations statistics department http://unstats.un.org/unsd/methods/m49/m49regin.htm + + + + + + + + group (geo) + + + + + + + + + + + + + + + + + + + 1 + + + + + + 1 + + + UN Cartographic Section, Department of Field Support http://www.un.org/Depts/Cartographic/map/profile/world00.pdf + + + + + + + + organization (geo) + + + + + + + + + + + + + + + + + self governing + + + + United Nations Map Library http://www.un.org/depts/dhl/maplib/countinfo.htm + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + + + + + + + + continent + + A large contiguous landmass that is at least partially surrounded by water, together with any islands on its continental shelf. + Short Definition take from http://en.wiktionary.org/wiki/continent. + The seven commonly recognized continents are Africa; Antarctica; Asia; Australia; Europe; North America; South America + + + + + + + + country (vivo) + + Afghanistan; Antigua and Barbuda; Cameroon; Iceland; Jamaica; Nigeria; United States of America + An area of land distinguished by its political autonomy. Politically independent territories. + Source of the Short Definition: http://www.thefreedictionary.com/country. This is also the same as geopolitical.owl:self_governing. + + + + + + + + county + + Alachua; Baker; Bradford; Kenora; Ottawa; Waterloo + Short Definition modified from the one found here: http://www.thefreedictionary.com/county. + The largest administrative division of most states or provinces. + + + + + + + + + + + + + + geopolitical entity + + A geographical area which is associated with some sort of political structure. + Short definition obtained here: http://en.wiktionary.org/wiki/geopolitical_entity. + Use subclasses of core:GeopoliticalEntity subclasses instead of this class if possible. + + + + + + + + state or province + + Minnesota; Michigan; Indiana; New York; Quebec; Manitoba; Ontario + One of a number of areas or communities having their own governments and forming a federation under a sovereign government, as in the US. + Source of the Short Definition: http://www.thefreedictionary.com/state. + + + + + + + + subnational region + + Boroughs; townships; districts; the Midwest + For example, the Midwest, northeast U.S. + Short definition was partially taken from http://en.wikipedia.org/wiki/Subnational_entity. + Smaller administrative division into which a country may be divided. + + + + + + + + transnational region + + Any region that goes beyond national boundaries and does not fit into any subclass of core:TransnationalRegion. + None as yet. + Not sure how to access the "Editor's Comments". But as North America is a continent, it would be placed directly into the continent subclass and viewable through this class along with any other subclass entities. + sub-Saharan Africa, North America + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/geopolitical.tbox.ver1.1-11-18-11.owl b/productMods/WEB-INF/filegraph/tbox/geopolitical.tbox.ver1.1-11-18-11.owl deleted file mode 100644 index d9ca2dbd..00000000 --- a/productMods/WEB-INF/filegraph/tbox/geopolitical.tbox.ver1.1-11-18-11.owl +++ /dev/null @@ -1,1870 +0,0 @@ - - - prior version : " http://aims.fao.org/aos/geopolitical_v10.owl" - The use of the information presented on the FAO Country Profiles portal is governed by FAO's copyright reservation. Any queries regarding the content, sources or use, please contact FAO-country-profiles@fao.org or visit http://www.fao.org/countryprofiles. - FAO DISCLAIMER: Information on the FAO Country Profiles portal is provided as and when available. The designations employed and the presentation of information do not imply the expression of any opinion whatsoever on the part of the Food and Agriculture Organization of the United Nations (FAO) concerning the legal status of any country, territory, city or area, or of its authorities, or concerning the delimitation of its frontiers or boundaries. FAO makes every effort to ensure, but does not guarantee, the accuracy or completeness of and declines responsibility for any loss, damage, liability or expense suffered which is claimed to result from its use. - Version 1.1 of the ontology includes a structured description of sources (source creator, source identifier by language, and last updated date on source) . - - FAO's geopolitical ontology version 1.1 was populated with FAO, UN and internationally recognized data sources. - 2011-08-11 - version 1.1 - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - 1 - - - - - - UN Cartographic Section, Department of Field Support - http://www.un.org/Depts/Cartographic/map/profile/world00.pdf - 2010-05-01 - UN Cartographic Section, Department of Field Support http://www.un.org/Depts/Cartographic/map/profile/world00.pdf - - - - - - United Nations Map Library - http://www.un.org/depts/dhl/maplib/countinfo.htm - 2010-09-08 - United Nations Map Library http://www.un.org/depts/dhl/maplib/countinfo.htm - - - - - - United Nations statistics department - http://unstats.un.org/unsd/methods/m49/m49regnf.htm - http://unstats.un.org/unsd/methods/m49/m49regin.htm - 2010-04-01 - United Nations statistics department http://unstats.un.org/unsd/methods/m49/m49regin.htm - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - United Nations Statistics Division - - United Nations Statistics Division http://unstats.un.org/unsd/methods/m49/m49chang.htm - http://unstats.un.org/unsd/methods/m49/m49chang.htm - 2010-04-15 - http://unstats.un.org/unsd/methods/m49/m49chgef.htm - - - - - - - - - - - - - - - - - - United Nations cartographic maps - http://www.un.org/Depts/Cartographic/map/profile/world00.pdf - 2010-05-01 - United Nations cartographic maps http://www.un.org/Depts/Cartographic/map/profile/world00.pdf - - - - - - - - - http://unstats.un.org/unsd/methods/m49/m49chgef.htm - United Nations Statistics Division - 2010-04-15 - - United Nations Statistics Division http://unstats.un.org/unsd/methods/m49/m49chang.htm - http://unstats.un.org/unsd/methods/m49/m49chang.htm - - - - - - - - United Nations cartographic maps - http://www.un.org/Depts/Cartographic/map/profile/world00.pdf - 2010-05-01 - United Nations cartographic maps http://www.un.org/Depts/Cartographic/map/profile/world00.pdf - - - - - - - - - - - - - http://www.fao.org/termportal/contr/ar/ - - - - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/en/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/es/ - 2010-06-24 - FAO terminology - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/zh/ - - - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/contr/en/ - FAO terminology - http://www.fao.org/termportal/contr/zh/ - 2010-06-24 - FAO terminology http://www.fao.org/termportal/en/ - - - - http://www.fao.org/termportal/en/ - - - - - - - - - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/en/ - FAO terminology - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/en/ - - - - http://www.fao.org/termportal/contr/zh/ - 2010-06-24 - http://www.fao.org/termportal/contr/es/ - - - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/contr/es/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/zh/ - http://www.fao.org/termportal/contr/en/ - - - - FAO terminology - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/fr/ - 2010-06-24 - - - - - - http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor - http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor - FAOSTAT - FAOSTAT http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor - http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=fr#ancor - 2010-07-21 - Agricultural area, this category is the sum of areas under a) arable land - land under temporary agricultural crops (multiple-cropped areas are counted only once), temporary meadows for mowing or pasture, land under market and kitchen gardens and land temporarily fallow (less than five years). The abandoned land resulting from shifting cultivation is not included in this category. Data for “Arable land” are not meant to indicate the amount of land that is potentially cultivable; (b) permanent crops - land cultivated with long-term crops which do not have to be replanted for several years (such as cocoa and coffee); land under trees and shrubs producing flowers, such as roses and jasmine; and nurseries (except those for forest trees, which should be classified under "forest"); and (c) permanent meadows and pastures - land used permanently (five years or more) to grow herbaceous forage crops, either cultivated or growing wild (wild prairie or grazing land). Data are expressed in 1000 hectares. http://faostat.fao.org/site/375/default.aspx - http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=es#ancor - - - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/zh/ - FAO terminology http://www.fao.org/termportal/en/ - FAO terminology - 2010-06-24 - http://www.fao.org/termportal/en/ - - - - http://www.fao.org/termportal/contr/es/ - - - 2010-06-24 - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/zh/ - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/ar/ - FAO terminology http://www.fao.org/termportal/en/ - - - - FAO terminology - - - - - - - - - 2010-06-24 - http://www.fao.org/termportal/contr/ar/ - FAO terminology - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/zh/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/en/ - - - - - - FAO terminology - 2010-06-24 - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/ar/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/es/ - - - - http://www.fao.org/termportal/contr/zh/ - http://www.fao.org/termportal/contr/fr/ - - - http://www.fao.org/termportal/en/ - FAO terminology - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/contr/es/ - 2010-06-24 - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/fr/ - FAO terminology http://www.fao.org/termportal/en/ - - - - http://www.fao.org/termportal/contr/zh/ - - - - - - - - - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/es/ - - - - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/en/ - FAO terminology - 2010-06-24 - http://www.fao.org/termportal/contr/ar/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/zh/ - - - - - - - - - http://www.fao.org/termportal/contr/en/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/es/ - FAO terminology - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/ar/ - - - - http://www.fao.org/termportal/contr/zh/ - http://www.fao.org/termportal/en/ - 2010-06-24 - - - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/en/ - - - - http://www.fao.org/termportal/contr/ar/ - - FAO terminology - http://www.fao.org/termportal/contr/zh/ - FAO terminology http://www.fao.org/termportal/en/ - 2010-06-24 - http://www.fao.org/termportal/en/ - - - - - - - - - http://www.fao.org/termportal/contr/zh/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/en/ - - - - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/ar/ - FAO terminology - 2010-06-24 - - - http://faostat.fao.org/DesktopDefault.aspx?PageID=550&lang=en#ancor - http://faostat.fao.org/DesktopDefault.aspx?PageID=550&lang=en#ancor - 2009-09-21 - The total population usually refers to the present-in-area (de facto) population which includes all persons physically present within the present geographical boundaries of countries at the mid-point of the reference period. http://faostat.fao.org/site/375/default.aspx - http://faostat.fao.org/DesktopDefault.aspx?PageID=550&lang=es#ancor - FAOSTAT - - - - http://faostat.fao.org/DesktopDefault.aspx?PageID=550&lang=fr#ancor - FAOSTAT http://faostat.fao.org/site/550/default.aspx - - - - - - - - http://www.fao.org/termportal/contr/es/ - FAO terminology - http://www.fao.org/termportal/contr/zh/ - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/en/ - FAO terminology http://www.fao.org/termportal/en/ - - - - 2010-06-24 - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/fr/ - - - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/contr/fr/ - FAO terminology http://www.fao.org/termportal/en/ - 2010-06-24 - - - - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/zh/ - http://www.fao.org/termportal/contr/en/ - FAO terminology - http://www.fao.org/termportal/en/ - - - 2010-06-24 - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/zh/ - - - - FAO terminology - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/ar/ - - - - - - - - - - - - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/en/ - FAO terminology - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/es/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/zh/ - 2010-06-24 - http://www.fao.org/termportal/contr/ar/ - - - - - - - - - - - - - - - FAO terminology - - - - 2010-06-24 - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/en/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/contr/zh/ - - - - - - - - - - - - - http://data.albankaldawli.org/indicator/NY.GDP.MKTP.CD - World Bank http://data.worldbank.org/indicator/NY.GDP.MKTP.CD - http://donnees.banquemondiale.org/indicateur/NY.GDP.MKTP.CD - GDP at purchaser's prices is the sum of gross value added by all resident producers in the economy plus any product taxes and minus any subsidies not included in the value of the products. It is calculated without making deductions for depreciation of fabricated assets or for depletion and degradation of natural resources. Data are in current U.S. dollars. Dollar figures for GDP are converted from domestic currencies using single year official exchange rates. For a few countries where the official exchange rate does not reflect the rate effectively applied to actual foreign exchange transactions, an alternative conversion factor is used. Source: World Bank national accounts data, and OECD National Accounts data files. http://data.worldbank.org/indicator/NY.GDP.MKTP.CD - 2010-12-16 - World Bank - - ttp://datos.bancomundial.org/indicador/NY.GDP.MKTP.CD - http://data.worldbank.org/indicator/NY.GDP.MKTP.CD - http://data.worldbank.org/indicator/NY.GDP.MKTP.CD - - - - - - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/zh/ - FAO terminology - http://www.fao.org/termportal/en/ - FAO terminology http://www.fao.org/termportal/en/ - 2010-06-24 - - - FAOSTAT - 2011-07-21 - FAOSTAT http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor - http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor - http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor - http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=es#ancor - http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=fr#ancor - Land area is the total area of the country excluding area under inland water bodies. Possible variations in the data may be due to updating and revisions of the country data and not necessarily to any change of area. Data are expressed in 1 000 hectares. http://faostat.fao.org/site/375/default.aspx - - - - - - - http://www.fao.org/termportal/en/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/zh/ - FAO terminology - 2010-06-24 - - - FAO terminology http://www.fao.org/termportal/en/ - 2010-06-24 - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/fr/ - - FAO terminology - http://www.fao.org/termportal/contr/zh/ - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/ar/ - - - - - - - - - - - - - - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/zh/ - 2010-06-24 - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/ar/ - FAO terminology - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/en/ - - - - - - - - - - - - - - - - - - - - - - 2010-06-24 - FAO terminology - http://www.fao.org/termportal/contr/zh/ - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/ar/ - FAO terminology http://www.fao.org/termportal/en/ - - - - http://www.fao.org/termportal/contr/es/ - - - http://www.fao.org/termportal/contr/zh/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/fr/ - - - - FAO terminology - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/ar/ - 2010-06-24 - - - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/zh/ - http://www.fao.org/termportal/contr/ar/ - FAO terminology - 2010-06-24 - - - - http://www.fao.org/termportal/contr/es/ - - - - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/zh/ - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/en/ - FAO terminology - 2010-06-24 - http://www.fao.org/termportal/contr/fr/ - - - - - - United Nations Statistics Division - http://unstats.un.org/unsd/methods/m49/m49alpha.htm - http://unstats.un.org/unsd/methods/m49/m49alphaf.htm - 2010-04-01 - United Nations Statistics Division http://unstats.un.org/unsd/methods/m49/m49alpha.htm - - - http://www.fao.org/termportal/contr/fr/ - FAO terminology - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/ar/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/en/ - - - - http://www.fao.org/termportal/contr/en/ - 2010-06-24 - http://www.fao.org/termportal/contr/zh/ - - - The value of the datatype property *validSince* associated to a particular area (territory or group) indicates the area's first year of validity. The geopolitical ontology traces back historic changes only until 1985, therefore, if an area has a validSince = 1985, this indicates that the area is/was valid since 1985 or before. - - - - - - - - - - - - - - - - - - DBpedia - http://dbpedia.org/About - 2010-04-28 - DBpedia http://dbpedia.org/About - - - http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=fr#ancor - 2011-07-21 - Country area, area of the country including area under inland water bodies, but excluding offshore territorial waters. Possible variations in the data may be due to updating and revisions of the country data and not necessarily to any change of area. Data are expressed in 1000 hectares. http://faostat.fao.org/site/375/default.aspx - http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=es#ancor - http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor - http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor - - FAOSTAT http://faostat.fao.org/DesktopDefault.aspx?PageID=377&lang=en#ancor - FAOSTAT - - - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/zh/ - FAO terminology - 2010-06-24 - http://www.fao.org/termportal/contr/en/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/en/ - - http://www.fao.org/termportal/contr/fr/ - - - http://www.fao.org/termportal/contr/zh/ - FAO terminology - http://www.fao.org/termportal/en/ - - - - http://www.fao.org/termportal/contr/ar/ - 2010-06-24 - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/es/ - - - - - - FAOSTAT - http://faostat.fao.org - http://faostat.fao.org/default.aspx?lang=es - http://faostat.fao.org/default.aspx?lang=fr - FAOSTAT http://faostat.fao.org - - - http://www.fao.org/termportal/contr/zh/ - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/fr/ - FAO terminology - http://www.fao.org/termportal/contr/en/ - FAO terminology http://www.fao.org/termportal/en/ - - 2010-06-24 - - - - - - - - - - - - - AGROVOC - http://aims.fao.org/fr/website/Search-AGROVOC/sub - AGROVOC http://aims.fao.org/website/Search-AGROVOC/sub - http://aims.fao.org/zh-hans/website/Search-AGROVOC/sub - http://aims.fao.org/ar/website/Search-AGROVOC/sub - http://aims.fao.org/es/website/Search-AGROVOC/sub - http://aims.fao.org/website/Search-AGROVOC/sub - - - - - - - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/ar/ - 2010-06-24 - http://www.fao.org/termportal/contr/fr/ - FAO terminology - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/zh/ - - - - - - - - http://www.fao.org/termportal/contr/zh/ - http://www.fao.org/termportal/contr/es/ - - - - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/contr/fr/ - FAO terminology - http://www.fao.org/termportal/contr/en/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/en/ - 2010-06-24 - - - 2010-06-24 - http://www.fao.org/termportal/contr/fr/ - http://www.fao.org/termportal/contr/en/ - - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/zh/ - FAO terminology - http://www.fao.org/termportal/contr/ar/ - - - - - - - - - - - - Global Administrative Unit Layers - http://www.fao.org/geonetwork/srv/en/metadata.show?id=12691 - 2008-12-10 - Global Administrative Unit Layers http://www.fao.org/geonetwork/srv/en/metadata.show?id=12691 - - - 2010-06-24 - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/ar/ - FAO terminology - - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/es/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/zh/ - http://www.fao.org/termportal/contr/fr/ - - - - - - - - ISO 3166-1 - http://www.iso.org/iso/country_codes/iso_3166_code_lists.htm - ISO 3166-1 http://www.iso.org/iso/country_codes/iso_3166_code_lists.htm - - - http://www.fao.org/termportal/en/ - 2010-06-24 - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/zh/ - FAO terminology http://www.fao.org/termportal/en/ - FAO terminology - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/contr/fr/ - - - - FAO terminology - http://www.fao.org/termportal/contr/ar/ - - http://www.fao.org/termportal/contr/en/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/es/ - http://www.fao.org/termportal/contr/fr/ - 2010-06-24 - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/zh/ - - - http://hdrstats.undp.org/en/indicators/49806.html - http://hdrstats.undp.org/en/indicators/49806.html - http://hdrstats.undp.org/fr/indicateurs/49806.html - 2010-11-04 - UNDP - HDRO - - UNDP - HDRO http://hdrstats.undp.org/en/indicators/49806.html - composite index measuring average achievement in three basic dimensions of human development—a long and healthy life, knowledge and a decent standard of living. Source: Calculated based on data from UNDESA (2009d), Barro and Lee (2010), UNESCO Institute for Statistics (2010b), World Bank (2010b) and IMF(2010a) . http://hdrstats.undp.org/en/indicators/49806.html - http://hdrstats.undp.org/es/indicadores/49806.html - - - - - - - - - - - - - - http://www.fao.org/termportal/contr/es/ - FAO terminology http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/ar/ - http://www.fao.org/termportal/contr/en/ - http://www.fao.org/termportal/en/ - http://www.fao.org/termportal/contr/zh/ - http://www.fao.org/termportal/contr/fr/ - FAO terminology - 2010-06-24 - - - - - United Nations Statistics Division - http://unstats.un.org/unsd/methods/m49/m49alpha.htm - http://unstats.un.org/unsd/methods/m49/m49alphaf.htm - 2010-04-01 - United Nations Statistics Division http://unstats.un.org/unsd/methods/m49/m49alpha.htm - - - - - - - The value of the datatype property *validUntil* associated to a particular area (territory or group) indicates the area's last year of validity. In case the area is currently valid, this value is set by default to 9999. - - - - - - - - - - - - - - - - - - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/grant.owl b/productMods/WEB-INF/filegraph/tbox/grant.owl new file mode 100644 index 00000000..f84e1b08 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/grant.owl @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + co-principal investigator role + + Role of co-principal investigator of an Agreement (for example, a grant), who devotes a specified percentage of time and is considered key personnel. + + + + + + + + contract + An agreement involving specific deliverables and payment + + + + + + + + grant + + An intramural or extramural award to support scholarly work, such as UF09179 (VIVO) + Financial assistance mechanism providing money, property, or both to an eligible entity to carry out an approved project or activity + Short definition is from the Glossary of NIH Terms. + + + + + + + + investigator role + + A role in an Agreement (for example, a grant) as a named investigator or key personnel. + + + + + + + + principal investigator role + + Role of a person to direct a project or activity being supported by an Agreement (for example, a grant), and who is accountable to the grantee for the proper conduct of the project or activity. Also known as Program Director or Project Director. + + + + + + + + + + + + + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/location.owl b/productMods/WEB-INF/filegraph/tbox/location.owl new file mode 100644 index 00000000..0650cecf --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/location.owl @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + building + + Building that provides a particular service or is used for a particular activity. + Enter building name. If the building's name is a number (as in many governmental organizations such as national laboratories and military bases), then enter it. Do not confuse with the number that appears in a postal address. + Martha Van Rensselaer Hall (VR); Caldwell Hall (CD); University Auditorium + + + + + + + + campus + + Cornell Ithaca; Cornell Geneva; Cornell New York City; Cornell Qatar + Definition taken from dictionary.com (http://dictionary.reference.com/browse/campus). + The grounds of a school, college, university, or hospital. Or, a large, usually suburban, landscaped business or industrial site. + + + + + + + + facility + Distinct from the organization that runs it; e.g., a laboratory may be an organization but may be run by another organization and only consist of facilities housing equipment or services. Can be a building or place that provides a particular service or is used for a particular activity. Use the specific Building or Room whenever possible. Short definition from http://dictionary.reference.com/browse/facility. + Something designed, built, installed, etc., to serve a specific function or activity affording a convenience or service. + Use subclasses of core:Facility subclasses instead of this class if possible + + + + + + + + geographic location + + A location having coordinates in geographic space. + Removed the word "stable" because disputed territories from geopolitical.owl are included. This could imply that the geographic coordinates could change. I've also copied this definition to core:Geographic Location. I think core:Geographic Location and core:Geographic Region are both the same and only one is needed. There is also geopolitical.owl:geographical_region which further causes confusion. + Use subclasses of core:Geographic Location subclasses instead of this class if possible. + + + + + + + + geographic region + + A location having coordinates in geographic space. + Removed the word "stable" because disputed territories from geopolitical.owl are included. This could imply that the geographic coordinates could change. This definition was originally in core:Geographic Location. I simply copied the definition from there. I think core:Geographic Location and core:Geographic Region are both the same and only one is needed. There is also geopolitical.owl:geographical_region which further causes confusion. + Use subclasses of core:Geographic Region subclasses instead of this class if possible. + + + + + + + + + + + + + + location + It's anticipated that the subclasses will be used when classifying items. And, all locations can be viewable via this class. + Top level of all location classes. + Use subclasses of core:Location when classsifying items. + + + + + + + + populated place + + Either city or town - a thickly populated area having fixed boundaries and certain local powers of government. + + + + + + + + room + + 100 Caldwell Hall; 114 Martha Van Rensselaer (Rushmore Conference Room) + Enter room number of name. + Room that provides a particular service or is used for a particular activity. + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/object-properties.owl b/productMods/WEB-INF/filegraph/tbox/object-properties.owl index 0119a05b..a4601654 100644 --- a/productMods/WEB-INF/filegraph/tbox/object-properties.owl +++ b/productMods/WEB-INF/filegraph/tbox/object-properties.owl @@ -122,16 +122,6 @@ - - - - relevant_for - - - - - - @@ -211,6 +201,586 @@ + + + + provides_access_to + An access service that provides access to a flow cytometer. + Instruments, reagents, organisms, or software for which the service provides access. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + change the domain tye to access service + + + + + + + + + + + + + + + + + + + + + uses + Here there are things to be fixed (for instance a service can use a technique...) + Microsoft powerpoint is commonly used in research laboratories to prepare presentations. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + Software or protocol used by the laboratory. + uses + + + + + + + + + + + + + + + + + + + + has_expertise + Brian Druker has expertise in cancer research. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + Technique in which the person is proficient. + has expertise + + + + + + + + + + + has_manufacturer + Organization or person that created the resource. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + Santa Cruz Biotechnology is the manufacturer of many antibodies. + has manufacturer + + + + + + + + + + + + + + + + + + + + provides_service + A core lab providing cell sorting to individual labs. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + Service offered by the organization. + provides services + + + + + + + + + + + + + + + + + + specifies_the_use_of + A protocol can specify the use of a flow cytometer. + Instruments, techniques, reagents, organisms, or software that are referenced in a protocol. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + specifies the use of + + + + + + + + + + + + + + + + + + + + + + used_by + A laboratory uses Microsoft Word. + Laboratory that uses the protocol or software. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + used by + + + + + + + + + + + + + + + + + + + has_input_type + Imaging processing software that requires .jpg format files for analysis. + PERSON: Carlo Torniai + PERSON: Melissa Haendel + Software data input format. + has input format + + + + + + + + + + + + + + + + + + has_output_type + Microsoft Excel arranges and saves data in .xlsx format. + PERSON: Carlo Torniai + PERSON: Melissa Haendel + Software data output type. + has output format + + + + + + + + + + + achieves_objective + ImageJ software measures characteristics of digital images. + PERSON: Carlo Torniai + PERSON: Melissa Haendel + Transformation objective of the software. + achieves objective + + + + + + + + + + + service_provided_by + A core laboratory provides a service. + Organization or laboratory performing the service. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + service provided by + + + + + + + + + + + + + + + + + + + performs + A cancer researcher performs apoptosis assays. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + Technique carried out by the person or laboratory. + + + + + + + + + + + + + + + + + + is_performed_by + Confocal microscopy is performed by a confocal core laboratory. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + Person or laboratory that performs the service or technique. + is performed by + + + + + + + + + + + + + + + + + + + has_documentation + An antibody has documentation describing attributes of the antibody. + Document that contains relevant resource information. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + has documentation + + + + + + + + + + + + + + + + + + + + + + + + + realizes_protocol + A sequencing protocol used for next generation sequencing. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + Protocol used to perform the service. + placeholder: need to be modeled for the proper kind of service (production services) + realizes protocol + + + + + + + + + + + + + + + + + + uses_software + PERSON: Melissa Haendel + PERSON: Melissa Haendel + Placeholder needs to be redesign + Sequence analysis software. + Software used to perform the service. + true + uses software + + + + + + + + + + + + + + related_technique + Flow cytometry is a related technique for a flow cytometer instrument. + Method in which the resource can be used. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + related technique + + + + + + + + + + + + + + + + + + + + + + + + + + + + + used_to_study + A study of hibernation in bears. + Biological process studied in the organism. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + used to study + + + + + + + + + + + + has_residency_requirement + A research opportunity requires applicants to be US citizens. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + US residency status of applicants that may apply for the student research opportunity. + has residency requirement + + + + + + + + + + + + related_research_project + A research project studying breast cancer. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + Research project during which the biological specimen was collected. + related research project + + + + + + + + + + + + related_biological_specimen + A breast cancer specimen. + Biological specimen collected as part of the research project. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + related biological specimen + + + + + + + + + + + + has_preparation_technique + PERSON: Melissa Haendel + PERSON: Melissa Haendel + Paraffin embedding of tissue. + Technique used to prepare the biological specimen. + has preparation technique + + + + + + + + + + + + + has_phase + PERSON: Melissa Haendel + PERSON: Melissa Haendel + Phase 1 clinical trial. + Phase of a clinical trial to evaluate risk and to clinically evaluate the efficacy of drugs or biologicals. + has phase + + + + + + + + + + + performs_human_study + Human study performed by the organization. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + The Jackson Heart Institute performs human studies on heart disease. + performs human study + + + + + + + + + + + + + human_study_performed_by + Jackson State University performs human studies on heart disease. + Organization that performs the human study. + PERSON: Melissa Haendel + PERSON: Melissa Haendel + human study performed by + + + + + + + + + + + + + has_format + + + + + + + + + + has_software_license + Is a legal instrument (usually by way of contract law) governing the usage or redistribution of software. + PERSON: Scott Hoffmann + http://en.wikipedia.org/wiki/Software_license + + + + + + + + + + + objective_achieved_by_operation + Links an objective to a software operation whise execution achieves the objective. Is different from OBI:objective_achieved_by which links an objective to the process that achieves it. + PERSON:Matthew Brush + PERSON:Matthew Brush + a relation between a software objective (data transformation objective) and an operation whose execution in a software tool achieves the objective + software relation expanding to something like: + +objective_achieved_by some ('software/algorithm execution' and (specified_by some 'data processing operation')) + + + + + + @@ -1570,823 +2140,6 @@ functioning) and indirectly_realizes. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - realizable_entity - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - research project - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - monoclonal antibody reagent - - - - - - - - construct - - - - - - - - - - - - - - - - - - - - viral plasmid - - - - - - - - nucleic acid reagent - - - - - - - - - - - - - - non viral organism - - - - - - - - reagent library - - - - - - - - gene knockdown reagent - - - - - - - - hybridoma cell line - - - - - - - - immunotechnique - - - - - - - - material antibody target - - - - - - - - biological target - - - - - - - - immunogenic material - - - - - - - - data - - - - - - - - biospecimen preparation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - objective specification - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - mammalian phenotype - - - - - - - - - - - - - - homo sapiens - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - microarray - - - - - - - - disease - - - - - - - - pato quality - - - - - - - - - - - - - - anatomical entity - - - - - - - - event - - - - - - - - phase (ocre) - - - - - - - - - - - - - - patent - - - - - - - - association - - - - - - - - center - - - - - - - - consortium - - - - - - - - core laboratory - - - - - - - - course - - - - - - - - - - - - - - - - - - - - foundation - - - - - - - - funding organization - - - - - - - - geographic location - - - - - - - - geographic region - - - - - - - - grant - - - - - - - - institute - - - - - - - - laboratory - - - - - - - - library - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - agent - - - - - - - - - - - - - -
- - - +
diff --git a/productMods/WEB-INF/filegraph/tbox/other.owl b/productMods/WEB-INF/filegraph/tbox/other.owl new file mode 100644 index 00000000..ee5c82e8 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/other.owl @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + rate measurement datum + + + + + + + + + rate unit + + + + + + + + + urllink + The full URL. + Uniform Resource Locator (URL) specifies where an identified resource is available and the mechanism for retrieving it. + http://info.slis.indiana.edu/~katy/ + + + + + + + + + + + + + + count per year + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/outreach.owl b/productMods/WEB-INF/filegraph/tbox/outreach.owl new file mode 100644 index 00000000..e0398e44 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/outreach.owl @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + outreach provider role + An outreach or community service role directed outside a person's primary profession and institution + Communicating Astronomy to the Public + The example is one outreach role required by US space agency NASA, which is related with one project in NASA. Name of the outreach role should be put here. + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/process.owl b/productMods/WEB-INF/filegraph/tbox/process.owl new file mode 100644 index 00000000..56a049ad --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/process.owl @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + advising process + + + + + + + + attending process + + + + + + + + presenting process + + + + + + + + project + An endeavor, frequently collaborative, that occurs over a finite period of time and is intended to achieve a particular aim. + An endeavor, frequently collaborative, that occurs over a finite period of time and is intended to achieve a particular aim. + + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/publication.owl b/productMods/WEB-INF/filegraph/tbox/publication.owl new file mode 100644 index 00000000..776e541f --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/publication.owl @@ -0,0 +1,1230 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + journal article + + Examples are articles published in the journals, Nature and Science. The content can often be cited by reference to a paper based encoding, e.g. Authors, Title of article, Journal name, date or year of publication, volume and page number. + OBI_0000159 + a report that is published in a journal + group:OBI + journal article + person:Alan Ruttenberg + person:Chris Stoeckert + + + + + + + + + + + + + + + + + + + + + + + + + + + + academic article + + A specific academic journal article + Written by scholars for other scholars, typically published in an academic journal with an abstract and bibliography + http://purl.org/ontology/bibo/ + A scholarly academic article, typically published in a journal. + stable + + + + + + + + article + + A specific journal article + A written composition in prose, usually nonfiction, on a specific topic, forming an independent part of a periodical or book + Short Definition modified from the bibo ontology. + http://purl.org/ontology/bibo/ + stable + A written composition in prose, usually nonfiction, on a specific topic, forming an independent part of a book or other publication, as a newspaper or magazine. + + + + + + + + audio document + + Recorded audio in any format + http://purl.org/ontology/bibo/ + phonograph record; tape; CD; DVD; DAT + stable + An audio document; aka record. + + + + + + + + audio-visual document + + Audiovisual recording in any format + film; video; Blu-ray + http://purl.org/ontology/bibo/ + An audio-visual document; film, video, and so forth. + stable + + + + + + + + bill + + Draft legislation presented for discussion to a legal body + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + stable + Draft legislation presented for discussion to a legal body. + + + + + + + + book + + A written or printed work of fiction or nonfiction, usually on sheets of paper fastened or bound together within covers + Short Definition copied from bibo ontology + http://purl.org/ontology/bibo/ + A written or printed work of fiction or nonfiction, usually on sheets of paper fastened or bound together within covers. + stable + + + + + + + + book section + + A section of a book + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + unstable + A section of a book. + + + + + + + + brief + + A document stating the facts and points of law of a client's case + http://purl.org/ontology/bibo/ + unstable + A written argument submitted to a court. + + + + + + + + chapter (bibo) + + A main division of a book + http://purl.org/ontology/bibo/ + A chapter of a book. + unstable + + + + + + + + code (bibo) + + A work consisting of texts of rules and regulations related to statutes issued by executive or administrative agencies + Code of Federal Regulations + Short Definition from OCLC Input Standards, EntW + http://purl.org/ontology/bibo/ + A collection of statutes. + stable + + + + + + + + collected document + + Short Definition is the Medical Subject Heading (MeSH) definition + Work consisting of collections of previously published works + http://purl.org/ontology/bibo/ + stable + A document that simultaneously contains other documents. + + + + + + + + collection (bibo) + + Collection of information resources that have a unified identity + Collection of information resources that have a unified identity. Archives, museums and libraries often acquire collections on specific subjects and from distinguished authors or researchers. Also includes collections of resources bundled into a license. + Hill Ornithology Collection; Wiley Interscience Online Books Biochemisty Collection + http://purl.org/ontology/bibo/ + stable + A collection of Documents or Collections + + + + + + + + conference + + 2010 International Congress on Autoimmunity; American Libraries Association 2009 + A meeting for consultation or discussion. + core:Seminar and bibo:Conference are very similar. + http://purl.org/ontology/bibo/ + A meeting for consultation or discussion. + stable + + + + + + + + court reporter + + Collection of legal cases + Supreme Court Reporter + http://purl.org/ontology/bibo/ + stable + A collection of legal cases. + + + + + + + + document + + A bounded physical representation of a body of information designed with the capacity (and usually intent) to communicate + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + A collection of information content entities intended to be understood together as a whole + A document (noun) is a bounded physical representation of body of information designed with the capacity (and usually intent) to communicate. A document may manifest symbolic, diagrammatic or sensory-representational information. + A journal article, patent application, laboratory notebook, or a book + PERSON: Lawrence Hunter + document + + + + + + + + + + document part + + A distinct part of a larger document or collected document + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + a distinct part of a larger document or collected document. + unstable + + + + + + + + edited book + + An edited collection of stand-alone articles published as a book + Best American Science Writing 2009 + http://purl.org/ontology/bibo/ + stable + An edited book. + + + + + + + + excerpt + + A passage selected from a larger work + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + stable + A passage selected from a larger work. + + + + + + + + film + + Audiovisual recording in film format + http://purl.org/ontology/bibo/ + aka movie. + stable + + + + + + + + hearing + + An instance or a session in which testimony and arguments are presented, esp. before an official, as a judge in a lawsuit. + Definiton from Bibo here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html + http://purl.org/ontology/bibo/ + An instance or a session in which testimony and arguments are presented, esp. before an official, as a judge in a lawsuit. + stable + + + + + + + + image + + + + A visual representation such as a photograph or graph + http://purl.org/ontology/bibo/ + photograph; diagram + A document that presents visual or diagrammatic information. + stable + + + + + + + + interview + + A conversation between two or more people where questions are asked by the interviewer to obtain information from the interviewee. + http://purl.org/ontology/bibo/ + radio or newspaper interview + A formalized discussion between two or more people. + stable + + + + + + + + issue (bibo c) + + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + something that is printed or published and distributed, esp. a given number of a periodical + something that is printed or published and distributed, esp. a given number of a periodical + stable + + + + + + + + journal + + Articles usually contain abstracts and bibliographies. Includes peer-reviewed, non-peer-reviewed, and open access journals. Journals are usually indexed in the major academic databases such as PubMed and Web of Science. + Contains original scholarly research or review articles by experts in the field + Journal of Information Science; IEEE Intelligent System; Scientometrics + http://purl.org/ontology/bibo/ + stable + A periodical of scholarly journal Articles. + + + + + + + + legal case document + + Official court papers for a case + http://purl.org/ontology/bibo/ + A document accompanying a legal case. + unstable + + + + + + + + decision + + The written determination of a case, motion or claim by a court or tribunal + http://purl.org/ontology/bibo/ + unstable + A document containing an authoritative determination (as a decree or judgment) made after consideration of facts or law. + + + + + + + + legal document + + a document that states some contractual relationship or grants some right + http://purl.org/ontology/bibo/ + A legal document; for example, a court decision, a brief, and so forth. + stable + + + + + + + + legislation + + Enactments of legislative bodies, published in either statute or code form + From OCLC Input Standards, EntW + http://purl.org/ontology/bibo/ + A legal document proposing or enacting a law or a group of laws. + unstable + + + + + + + + letter + + A written or printed communication addressed to a person or organization and usually transmitted by mail + A written or printed communication addressed to a person or organization and usually transmitted by mail + + + + + + + + magazine + + Abstracts and bibliographies are usually not included in magazines. + Contains articles of current events or general interest, geared to the reading public as being informative or recreational + New Yorker + http://purl.org/ontology/bibo/ + A periodical of magazine Articles. A magazine is a publication that is issued periodically, usually bound in a paper cover, and typically contains essays, stories, poems, etc., by many writers, and often photographs and drawings, frequently specializing in a particular subject or area, as hobbies, news, or sports. + stable + + + + + + + + manual + + A book of instructions or guide to a specific topic + SDB User Manual + http://purl.org/ontology/bibo/ + A small reference book, especially one giving instructions. + unstable + + + + + + + + manuscript + + Short Definition is the Medical Subject Heading (MeSH) definition + Works prepared by hand including handwritten or typescript drafts of pre-publication papers or works not otherwise reproduced in multiple copies + http://purl.org/ontology/bibo/ + An unpublished Document, which may also be submitted to a publisher for publication. + stable + + + + + + + + map + + A graphical depiction of geographic features, scientific discipline, scientific data analytical results + The Short Definition is how the bibo ontology defines Map. It has been extended to include more broader concept of map which includes science maps, social network maps. + http://purl.org/ontology/bibo/ + A graphical depiction of geographic features. + unstable + + + + + + + + newspaper + + Contains news articles, opinions, features, advertising, and is usually issued daily or weekly + USA Today + http://purl.org/ontology/bibo/ + stable + A periodical of documents, usually issued daily or weekly, containing current news, editorials, feature articles, and usually advertising. + + + + + + + + note (bibo c) + + Notes or annotations about a resource + Short Definition from bibo ontology + http://purl.org/ontology/bibo/ + stable + Notes or annotations about a resource. + + + + + + + + patent + + (from BIBO) A document describing the exclusive right granted by a government to an inventor to manufacture, use, or sell an invention for a certain number of years + A patent is an exclusive right granted for an invention, which is a product or a process that provides, in general, a new way of doing something, or offers a new technical solution to a problem. In order to be patentable, the invention must fulfill certain conditions. (http://www.wipo.int/patentscope/en/) + http://purl.org/ontology/bibo/ + stable + A document describing the exclusive right granted by a government to an inventor to manufacture, use, or sell an invention for a certain number of years. + + + + + + + + performance + + Something carried out, acted or rendered. + http://purl.org/ontology/bibo/ + unstable + A public performance. + + + + + + + + periodical + + http://purl.org/ontology/bibo/ + stable + A group of related documents issued at regular intervals. + + + + + + + + personal communication document + + A personal communication manifested in some document. + A personal communication manifested in some document. + + + + + + + + proceedings + + A compilation of documents published from an event, such as a conference + Short Definition copied from bibo ontology + http://purl.org/ontology/bibo/ + unstable + A compilation of documents published from an event, such as a conference. + + + + + + + + quote + + An excerpted collection of words + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + An excerpted collection of words. + stable + + + + + + + + reference source + + A document that presents authoritative reference information, such as a dictionary or encylopedia + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + unstable + A document that presents authoritative reference information, such as a dictionary or encylopedia . + + + + + + + + report + + A document describing an account or statement describing in detail an event, situation, or the like, usually as the result of observation, inquiry, etc. + Medical Subject Heading (MeSH) definition of Technical Report: Work consisting of a formal report giving details of the investigation and results of a medical or other scientific problem. When issued by a government agency or comparable official body, its contents may be classified, unclassified, or declassified with regard to security clearance. This publication type may also cover a scientific paper or article that records the current state or current position of scientific research and development. If so labeled by the editor or publisher, this publication type may be properly used for journal articles. + http://purl.org/ontology/bibo/ + stable + A document describing an account or statement describing in detail an event, situation, or the like, usually as the result of observation, inquiry, etc.. + + + + + + + + series + + A thematic collection of documents, usually books, issued at regular or irregular intervals + Methods in Molecular Biology + http://purl.org/ontology/bibo/ + A loose, thematic, collection of Documents, often Books. + stable + + + + + + + + slide + + A slide in a slideshow + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + A slide in a slideshow + unstable + + + + + + + + slideshow + + A presentation of a series of slides, usually presented in front of an audience with written text and images + Short Definition from the bibo ontology + http://purl.org/ontology/bibo/ + A presentation of a series of slides, usually presented in front of an audience with written text and images. + stable + + + + + + + + standard + + A specification giving a precise statement of a process or a service requirement, often sanctioned by a nation or industry + Short Definition from OCLC Input Standards, EntW + http://purl.org/ontology/bibo/ + A document describing a standard + stable + + + + + + + + statute + + A bill enacted into law + Short Definition from bibo ontology + http://purl.org/ontology/bibo/ + A bill enacted into law. + stable + + + + + + + + thesis + + Short Definition from OCLC Input Standards, EntW + Works created to satisfy the requirements for an academic certification or degree; also called dissertation + http://purl.org/ontology/bibo/ + A document created to summarize research findings associated with the completion of an academic degree. + stable + + + + + + + + webpage + + One section of a website that appears at a unique address within the parent site's address or URL on the World Wide Web + http://purl.org/ontology/bibo/ + A web page is an online document available (at least initially) on the world wide web. A web page is written first and foremost to appear on the web, as distinct from other online resources such as books, manuscripts or audio documents which use the web primarily as a distribution mechanism alongside other more traditional methods such as print. + unstable + + + + + + + + website + + A group of webpages available within a specific parent address or URL on the World Wide Web + Facebook; VIVOweb.org; Flickr + http://purl.org/ontology/bibo/ + A group of Webpages accessible on the Web. + unstable + + + + + + + + workshop + + Bibo Definition: A seminar, discussion group, or the like, that emphasizes exchange of ideas and the demonstration and application of techniques, skills, etc. + http://purl.org/ontology/bibo/ + A seminar, discussion group, or the like, that emphasizes zxchange of ideas and the demonstration and application of techniques, skills, etc. + stable + + + + + + + + bibliographic information source + + A source of information about bibliographic citations, such as Google Scholar, Web of Science or Scopus. + + + + + + + + global citation count + + The number of times a work has been cited globally, as determined from a particular bibliographic information source on a particular date. + + + + + + + + clinical guideline + + A recommendation on the appropriate treatment and care of people with a specific disease or condition, based on the best available evidence, designed to help healthcare professionals in their work. + A recommendation on the appropriate treatment and care of people with a specific disease or condition, based on the best available evidence, designed to help healthcare professionals in their work. + + + + + + + + comment + + A verbal or written remark concerning some entity. In written form, a comment is often appended to that entity and termed an annotation. Within computer programs or ontologies, comments are added to enhance human understanding, and are usually prefaced by + A verbal or written remark concerning some entity. In written form, a comment is often appended to that entity and termed an annotation. Within computer programs or ontologies, comments are added to enhance human understanding, and are usually prefaced by a special syntactic symbol that ensures they are ignored during execution of the program. + +has super-classes + + + + + + + + erratum + + A formal correction to an error introduced by the publisher into a previously published document. + A formal correction to an error introduced by the publisher into a previously published document. + + + + + + + + authorship + + + Authorship of journal articles, books and other original works is a means by which academics communicate the results of their scholarly work, establish priority for their discoveries, and build their reputation among their peers. +This class allows for linking an author to a publication while indicating information about that author's authorship. + Contains the authors name, their rank in the publication, and whether or not they are a corresponding author on the publication. + Currently any abstract name is given to members of this class. This could change in the future. + + + + + + + + blog + + Blog is short for weblog. + Library of Congress Blog + Regularly updated online journal or newsletter by one or more writers, called bloggers, containing articles and commentary of interest to the blogger + + + + + + + + blog posting + + A specific blog posting + An online article or commentary appearing on a blog + + + + + + + + case study + + A form of qualitative descriptive research that is used to study individuals, a small group of participants, or a group as a whole. Medical usage (from MeSH): clinical presentations that may be followed by evaluative studies that eventually lead to a diagnosis. + A qualitative descriptive research study of individuals or a group + + + + + + + + catalog + + A list of items in a collection; an ordered compilation of item descriptions and sufficient information to afford access to them + NLM Catalog + Short Definition is the Medical Subject Heading (MeSH) definition + + + + + + + + conference paper + + A paper presented at a conference; optionally collected into a Proceedings or a special Journal issue + + + + + + + + conference poster + + The digital file (or physical equivalent), if available after the conference, vs. the act of attending/presenting: use ConferencePresentation for information about date/time/location/name of the event where the poster was presented + + + + + + + + database (vivo) + + A structured file of information or a set of logically related data stored and retrieved using computer-based means + PubMed + Short Definition is the Medical Subject Heading (MeSH) definition + + + + + + + + dataset + + A named collection of data, usually containing only one type of data + US Patent Data; US Job Data + + + + + + + + editor role + An ongoing editorial responsibility for a bibo:Collection, such as a Journal or Series + An ongoing editorial responsibility for a bibo:Collection, such as a Journal or Series + + + + + + + + editorial article + + An article of opinion, typically published in a newspaper. For academics, most commonly Op Ed pieces + + + + + + + + f1000 link + + F1000, is a place where faculty go to critique papers published in PubMed. Any given record in F1000 might have anywhere from one to dozens of reviews. + + + + + + + + invited talk + + + + + + + + + news release + + A short written piece focused on an event or announcement of note, having a defined publication time and of less enduring interest than a news feature. + + + + + + + + newsletter + + The Ornithological Newsletter + Usually issued periodically, prepared by or for a group or institution to present information to a specific audience, often also made available to the press and public + + + + + + + + peer reviewer role + + A role of peer reviewing + is a generic term for a process of self-regulation by a profession or a process of evaluation involving qualified individuals within the relevant field. Peer review methods are employed to maintain standards, improve performance and provide credibility. In academia the term is often used to denote a prepublication review of academic papers; reviewing an academic paper is often called refereeing. +Contents +[hide] + + + + + + + + + + + + + + + + + + + + research proposal + + A proposal for a research grant that has been submitted but not approved; does not represent an existing activity + + + + + + + + review + + An article reviewing one or more other information resources (a book, one or more other articles, movies, etc) + + + + + + + + reviewer role + A role that encompasses both ongoing reviewer responsibility for a bibo:Collection, such as a Journal or Series, and also a review performed for a bibo:Document, such as a book, academic article or conference paper. + A role that encompasses both ongoing reviewer responsibility for a bibo:Collection, such as a Journal or Series, and also a review performed for a bibo:Document, such as a book, academic article or conference paper. + + + + + + + + score + + Written musical composition for voice or instruments or both + + + + + + + + screenplay + + Written script for a film production, including dialogue and descriptions of gestures, actions, shooting directions + + + + + + + + speech + + Text of a speech written in preparation for delivery of the speech. + + + + + + + + translation + + The result of rendering a work from one language to another + + + + + + + + + + + + + + video (vivo) + + Audiovisual recording in video format + + + + + + + + working paper + + A document created as a basis for discussion or a very early draft of a formal paper + + + + + + + + + + + + + accepted + Accepted for publication after peer reviewing + + + + + + + + peer reviewed + &nbsp;Peer review is the process by which articles are chosen to be included in a refereed journal. An editorial board consisting of experts in the same field as the author review the article and decide if it is authoritative enough for publication. + + + + + + + + published + Published document + + + + + + + + in press + Document to be published + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/relationship.owl b/productMods/WEB-INF/filegraph/tbox/relationship.owl new file mode 100644 index 00000000..336ede56 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/relationship.owl @@ -0,0 +1,192 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + award or honor receipt + + The award bestowed may be represented with the Award class. + The bestowal of an award, honor, or distinction to a person or person's at a particular time. + + + + + + + + awarded degree + + The awarding of a degree by an agent to another agent. It is mostly for academic degrees. + + + + + + + + + + + + + + + + editorship + + A relationship that represents the recognition of an agent as an editor. + + + + + + + + faculty administrative position + + An academic administrative position (associate dean, etc.) as distinct from a professional administrative position (non-academic) + Associate Dean + That is a position held by an academic faculty member who works for administration. + + + + + + + + faculty position + + Academic position in a university or institution + Professor, associate professor and assistant professor are common positions for academic faculty. + Professor; Associate Professor; Assistant Professor + + + + + + + + librarian position + + A position held by library and information science professionals, or academic or technical experts, in support of providing information services or materials + It is the common position in libraries. + Librarian; Library Systems Analyst; Music Bibliographer + + + + + + + + non-academic position + + A position classified as professional, staff, support, or any other non-academic role + Accounting & Research Services Assistant; Director of Information Technology + Staff, support, and other non-academic positions. + + + + + + + + non-faculty academic position + + A position involving academic work but without faculty status + Researcher; Academic Extension Associate; Postdoctoral Associate + Those positions are held by people who do academic work but do not have faculty positions in universities or institutes. + + + + + + + + position (vivo) + + An employment activity, whether compensated or not. Short definition comes from http://en.wikipedia.org/wiki/Position, and has been modified. + Director of Admissions and Placement; Associate University Librarian + Particular position in an organization, commonly identified by job title, and normally associated with a job description that details the tasks and responsibilities that go with the position. + + + + + + + + postdoctoral position + + A postdoctoral training appointment (job) + + + + + + + + primary position + + A position designated as primary by the organization or group where it is held. This designation may be applied to zero or more of an agent's positions and may be asserted in conjunction with other subclasses of position. + A position designated as primary by the organization where it is held. + + + + + + + + relationship + a reified relationship + functions as an n-ary predicate + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/research-resource-iao.owl b/productMods/WEB-INF/filegraph/tbox/research-resource-iao.owl new file mode 100644 index 00000000..43b37ea3 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/research-resource-iao.owl @@ -0,0 +1,709 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + measurement unit label + + 2009-03-16: provenance: a term measurement unit was +proposed for OBI (OBI_0000176) , edited by Chris Stoeckert and +Cristian Cocos, and subsequently moved to IAO where the objective for +which the original term was defined was satisfied with the definition +of this, different, term. + 2009-03-16: review of this term done during during the OBI workshop winter 2009 and the current definition was considered acceptable for use in OBI. If there is a need to modify this definition please notify OBI. + A measurement unit label is as a label that is part of a scalar measurement datum and denotes a unit of measure. + Examples of measurement unit labels are liters, inches, weight per volume. + PERSON: Alan Ruttenberg + PERSON: Melanie Courtot + measurement unit label + + + + + + + + + + objective specification + + Answers the question, why did you do this experiment? + OBI Plan and Planned Process/Roles Branch + OBI_0000217 + PERSON: Alan Ruttenberg + PERSON: Barry Smith + PERSON: Bjoern Peters + PERSON: Jennifer Fostel + a directive information entity that describes an intended process endpoint. When part of a plan specification the concretization is realized in a planned process in which the bearer tries to effect the world so that the process endpoint is achieved. + objective specification + purpose of a study; support of hypothesis, discovery of new information + + + + + + + + + + action specification + + Alan Ruttenberg + OBI Plan and Planned Process branch + Pour the contents of flask 1 into flask 2 + a directive information entity that describes an action the bearer will take + + + + + + + + + + datum label + + 9/22/11 BP: changed the rdfs:label for this class from 'label' to 'datum label' to convey that this class is not intended to cover all kinds of labels (stickers, radiolabels, etc.), and not even all kind of textual labels, but rather the kind of labels occuring in a datum. + + A label is a symbol that is part of some other datum and is used to either partially define the denotation of that datum or to provide a means for identifying the datum as a member of the set of data with the same label + GROUP: IAO + datum label + http://www.golovchenko.org/cgi-bin/wnsearch?q=label#4n + + + + + + + + + + data item + + 2/2/2009 Alan and Bjoern discussing FACS run output data. This is a data item because it is about the cell population. Each element records an event and is typically further composed a set of measurment data items that record the fluorescent intensity stimulated by one of the lasers. + 2009-03-16: data item deliberatly ambiguous: we merged data set and datum to be one entity, not knowing how to define singular versus plural. So data item is more general than datum. + 2009-03-16: removed datum as alternative term as datum specifically refers to singular form, and is thus not an exact synonym. + Data items include counts of things, analyte concentrations, and statistical summaries. + JAR: datum -- well, this will be very tricky to define, but maybe some +information-like stuff that might be put into a computer and that is +meant, by someone, to denote and/or to be interpreted by some +process... I would include lists, tables, sentences... I think I might +defer to Barry, or to Brian Cantwell Smith + +JAR: A data item is an approximately justified approximately true approximate belief + PERSON: Alan Ruttenberg + PERSON: Chris Stoeckert + PERSON: Jonathan Rees + a data item is an information content entity that is intended to be a truthful statement about something (modulo, e.g., measurement precision or other systematic errors) and is constructed/acquired by a method which reliably tends to produce (approximately) truthful statements. + data + data item + + + + + + + + + + information content entity + + + + + + + + Examples of information content entites include journal articles, data, graphical layouts, and graphs. + OBI_0000142 + PERSON: Chris Stoeckert + an information content entity is an entity that is generically dependent on some artifact and stands in relation of aboutness to some entity + information content entity + information_content_entity 'is_encoded_in' some digital_entity in obi before split (040907). information_content_entity 'is_encoded_in' some physical_document in obi before split (040907). + +Previous. An information content entity is a non-realizable information entity that 'is encoded in' some digital or physical entity. + + + + + + + + + + scalar measurement datum + + 10 feet. 3 ml. + 2009-03-16: we decided to keep datum singular in scalar measurement datum, as in +this case we explicitly refer to the singular form + PERSON: Alan Ruttenberg + PERSON: Melanie Courtot + Would write this as: has_part some 'measurement unit label' and has_part some numeral and has_part exactly 2, except for the fact that this won't let us take advantage of OWL reasoning over the numbers. Instead use has measurment value property to represent the same. Use has measurement unit label (subproperty of has_part) so we can easily say that there is only one of them. + a scalar measurement datum is a measurement datum that is composed of two parts, numerals and a unit label. + + + + + + + + + directive information entity + + 8/6/2009 Alan Ruttenberg: Changed label from "information entity about a realizable" after discussions at ICBO + An information content entity whose concretizations indicate to their bearer how to realize them in a process. + PERSON: Alan Ruttenberg + PERSON: Bjoern Peters + Werner pushed back on calling it realizable information entity as it isn't realizable. However this name isn't right either. An example would be a recipe. The realizable entity would be a plan, but the information entity isn't about the plan, it, once concretized, *is* the plan. -Alan + + + + + + + + + + curation status specification + + + + + + + + + + + + + + + + + Better to represent curation as a process with parts and then relate labels to that process (in IAO meeting) + GROUP:OBI:<http://purl.obolibrary.org/obo/obi> + OBI_0000266 + PERSON:Bill Bug + The curation status of the term. The allowed values come from an enumerated list of predefined terms. See the specification of these instances for more detailed definitions of each enumerated value. + curation status specification + + + + + + + + + data about an ontology part + + Person:Alan Ruttenberg + data about an ontology part is a data item about a part of an ontology, for example a term + + + + + + + + plan specification + + 2009-03-16: provenance: a term a plan was proposed for OBI (OBI_0000344) , edited by the PlanAndPlannedProcess branch. Original definition was " a plan is a specification of a process that is realized by an actor to achieve the objective specified as part of the plan". It has been subsequently moved to IAO where the objective for which the original term was defined was satisfied with the definitionof this, different, term. + Alan Ruttenberg + Alternative previous definition: a plan is a set of instructions that specify how an objective should be achieved + OBI Plan and Planned Process branch + OBI_0000344 + PMID: 18323827.Nat Med. 2008 Mar;14(3):226.New plan proposed to help resolve conflicting medical advice. + a directive information entity that when concretized it is realized in a process in which the bearer tries to achieve the objectives, in part by taking the actions specified. Plan specifications includes parts such as objective specification, action specifications and conditional specifications. + plan specification + + + + + + + + + + measurement datum + + 2/2/2009 is_specified_output of some assay? + A measurement datum is an information content entity that is a recording of the output of a measurement such as produced by a device. + Examples of measurement data are the recoding of the weight of a mouse as {40,mass,"grams"}, the recording of an observation of the behavior of the mouse {,process,"agitated"}, the recording of the expression level of a gene as measured through the process of microarray experiment {3.4,luminosity,}. + OBI_0000305 + group:OBI + measurement datum + person:Chris Stoeckert + + + + + + + + + conclusion textual entity + + 2009/09/28 Alan Ruttenberg. Fucoidan-use-case + 2009/10/23 Alan Ruttenberg: We need to work on the definition still + A textual entity that expresses the results of reasoning about a problem, for instance as typically found towards the end of scientific papers. + Person:Alan Ruttenberg + conclusion textual entity + that fucoidan has a small statistically significant effect on AT3 level but no useful clinical effect as in-vivo anticoagulant, a paraphrase of part of the last paragraph of the discussion section of the paper 'Pilot clinical study to evaluate the anticoagulant activity of fucoidan', by Lowenthal et. al.PMID:19696660 + + + + + + + + + + obsolescence reason specification + + + + + + + + + + + + + PERSON: Alan Ruttenberg + PERSON: Melanie Courtot + The creation of this class has been inspired in part by Werner Ceusters' paper, Applying evolutionary terminology auditing to the Gene Ontology. + The reason for which a term has been deprecated. The allowed values come from an enumerated list of predefined terms. See the specification of these instances for more detailed definitions of each enumerated value. + obsolescence reason specification + + + + + + + + + textual entity + + A textual entity is a part of a manifestation (FRBR sense), a generically dependent continuant whose concretizations are patterns of glyphs intended to be interpreted as words, formulas, etc. + AR, (IAO call 2009-09-01): a document as a whole is not typically a textual entity, because it has pictures in it - rather there are parts of it that are textual entities. Examples: The title, paragraph 2 sentence 7, etc. + MC, 2009-09-14 (following IAO call 2009-09-01): textual entities live at the FRBR (http://en.wikipedia.org/wiki/Functional_Requirements_for_Bibliographic_Records) manifestation level. Everything is significant: line break, pdf and html versions of same document are different textual entities. + PERSON: Lawrence Hunter + Words, sentences, paragraphs, and the written (non-figure) parts of publications are all textual entities + text + textual entity + + + + + + + + denotator type + + + + + + + + + + + A denotator type indicates how a term should be interpreted from an ontological perspective. + Alan Ruttenberg + Barry Smith, Werner Ceusters + The Basic Formal Ontology ontology makes a distinction between Universals and defined classes, where the formal are "natural kinds" and the latter arbitrary collections of entities. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + example to be eventually removed + + + + + + + + + failed exploratory term + Person:Alan Ruttenberg + The term was used used in an attempt to structure part of the ontology but in retrospect failed to do a good job + + + + + + + + + metadata complete + Class has all its metadata, but is either not guaranteed to be in its final location in the asserted IS_A hierarchy or refers to another class that is not complete. + + + + + + + + + organizational term + term created to ease viewing/sort terms for development purpose, and will not be included in a release + + + + + + + + + ready for release + Class has undergone final review, is ready for use, and will be included in the next release. Any class lacking "ready_for_release" should be considered likely to change place in hierarchy, have its definition refined, or be obsoleted in the next release. Those classes deemed "ready_for_release" will also derived from a chain of ancestor classes that are also "ready_for_release." + + + + + + + + + metadata incomplete + Class is being worked on; however, the metadata (including definition) are not complete or sufficiently clear to the branch editors. + + + + + + + + + uncurated + Nothing done yet beyond assigning a unique class ID and proposing a preferred term. + + + + + + + + + pending final vetting + All definitions, placement in the asserted IS_A hierarchy and required minimal metadata are complete. The class is awaiting a final review by someone other than the term editor. + + + + + + + + + core + Core is an instance of a grouping of terms from an ontology or ontologies. It is used by the ontology to identify main classes. + PERSON: Alan Ruttenberg + PERSON: Melanie Courtot + + + + + + + + + placeholder removed + + + + + + + + + terms merged + An editor note should explain what were the merged terms and the reason for the merge. + + + + + + + + + term imported + This is to be used when the original term has been replaced by a term imported from an other ontology. An editor note should indicate what is the URI of the new term to use. + + + + + + + + + term split + This is to be used when a term has been split in two or more new terms. An editor note should indicate the reason for the split and indicate the URIs of the new terms created. + + + + + + + + + universal + A Formal Theory of Substances, Qualities, and Universals, http://ontology.buffalo.edu/bfo/SQU.pdf + Alan Ruttenberg + Hard to give a definition for. Intuitively a "natural kind" rather than a collection of any old things, which a class is able to be, formally. At the meta level, universals are defined as positives, are disjoint with their siblings, have single asserted parents. + + + + + + + + + defined class + "definitions", in some readings, always are given by necessary and sufficient conditions. So one must be careful (and this is difficult sometimes) to distinguish between defined classes and universal. + A defined class is a class that is defined by a set of logically necessary and sufficient conditions but is not a universal + Alan Ruttenberg + + + + + + + + + named class expression + A named class expression is a logical expression that is given a name. The name can be used in place of the expression. + Alan Ruttenberg + named class expressions are used in order to have more concise logical definition but their extensions may not be interesting classes on their own. In languages such as OWL, with no provisions for macros, these show up as actuall classes. Tools may with to not show them as such, and to replace uses of the macros with their expansions + + + + + + + + + to be replaced with external ontology term + Alan Ruttenberg + Terms with this status should eventually replaced with a term from another ontology. + group:OBI + + + + + + + + + requires discussion + A term that is metadata complete, has been reviewed, and problems have been identified that require discussion before release. Such a term requires editor note(s) to identify the outstanding issues. + Alan Ruttenberg + group:OBI + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/research-resource.owl b/productMods/WEB-INF/filegraph/tbox/research-resource.owl new file mode 100644 index 00000000..c3e0dfd5 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/research-resource.owl @@ -0,0 +1,1323 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + instrument + + + + + + + + A flow cytometer. + Material entity that is designed to have a function and play a role in scientific investigation. + PERSON: Melissa Haendel + See OBI listserv discussion for considerations in defining instrument. http://sourceforge.net/tracker/index.php?func=detail&aid=2894801&group_id=177891&atid=886178 + http://en.wikipedia.org/wiki/Scientific_instrument + instrument + + + + + + + + + service + + A DNA sequencing service performed by a core lab. + An information content entity that describes a service performed by a person or organization with the objective of performing a technique, providing training, providing storage of data or material entities, or providing access to resources for another person or organization + Coordinate with NIF. NIF ID: nlx_res_20090105 + PERSON: Melissa Haendel + PERSON: Melissa Haendel + service + + + + + + + + + reagent + + + + + + + + + + + + + + + + + + + + A plasmid can be used as a reagent. + PERSON: Melissa Haendel + Placeholder for class to be imported from the Reagent Ontology (ReO). + Processed material that is used in a chemical reaction or other experimental process to detect, measure, examine, or produce other substances. + http://www.yourdictionary.com/reagent + reagent + + + + + + + + + technique + + A technique is a planned process used to accomplish a specific activity or task. + Flow cytometry is a technique. + PERSON: Melissa Haendel + Protocol is added to eagle-i temporarily until a relationship between the informatio entity "protocol" and these planned processes is created. This class refers to the axtual process not the document + http://en.wikipedia.org/wiki/Technique + + + + + + + + + service provider role + + A role inhering in a person or organization that is realized when the bearer participates in providing a service to meet the need of another person or thing. + A technician in a core laboratory. + An role of an individual within his or her profession or institution; use outreach provider role for community service or other activities outside the profession. + Member of the International Conference on Complex Systems Organizing Committee + PERSON: Nicole Vasilevsky + PERSON: Nicole Vasilevsky + + + + + + + + + research project + + + + + + + + A funded collection of investigations as described in a research proposal. + A project to study the role of a specific protein in cell signaling. + Maybe SameAs "Investigation" but is the subject of funding + PERSON: Melissa Haendel + PERSON: Melissa Haendel + + + + + + + + + biological specimen + + + + + + + + Heart tissue obtained from an organism. + Material entity that is a portion or quantity of a biological material for use in testing, examination, or study. A biological specimen can be an individual animal, a population of organisms, or is a part of or derived from an animal, plant, part of a plant, or microorganism. When a taxon is described, it is typically based on a single specimen and is referred to as the holotype. + PERSON: Melissa Haendel + Should have relationship to Organism + biological specimen + biospecimen + http://en.wikipedia.org/wiki/Specimen + + + + + + + + + software + + A general term primarily used for digitally stored data such as computer programs and other kinds of information read and written by computers. + IAO is a planned specification, in SWO is an Information artifact. In eagle-i, we have a need to collect material instances and is it thus currently classified as a material entity. + Microsoft Word is commonly used word processing software. + PERSON: Melissa Haendel + http://en.wikipedia.org/wiki/Computer_software + software + + + + + + + + + access service + + A service offering that describes a service in which the consumer receives the right to use a resource (instrument, database, software, etc) that is owned or managed by a service provider. Ownership of the accessed resource remains with the service provider during and after provision of service. + Allowing access to a microscope in a core lab. + Coordinate with NIF + PERSON: Matt Brush + PERSON: Matthew Brush + + + + + + + + + storage service + + A computer server. + A service offering that describes a service in which the consumer provides some material or data as input which a service provider stores and returns as output. + PERSON: Matt Brush + PERSON: Matthew Brush + coordinate with NIF. NIF ID:nlx_res_20090419 + + + + + + + + + training service + + A service offering that describes a service in which the provider offers educational materials or events, such as courses, workshops or graduate programs, to the service consumer + Coordinate with NIF. NIF ID: nlx_res_20090444 + PERSON: Matt Brush + PERSON: Matthew Brush + Training a researcher to use a microscope. + + + + + + + + + material processing service + + A service offering that describes a service in which the provider makes physical changes to a specified input material entity with the objective of producing a new material entity form input materials, or modifying the input material entity, and returning this as output to the service consumer + Biopsy service. + Coordinate with NIF: NIF ID: nlx_res_20090416 + PERSON: Nicole Vasilevsky + http://neurolex.org/wiki/Category:Production_service_resource + + + + + + + + + material analysis service + + An analysis service offering that describes a service in which the consumer provides some input material and a service provider performs some analysis of this material to generate data that is returned to the service consumer. + Coordinate with NIF: NIF ID: nlx_res_20090420 + Flow cytometry analysis of T cells. + PERSON: Nicole Vasilevsky + http://neurolex.org/wiki/Category:Analysis_service_resource + + + + + + + + + material production service + + A material processing service offering that describes a service in which the provider makes physical changes to a specified input material that produce a new entity as specified output that is returned the service consumer. The specified output of a material production service can be contained within, derived from, or synthesized from specified input materials, but it represents a material entity that is of a distinct type from any of the specified input materials. + Coordinate with NIF. NIF ID: nlx_res_20090418 + PERSON: Matthew Brush + Production of monoclonal antibodies from a hybridoma. + http://neurolex.org/wiki/Category:Material_service_resource + + + + + + + + + data storage + + A data transformation technique that involves the process of recording or retrieving information or data. + Information storage + PERSON: Karen Corday + Storing data on a server. + bulk data storage + data storage + http://en.wikipedia.org/wiki/Data_storage + research data storage + + + + + + + + + + + risk management + + A technique used for identification, assessment, and prioritization of risks followed by coordinated and economical application of resources to minimize, monitor, and control the probability and/or impact of unfortunate events or to maximize the realization of opportunities. + PERSON: Nicole Vasilevsky + http://en.wikipedia.org/wiki/Risk_management + + + + + + + + + + + + data entry + + A data transformation technique that involves transcribing some form of data into another form, usually a computer program. + Entry of data about research resources into eagle-i. + PERSON: Nicole Vasilevsky + http://www.wisegeek.com/what-is-data-entry.htm + + + + + + + + + bioinformatics analysis + + A data transformation technique that involves the analysis of bioinformatics data, which is the application of statistics and computer science to the field of molecular biology. + Analysis of DNA sequence data. + PERSON: Nicole Vasilevsky + http://en.wikipedia.org/wiki/Bioinformatics + + + + + + + + + research electronic datacapture + + A technique designed for the collection of clinical data in electronic format for use mainly in human clinical trials. + Electronic health records. + PERSON: Nicole Vasilevsky + clinical database development + http://en.wikipedia.org/wiki/Electronic_data_capture + + + + + + licensing + + A technique that authorizes a use (such as copying software or using a (patented) invention) to a licensee, sparing the licensee from a claim of infringement brought by the licensor. + Licensing of a new technology. + PERSON: Nicole Vasilevsky + http://en.wikipedia.org/wiki/License + + + + + + + + + transport service + + A service offering that describes a service in which the provider facilitates the transport of some material entity to a specified destination for the service consumer. + PERSON: Matt Brush + PERSON: Matthew Brush + Transport of a patient within a hospital. + + + + + + + + + support service + + A service offering that describes a service in which the provider assists the consumer in activities directly or indirectly associated with the production and analysis or experimental research data. + PERSON: Matt Brush + PERSON: Matthew Brush + Technical support. + + + + + + + + + material storage service + + A storage service offering that describes a service in which the consumer provides some material as input which a service provider stores and returns as output + Cryopreservation service. + PERSON: Matt Brush + PERSON: Matthew Brush + + + + + + + + + data storage service + + A storage service offering that describes a service in which the consumer provides data as input, which a service provider stores and returns as output in its original form. + PERSON: Matt Brush + PERSON: Matthew Brush + Storing data on a server. + + + + + + + + + maintenance service + + A service offering that describes a service in which the provider actively maintains a material or data resource (e.g. a model organism colony or database) for the service consumer. This may involved making physical alterations to the material or data with the goal of maintaining its integrity or features. + PERSON: Matt Brush + PERSON: Matthew Brush + + + + + + + + + material maintenance service + + A maintenance service offering that describes a service in which the provider actively maintains a material resource (e.g. a model organism colony) for the service consumer. A material maintenance service may or may not include storage of the material input. + Maintaining an animal coloy. + PERSON: Matt Brush + PERSON: Matthew Brush + + + + + + + + + data maintenance service + + A maintenance service offering that describes a service in which the provider actively manages or maintains data or a database for the service consumer. Maintenance of the data is performed to maintain its integrity or enhance its quality or utility for the consumer, but new data is not generated as a result of the maintenance. + Maintaining a database. + PERSON: Matt Brush + PERSON: Matthew Brush + + + + + + + + + analysis service + + A service offering that describes a service in which the consumer provides some input material or data and a service provider returns data about the input material or data. + Flow cytometry analysis service. + PERSON: Matt Brush + PERSON: Matthew Brush + + + + + + + + + data analysis service + + An analysis service offering that describes a service in which the consumer provides some input data and a service provider transforms, models, or interprets the input data and returns this generated data as output + PERSON: Matt Brush + PERSON: Matthew Brush + Sequence data analysis. + data processing service + data transformation service + + + + + + + + + material modification service + + A material processing service offering that describes a service in which the provider makes physical modifications to a specified input material, such that at least one of the specified outputs of this process is a modified version of a specified input material. + Histology service. + PERSON: Matt Brush + PERSON: Matthew Brush + + + + + + + + database + + A database is an organized collection of data, today typically in digital form. + Just a place horder. It will probably be replaced by NIF term: http://ontology.neuinfo.org/NIF/DigitalEntities/NIF-Resource.owl#nlx_res_20090405 + PERSON: Carlo Torniai + http://en.wikipedia.org/wiki/Database + + + + + + planned process + + 'Plan' includes a future direction sense. That can be problematic if plans are changed during their execution. There are however implicit contingencies for protocols that an agent has in his mind that can be considered part of the plan, even if the agent didn't have them in mind before. Therefore, a planned process can diverge from what the agent would have said the plan was before executing it, by adjusting to problems encountered during execution (e.g. choosing another reagent with equivalent properties, if the originally planned one has run out.) + Bjoern Peters + Injecting mice with a vaccine in order to test its efficacy + branch derived + planned process + A processual entity that realizes a plan which is the concretization of a plan specification. + planned process + + + + + + + + + academic software license + + + + + + + software license + + + + + + + + + + + spreadsheet + + A spreadsheet data format is one in which data is organised into a matrix (or matrices) of columns and rows to form cells in which values are entered. + + + + + + + + + xls spreadsheet + + A spreadsheet data format designed for Microsoft Excel. + + + + + + + + + xml spreadsheet + + A spreadsheet data format in which the structure of the data is described using XML, such as column and row headers and cell identity. + + + + + + + + + matlab m file + + + + + + + + + + xml + + Extensible Markup Language (XML) is a standard set of rules for encoding documents in a machine-readable form defined by the W3C. + + + + + + + + + rdf + + http://www.w3.org/TR/REC-rdf-syntax/ + The Resource Description Framework (RDF) is a general-purpose language for representing information in the Web. + + + + + + + + + rdf-xml + + + A serialisation of RDF into an XML format. + + + + + + + + + image format + + + + + + + + + + dwg + + http://en.wikipedia.org/wiki/.dwg + DWG ("drawing") is a binary file format used for storing two and three dimensional design data and metadata + + + + + + + + + dxf + + http://en.wikipedia.org/wiki/AutoCAD_DXF + DXF (Drawing Interchange Format, or Drawing Exchange Format) is a CAD data file format developed by Autodesk for enabling data interoperability between AutoCAD and other programs. + + + + + + + + + bmp + + http://www.fileformat.info/format/bmp/egff.htm + The BMP File Format is a Raster graphics image file format used to store bitmap digital images, independently of the display device (such as a graphics adapter). + + + + + + + + + cgm + + Computer Graphics Metafile (CGM) is a free and open international standard file format for 2D vector graphics, raster graphics, and text, and is defined by ISO/IEC 8632. + http://en.wikipedia.org/wiki/Computer_Graphics_Metafile + + + + + + + + + web page specification + + + + + + + + + + document exchange format + + + + + + + + + + pdf + + Portable Document Format + PDF is an open standard for document exchange. + + + + + + + + + tiff + + Tagged Image File Format + TIFF is a flexible, adaptable file format for handling images and data within a single file, by including the header tags (size, definition, image-data arrangement, applied image compression) defining the image's geometry. + + + + + + + + + jpeg + + JPEG is a lossy file format for storing images + JPG + + + + + + + + + png + + Portable Network Graphics + PNG is a bitmapped image format and video codec that employs lossless data compression. + + + + + + + + + gif + + The Graphics Interchange Format (GIF) is a bitmap image format. The format supports up to 8 bits per pixel thus allowing a single image to reference a palette of up to 256 distinct colors. The colors are chosen from the 24-bit RGB color space. It also supports animations and allows a separate palette of 256 colors for each frame. The color limitation makes the GIF format unsuitable for reproducing color photographs and other images with continuous color, but it is well-suited for simpler images such as graphics or logos with solid areas of color. [wikipedia] + Graphics Interchange Format + + + + + + + + + raster image format + + A raster image is a format for representing a rectangular grid of dots (pixels) which contains information on the specific colour of each pixel. + + + + + + + + + vector image format + + A vector image is a collection of connected lines and curves that produce objects. This geometric description enables the image to be displayed without loss at any size rendering. + + + + + + + + + svg + + Scalable Vector Graphics + + + + + + + + + ai + + Adobe Illustrator format + + + + + + + + + postscript + + PostScript is a format used for describing documents. + + + + + + + + + tex + + LaTeX format + tex is a format for documents written in the document markup language and document preparation system LaTeX. + + + + + + + + + outline document format + + A format specification for data used or produced by outliner software + + + + + + + + + omnioutline format + + A proprietary format for documents created and edited using OmniOutliner outliner software, + + + + + + + + + opml + + OPML (Outline Processor Markup Language) is an XML format for outlines + Outline Processor Markup Language + + + + + + + + + jpeg 2000 + + JPEG 2000 is a compression standard enabling both lossless and lossy storage. The compression methods used are different from the ones in standard JFIF/JPEG; they improve quality and compression ratios, but also require more computational power to process. [wikipedia] + + + + + + + + + word processing document format + + + + + + + + + + wordstar format + + + + + + + + + + microsoft word doc + + A file format for word processing documents for Microsoft Word. + + + + + + + + + programming language format + + + + + + + + + + .java file + + James Malone + A source code file format which is specified to be used with the Java programming language. + + + + + + + + + .class file + + A format in which a .java file has been compiled into bytecode using a Java compiler and which is specified to be executed using the Java virtual machine. + James Malone + + + + + + + + + copasiml + + .cps + An XML-based file format for use with the COPASI software. + + + + + + + + + sbml + + Systems Biology Markup Language + Systems Biology Markup Language (SBML) is a machine-readable format for representing models. It's oriented towards describing systems where biological entities are involved in, and modified by, processes that occur over time. + http://sbml.org + + + + + + + + + owl-xml + + The Web Ontology Language (OWL) in XML serialization + + + + + + + + + owl2-xml + + Web Ontology Language version 2 in XML Serialization + + + + + + + + + obo flat file format + + OBO format is the text file format used by OBO-Edit, the open source, platform-independent application for viewing and editing ontologies. + + + + + + + + + text file format + + + + + + + + + + ascii format + + + + + + + + + + plain text file format + + + + + + + + + + mage tab format + + MAGE-TAB is a tab delimited data format comprimising of ADF file for array design, IDFfor experimental design, SDRF for sample data relationships and associated data files. + http://www.mged.org/mage-tab/ + A simple spreadsheet-based, MIAME-supportive format for microarray data: MAGE-TAB. + + + + + + + + + tab delimited file format + + + + + + + + + + psi-mi format + + Modified from http://wiki.cytoscape.org/GettingStarted, accessed 20 June 2012. + The PSI-MI format is an acronym for the Proteomics Standards Initiative - Molecular Interaction format. It provides an XML standard for molecular interactions and is supported by many molecular interaction databases and tools. + PSI-MIF + + + + + + + + + sif + + http://wiki.cytoscape.org/GettingStarted and http://wiki.cytoscape.org/Cytoscape_User_Manual/Network_Formats, accessed 20 June 2012 + SIF stands for Simple Interaction Format, and is a text format invented for Cytoscape. If the file contains any tab characters, then tabs are used to delimit the fields and spaces are considered part of the name. If the file contains no tabs, then any spaces are delimiters that separate names (and names cannot contain spaces). + + + + + + + + + gml + + GML stands for Graph Markup Language, and is a standard network file format; supported by multiple generic network software packages + http://wiki.cytoscape.org/GettingStarted, accessed 20 June 2012 + + + + + + + + + xgmml + + XGMML stands for eXtensible Graph Markup and Modelling Language, and it is a XML standard; similar to but preferred over GML. + http://wiki.cytoscape.org/GettingStarted, accessed 20 June 2012 + + + + + + + + + biopax rdf/xml format + + + + + + + + + + biopax manchester owl syntax format + + + + + + + + + + creative commons + + + + + + + + + + proprietary commercial software license + + + + + + + + + + mozilla public license version 1.1 + + + + + + + + + + gnu general public license + + + + + + + + + + apache license v2 + + + + + + + + + + academic license version 3 + + + + + + + + + + freebsd license + + 2 clause BSD License + + + + + + + + + open source software license + + + + + + + + + + license without restrictions on derivatives + + + + + + + + + + mit license + + + + + + + + + + lesser gnu public license + + + + + + + + + + the artistic license 1.0 + + + + + + + + + + eclipse public license + + + + + + + + + + modified bsd license + + 3 clause BSD License + + + + + + + + + latex project public license + + + + + + + + + + open public license + + http://wyatterp.com/opl.html + + + + + + + + + mozilla public license + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/research.owl b/productMods/WEB-INF/filegraph/tbox/research.owl new file mode 100644 index 00000000..cb31ce2c --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/research.owl @@ -0,0 +1,565 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + gene knockdown function + + A perturb function that results in decreased expression levels of a target gene. This can be achieved through targeting a gene directly through gene knockout or modification of the its DNA sequence, or targeting of the mRNA product of a gene using technologies such as RNAi. + Gene repression function + Gene silencing function + Knockdown the function of a gene, to study the function of that gene. + PERSON: Matthew Brush + PERSON: Matthew Brush + + + + + + + + + rna interference function + + A gene knockdown function that targets genes for post-transcriptional silencing through the RNA interference pathway. + PERSON: Matthew Brush + PERSON: Matthew Brush + RNAi function + + + + + + + + + + + + + + + record function + + Bill Bug + Daniel Schober + Frank Gibson + Melanie Courtot + A record function is a function that registers or collects information in a particular format on a particular recording medium. For example on paper or a digital representation + record function + + + + + + + + + + magnify function + + Bill Bug + Daniel Schober + Frank Gibson + Melanie Courtot + A magnify function is a function to increase the size of a transmitted object image through the precise arrangement of energy diffraction elements along an imaging path. + magnify function + + + + + + + + + + contain function + + A syringe, a beaker + Bill Bug + Daniel Schober + Frank Gibson + Melanie Courtot + A contain function is a function to constrain a material entities location in space + contain function + + + + + + + + + + heat function + + Bill Bug + Daniel Schober + Frank Gibson + Melanie Courtot + A heat function is a function that increases the internal kinetic energy of a material + heat function + + + + + + + + + + material separation function + + Bill Bug + Daniel Schober + Frank Gibson + Melanie Courtot + A material separation function is a function that increases the resolution between two or more material entities. The to distinction between the entities is usually based on some associated physical quality. + material separation function + + + + + + + + + + excitation function + + Bill Bug + Daniel Schober + Frank Gibson + Melanie Courtot + A excitation function is a function to inject energy by bombarding a material with energetic particles (e.g., photons) thereby imbuing internal material components such as electrons with additional energy. These internal, 'excited' particles may lead to the rupturing of covalent chemical bonds or may quickly relax back to there unexcited state with an exponential time course thereby locally emitting energy in the form of photons. + excitation function + + + + + + + + + + freeze function + + Bill Bug + Daniel Schober + Frank Gibson + Melanie Courtot + A freeze function is a function to decrease the internal kinetic energy of a material below the freezing point of that type of material. + freeze function + + + + + + + + + + synthesizing function + + A synthesizing function is a function to assemble new output materials from distinct input materials. The output materials typically consist of chemically distinct monomeric objects or object aggregate polymers. + Bill Bug + Daniel Schober + Frank Gibson + Melanie Courtot + synthesizing function + + + + + + + + + + perturb function + + Bill Bug + Daniel Schober + Frank Gibson + Melanie Courtot + A perturb function is a function that disrupts the normal function of a system induced through either internal or external means. External means of perturbation include: (1) displacement fields in the physical sense - e.g., temperature change, osmotic shock, pressure change; (2) application of small molecules such as drugs or toxins to perturb the function of specific pathways or application of surfactants to perturb the normal function of plasma membrane. Internal means of perturbation include: (1) manipulation of gene function via gene knockout or transcript knockdown via RNAi; (2) directed genetic mutation leading to minimal aa alterations that interfere with peptide function. + http://en.wikipedia.org/wiki/Perturbation_biology + perturb function + + + + + + + + + + mechanical function + + Bill Bug + Daniel Schober + Frank Gibson + Melanie Courtot + A mechanical function is a function that is realised via mechanical work (through an certain amount of energy transferred by some force). + http://en.wikipedia.org/wiki/Mechanical_work + mechanical function + + + + + + + + + + transfer function + + Bill Bug + Daniel Schober + Frank Gibson + Melanie Courtot + A transfer function is a function to displace a material from one location to another. + transfer function + + + + + + + + + + cool function + + Daniel Schober + Frank Gibson + Melanie Courtot + A cool function is a function to decrease the internal kinetic energy of a material below the initial kinetic energy of that type of material. + cool function + + + + + + + + + + information processor function + + Frank Gibson + An information processor function is a function that converts information from one form to another, by a lossless process or an extraction process. + data processor function + information processor function + + + + + + + + + + signal conversion function + + Bill Bug + Daniel Schober + Frank Gibson + Melanie Courtot + transduction function + A signal conversion function is an information processor function which transforms a signal into another type of signal. For example an analog-to-digital_converter, Ac/Ac converter, a synapse converts electrical action potentials into an intermediate chemical signal. The post synapse converts it back into an electric one passed on to the axon. + signal conversion function + + + + + + + + + + signal amplification function + + Bill Bug + Daniel Schober + Frank Gibson + Melanie Courtot + A signal amplification function is a signal conversion function to inject energy into an input signal so as to produce an output signal with increased differential magnitude while also seeking to minimize increases in the signal to noise ratio. For example, to produce a 0.1 KW output signal from a 1 mW RMS input signal. + signal amplification function + + + + + + + + + + image acquisition function + + Frank Gibson + An image acquisition function is a function to acquire an image of a material + image acquisition function + + + + + + + + + + environment control function + + Bill Bug + Daniel Schober + Frank Gibson + Melanie Courtot + An environmental control function is a function that regulates a contained environment within specified parameter ranges. For example the control of light exposure, humidity and temperature. + environment control function + + + + + + + + + + measure function + + A glucometer measures blood glucose concentration, the glucometer has a measure function. + PERSON: Daniel Schober + PERSON: Helen Parkinson + PERSON: Melanie Courtot + PERSON:Frank Gibson + Measure function is a function that is borne by a processed material and realized in a process in which information about some entity is expressed relative to some reference. + measure function + + + + + + + + + + sterilization function + + a function to remove viable organisms from an input material + sterilization function + + + + + + + + + + reagent application function + + reagent application function + An automatic tissue processor automatically applies antibodies and buffers to histological tissue preparations. + A function that is realized when a reagent is automatically added to some research material. + PERSON: Nicole Vasilevsky, Matthew Brush + PERSON: Nicole Vasilevsky, Matthew Brush + + + + + + + + + + addition of molecular tracer function + + addition of molecular tracer function + PERSON: Nicole Vasilevsky, Matthew Brush + A reagent application function that is realized when a molecular tracer, such as an antibody or probe is automatically transferred to a biological specimen. + PERSON: Nicole Vasilevsky, Matthew Brush + Immunohistochemical labeling of tissue sections by an autostainer staining system. + + + + + + + + + + specimen fixation function + + EAGLE-I + a function that allows specific identification of individual speciment from one another. + e.g the function of a bar code reader used to read slide bar codes + specimen fixation function + + + + + + + + + + cell transfer function + + A cell harvester has a cell transfer function. + EAGLE-I + cell transfer function + is a transfer function that displaces cells from one place to another + + + + + + + + + + study design + + A study design is a plan specification comprised of protocols (which may specify how and what kinds of data will be gathered) that are executed as part of an investigation and is realized during a study design execution. + study design + + + + + + + + + equipment + A network server is one example. Medical schools and research laboratories can list professional equipment, such as microscopes. + A physical object provided for specific purpose, task or occupation. + server; Bruker Vector-33 FT-IR + + + + + + + + phase 0 clinical trial + + Phase 0 Clinical Trial + Phase 0 is a recent designation for exploratory, first-in-human trials conducted in accordance with the United States Food and Drug Administration's (FDA) 2006 Guidance on Exploratory Investigational New Drug (IND) Studies. Phase 0 trials are also known as human microdosing studies and are designed to speed up the development of promising drugs or imaging agents by establishing very early on whether the drug or agent behaves in human subjects as was expected from preclinical studies. + + + + + + + + phase 1 clinical trial + + In Phase I trials, researchers test an experimental drug or treatment in a small group of people (20-80) for the first time to evaluate its safety, determine a safe dosage range, and identify side effects + Phase 1 Clinical Trial + + + + + + + + phase 2 clinical trial + + In Phase 2 trials, an experimental study drug or treatment is given to a larger group of people (100-300) to see if it is effective and to further evaluate its safety. + Phase 2 Clinical Trial + + + + + + + + phase 3 clinical trial + + In Phase 3 trials, an experimental study drug or treatment is given to large groups of people (1,000-3,000) to confirm its effectiveness, monitor side effects, compare it to commonly used treatments, and collect information that will allow the experimental drug or treatment to be used safely. + + Phase 3 Clinical Trial + + + + + + + + phase 4 clinical trial + + In Phase 4 trials, post marketing studies delineate additional information including the drug's or treatment's risks, benefits, and optimal use. + Phase 4 Clinical Trial + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/role.owl b/productMods/WEB-INF/filegraph/tbox/role.owl new file mode 100644 index 00000000..32d3d09f --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/role.owl @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + administrator role + + + + + + + + leader role + A broad-ranging leader concept, from leading a small temporary committee to head of a large international organization. + A leadership role + + + + + + + + member role + A role of being a member in a Process or an Organization + + + + + + + + researcher role + + A role of conducting funded or unfunded research, sometimes linked to an Agreement. + Examples of research can be seen at: http://www.ufl.edu/research/products/index.html. Note these may have been funded, but the research doesn't have to be funded. Also, the research may be linked to an Agreement (for example, a Grant), but does not need to be. + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/scires-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/scires-public-1.5.owl deleted file mode 100644 index d961b3b1..00000000 --- a/productMods/WEB-INF/filegraph/tbox/scires-public-1.5.owl +++ /dev/null @@ -1,233 +0,0 @@ - - - Scientific Research - - - A service that produces a physical object or data, such as a custom micro-array chip, a made to order antibody, or a behavioral dataset - Production Service - - A service that produces a physical object or data. - - - eagle-i: Material entity that is used in a chemical reaction or other experimental process to detect, measure, examine, or produce other substances. -NOTE: For now we are not addressing whether this is a subclass of foaf:Agent - Reagent - Material entity that is used in a chemical reaction or other experimental process to detect, measure, examine, or produce other substances. - - - Phase 1 Clinical Trial - In Phase I trials, researchers test an experimental drug or treatment in a small group of people (20-80) for the first time to evaluate its safety, determine a safe dosage range, and identify side effects - Phase 1 Clinical Trial - - - - - - OBI: An organism is material entity that is an individual living system, such as animal, plant, bacteria or virus, that is capable of replicating or reproducing, growth and maintenance in the right environment. An organism may be unicellular or made up, like humans, of many billions of cells divided into specialized tissues and organs. -NOTE that we are not addressing for now the issue of whether a foaf:Person is a subclass of obi:Organism - Organism - An organism is a material entity that is an individual living system, such as animal, plant, bacteria or virus, that is capable of replicating or reproducing, growth and maintenance in the right environment. - - - A clinical trial is a research study using human volunteers to answer questions about treatments for diseases and conditions. Clinical trials are conducted in phases. The trials at each phase have a different purpose and help scientists answer different questions. - - - - Clinical Trial - A research study using human volunteers to answer specifc health-related questions. - - - Biological Specimen - eagle-i: Material entity that is a portion or quantity of a biological material for use in testing, examination, or study. A biological specimen can be an individual animal, part of or derived an animal, plant, part of a plant, or microorganism. When a taxon is described, it is typically based on a single specimen and is referred to as the holotype. - An individual animal, part of or derived an animal, plant, part of a plant, or microorganism. - A portion or quantity of a biological material for use in testing, examination, or study. - - - - In Phase 3 trials, an experimental study drug or treatment is given to large groups of people (1,000-3,000) to confirm its effectiveness, monitor side effects, compare it to commonly used treatments, and collect information that will allow the experimental drug or treatment to be used safely. - - Phase 3 Clinical Trial - Phase 3 Clinical Trial - - - - - - - - - - - Instrument - An implement used to facilitate work, especially precision work. - An implement used to facilitate work, especially precision work. - - - - - A protocol is a plan specification which has sufficient level of detail and quantitative information to communicate it between domain experts, so that different domain experts will reliably be able to independently reproduce the process. - Protocol - A plan specification that allows different domain experts to reliably and independently reproduce a process. - - - Phase 0 Clinical Trial - - Phase 0 is a recent designation for exploratory, first-in-human trials conducted in accordance with the United States Food and Drug Administration's (FDA) 2006 Guidance on Exploratory Investigational New Drug (IND) Studies. Phase 0 trials are also known as human microdosing studies and are designed to speed up the development of promising drugs or imaging agents by establishing very early on whether the drug or agent behaves in human subjects as was expected from preclinical studies. - Phase 0 Clinical Trial - - - Phase 4 Clinical Trial - In Phase 4 trials, post marketing studies delineate additional information including the drug's or treatment's risks, benefits, and optimal use. - Phase 4 Clinical Trial - - - - - A service in which a service consumer receives the right to use a resource (instrument, database, software, etc) that is owned or managed by a service provider. Ownership of the accessed resource remains with the service provider during and after provision of service. - A service in which a service consumer receives the right to use a resource (instrument, database, software, etc) that is owned or managed by a service provider. Ownership of the accessed resource remains with the service provider during and after provisi - Access Service - - - Research Project - The comment in ero says "Maybe sameAs Investigation but is subject of funding" - - A project whose goal is the increase of knowledge, the primary aim being a greater knowledge or understanding of the subject under study. - - - Human Study - eagle-i: Research project that uses or collects measurements or assessments about humans. - Research project that uses or collects measurements or assessments about humans. - - - - Phase 2 Clinical Trial - - Phase 2 Clinical Trial - In Phase 2 trials, an experimental study drug or treatment is given to a larger group of people (100-300) to see if it is effective and to further evaluate its safety. - - - Storage Service - A service in which a service consumer provides some material or data as input which a service provider stores and returns as output. - A service in which a service consumer provides some material or data as input which a service provider stores and returns as output. - - - - - - - - provides access to - - - - - - - has documentation - - - - - - - - realizes protocol - - - - - documentation for - - - - - access provided by - - - - - - protocol realized by - - - Every clinical trial in the United States must be approved and monitored by an Institutional Review Board (IRB). An IRB is an independent committee of physicians, statisticians, community advocates and others whose objective is to ensure that a clinical trial is ethical and the rights of study participants are protected. - - Institutional Review Board (IRB) number - - - number of human participants in the study (trial). - - study population count - - - - ClinicalTrials.gov is an ICMJE-acceptable public registry, offering up-to-date information for locating clinical trials for a wide range of diseases and conditions. The U.S. National Institutes of Health (NIH), through its National Library of Medicine (NLM), developed this site in collaboration with the Food and Drug Administration (FDA), as a result of the FDA Modernization Act, which was passed into law in November 1997. This property should be publically visible since it is one of the principal identifiers in a national registry of clinical trials - NCT00000419 - - National Clinical Trials (NCT) number - - diff --git a/productMods/WEB-INF/filegraph/tbox/service.owl b/productMods/WEB-INF/filegraph/tbox/service.owl new file mode 100644 index 00000000..9d88862d --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/service.owl @@ -0,0 +1,14 @@ + + + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/teaching.owl b/productMods/WEB-INF/filegraph/tbox/teaching.owl new file mode 100644 index 00000000..26aa6b04 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/teaching.owl @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + course + + A course as taught in one time period (such as a semester; although note that a course could consist of only one meeting (teaching session)) by one or more instructors, normally but not always for credit. Does not represent either each meeting of the course or the course offering such as Biology 101 taught every semester from 1980 to 2010 + A course as taught in one time period by one or more instructors, normally but not always for credit. Does not represent either each meeting of the course or the course offering such as Biology 101 taught every semester from 1980 to 2010 + + + + + + + + teacher role + A role of serving as an educator + + + + + + + diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-bibo-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-bibo-public-1.5.owl deleted file mode 100644 index fb97b9d8..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-bibo-public-1.5.owl +++ /dev/null @@ -1,1585 +0,0 @@ - - - - Bibontology - - - - - - - - - - - review of - The bibo:reviewOf public description was found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . As of 26 May 2010, bibo:reviewOf is used with the class Review, but core:reviewIn doesn't seem to be being used. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - affirmedBy - The public description was taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - http://purl.org/ontology/bibo/ - A legal decision that affirms a ruling. - - - - - - - - - - - annotates - The public description source is: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html. - http://purl.org/ontology/bibo/ - stable - Critical or explanatory note for a Document. - - - - - - - - - - cited by - - - - - - - - - - cites - - - - - - - - - - - court - Public description take from: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html. Bibo considers this property "unstable". - http://purl.org/ontology/bibo/ - unstable - A court associated with a legal document; for example, that which issues a decision. - - - - - - - - - - related degree - The source of the public description and this info is found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html. Bibo considers this term "unstable". The bibo editorial note is: "We are not defining, using an enumeration, the range of the bibo:degree to the defined list of bibo:ThesisDegree. We won't do it because we want people to be able to define new degress if needed by some special usecases. Creating such an enumeration would restrict this to happen." - http://purl.org/ontology/bibo/ - The thesis degree. - We are not defining, using an enumeration, the range of the bibo:degree to the defined list of bibo:ThesisDegree. We won't do it because we want people to be able to define new degress if needed by some special usecases. Creating such an enumeration would restrict this to happen. - unstable - - - - - - - - - director - Definition take from this site: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . - http://purl.org/ontology/bibo/ - A Film director. - stable - - - - - - - - - interviewee - http://purl.org/ontology/bibo/ - stable - An agent that is interviewed by another agent. - - - - - - - - - interviewer - http://purl.org/ontology/bibo/ - stable - An agent that interview another agent. - - - - - - - - - performer - http://purl.org/ontology/bibo/ - stable - - - - - - - - - - related documents - Public Description from source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . Bibo considers the bibo:presents and the bibo:presentedAt unstable terms. It also indicates that bibo:presents is a sub-property of event:product. - http://purl.org/ontology/bibo/ - Relates an event to associated documents; for example, conference to a paper. - unstable - - - - - - - - - - recipient - http://purl.org/ontology/bibo/ - stable - An agent that receives a communication document. - - - - - - - - - reproduced in - - - - - - - - - - - reversedBy - The first sentence of the public description was taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - http://purl.org/ontology/bibo/ - A legal decision that reverses a ruling. - - - - - - - - - - - review of - The bibo:reviewOf public description was found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . As of 26 May 2010, bibo:reviewOf is used with the class Review, but core:reviewIn doesn't seem to be being used. - - - - - - - - - - status - paraphrased editorial note from the bibo ontology: We are not defining, using an enumeration, the range of the bibo:status to be a defined list of bibo:DocumentStatus. This is because we want people to be able to define new statuses if needed; and creating such an enumeration would prevent this. - - - - - - - - - subsequentLegalDecision - Public description is from comments of this object property in bibo ontology located here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - http://purl.org/ontology/bibo/ - A legal decision on appeal that takes action on a case (affirming it, reversing it, etc.). - - - - - - - - - - transcript of - The bibo:transcriptOf public description was found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . Bibo considers this term unstable. - http://purl.org/ontology/bibo/ - Relates a document to some transcribed original. - unstable - - - - - - - - - - translation of - Examples shows a book has French language version. Public description source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . - http://purl.org/ontology/bibo/ - Relates a translated document to the original document. - stable - - - - - - - - - translator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - has translation - Examples shows a book has French language version. Public description source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . - - - - - - - - - - - - - - - - - - - - translator of - - - - - - - - - - - - - - abstract - http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - http://purl.org/dc/terms/ - A summary of the resource. - stable - - - - - - - - - - asin - 020530902X - Amazon standard identification number. Source: http://en.wikipedia.org/wiki/Amazon_Standard_Identification_Number. - http://purl.org/ontology/bibo/ - Amazon Standard Identification Number - stable - - - - - - - - - chapter - Title of the chapter (this individual) currently should be entered in the individual name (rdfs:label). Title of the book belongs on a separate Book individual related to the chapter via the core:partOf property (or its child property bibo:reproducedIn). The core:title field is deprecated and should no longer be used as of version 1.1 -- we will want to map rdfs:label to dc:title for query or linked data requests in the future - http://purl.org/ontology/bibo/ - An chapter number - unstable - - - - - - - - - - coden - CODEN became particularly common in the scientific community as a citation system for periodicals cited in technical- as well in chemistry-related publications and as a search tool in many bibliographic catalogues. -Definition and description came from Wikipedia here: http://en.wikipedia.org/wiki/CODEN - http://purl.org/ontology/bibo/ - An identifier of serials, still in use by libraries, but replaced by ISSN for any new work - stable - - - - - - - - Digital Object Identifier (DOI) - http://purl.org/ontology/bibo/ - stable - Digital Object Identifier - - - - - - - - - EAN International-Uniform Code Council (EAN-UCC) 13 - Definition source: http://en.wikipedia.org/wiki/European_Article_Numbering-Uniform_Code_Council. -The Uniform Code Council (UCC) was the Numbering Organization in the USA to administer and manage the EAN.UCC System. In 2005 the UCC changed its name to GS1 US. - http://purl.org/ontology/bibo/ - European Article Number/Uniform Commercier Code 13 - stable - - - - - - - - - edition - http://purl.org/ontology/bibo/ - The name defining a special edition of a document. Normally its a literal value composed of a version number and words. - stable - - - - - - - - - Electronic International Standard Serial Number (EISSN) - eissn stands for Electronic International Standard Serial Number. source: http://www.definition-of.com/EISSN - http://purl.org/ontology/bibo/ - stable - The electronic ISSN number of a periodical. - - - - - - - - - gtin14 - http://en.wikipedia.org/wiki/Global_Trade_Item_Number. - http://purl.org/ontology/bibo/ - stable - Global Trade Item Number 14 - - - - - - - - - identifier - - - - - - - - - - - - - - - - - - International Standard Book Number (ISBN) 10 - http://en.wikipedia.org/wiki/Isbn. - - - - - - - - - - - International Standard Book Number (ISBN) 13 - source: http://en.wikipedia.org/wiki/Isbn. - - - - - - - - - - International Standard Serial Number (ISSN) - http://purl.org/ontology/bibo/ - source: http://en.wikipedia.org/wiki/Issn - stable - International Standard Serial Number - - - - - - - - - - issue - Bibo has the domain of bibo:issue as the class Issue, but an example on their site uses it with Article, referring to the issue number "4" - - - - - - - - - Library of Congress Control Number (LCCN) - Source: http://en.wikipedia.org/wiki/Library_of_Congress_Control_Number. - http://purl.org/ontology/bibo/ - stable - Library of Congress Control Number - - - - - - - - - locator - definition from: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - http://purl.org/ontology/bibo/ - stable - A description (often numeric) that locates an item within a containing document or collection. - - - - - - - - - number of pages - - - - - - - - - - number - Definition from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - - - - - - - - - Online Computer Library Center (OCLC) number - http://info-uri.info/registry/OAIHandler?verb=GetRecord&metadataPrefix=reg&identifier=info:oclcnum/. - - -bibo has the domain of this property set to the union of Collection and Document. - http://purl.org/ontology/bibo/ - stable - OCLC Identifier - - - - - - - - - - end page - http://purl.org/ontology/bibo/ - stable - Ending page number within a continuous page range. - - - - - - - - - - start page - http://purl.org/ontology/bibo/ - stable - Starting page number within a continuous page range. - - - - - - - - - PubMed Identifier - The PubMed ID (PMID) identifies a citation record (rather than full-text) in the PubMed database. It is not evidence of compliance with the NIH Public Access Policy, because it does not identify a full-text submission of any kind. - http://purl.org/ontology/bibo/ - stable - PubMed Identifier - - - - - - - - - - - name prefix - Mr; Ms; Mrs - http://dictionary.reference.com/browse/prefix - http://purl.org/ontology/bibo/ - stable - The prefix of a name - - - - - - - - - section - http://purl.org/ontology/bibo/ - An section number - Di Rado, Alicia. 1995. Trekking through college: Classes explore -modern society using the world of Star trek. Los Angeles Times, March -15, sec. A, p. 3. - unstable - - - - - - - - - short description - http://purl.org/ontology/bibo/ - A short description of the resource. - unstable - The idea here is that while dcterms:description may involve length descriptions, this for short (two or three word) descriptions that could go in a bibliographic entry. - - - - - - - - - sici - A sub property of identifier (http://en.wikipedia.org/wiki/SICI). - http://purl.org/ontology/bibo/ - Serial Item and Contribution Identifier - stable - - - - - - - - - - name suffix - Jr.; III;; M.D. - http://purl.org/ontology/bibo/ - stable - The suffix of a name - - - - - - - - - upc - http://purl.org/ontology/bibo/ - source for public description: http://en.wikipedia.org/wiki/Universal_Product_Code. - stable - Universal Product Code - - - - - - - - - - URI - Definition from: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - - - - - - - - - - volume - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Academic Article - - A specific academic journal article - Written by scholars for other scholars, typically published in an academic journal with an abstract and bibliography - http://purl.org/ontology/bibo/ - A scholarly academic article, typically published in a journal. - stable - - - - - - - - Article - - A specific journal article - A written composition in prose, usually nonfiction, on a specific topic, forming an independent part of a periodical or book - Short Definition modified from the bibo ontology. - http://purl.org/ontology/bibo/ - stable - A written composition in prose, usually nonfiction, on a specific topic, forming an independent part of a book or other publication, as a newspaper or magazine. - - - - - - - - Audio Document - - Recorded audio in any format - http://purl.org/ontology/bibo/ - phonograph record; tape; CD; DVD; DAT - stable - An audio document; aka record. - - - - - - - - Audio-Visual Document - - Audiovisual recording in any format - film; video; Blu-ray - http://purl.org/ontology/bibo/ - An audio-visual document; film, video, and so forth. - stable - - - - - - - - Bill - - Draft legislation presented for discussion to a legal body - Short Definition from the bibo ontology - http://purl.org/ontology/bibo/ - stable - Draft legislation presented for discussion to a legal body. - - - - - - - - Book - - A written or printed work of fiction or nonfiction, usually on sheets of paper fastened or bound together within covers - Short Definition copied from bibo ontology - http://purl.org/ontology/bibo/ - A written or printed work of fiction or nonfiction, usually on sheets of paper fastened or bound together within covers. - stable - - - - - - - - Book Section - - A section of a book - Short Definition from the bibo ontology - http://purl.org/ontology/bibo/ - unstable - A section of a book. - - - - - - - - Brief - - A document stating the facts and points of law of a client's case - http://purl.org/ontology/bibo/ - unstable - A written argument submitted to a court. - - - - - - - - Chapter - - A main division of a book - http://purl.org/ontology/bibo/ - A chapter of a book. - unstable - - - - - - - - Code - - A work consisting of texts of rules and regulations related to statutes issued by executive or administrative agencies - Code of Federal Regulations - Short Definition from OCLC Input Standards, EntW - http://purl.org/ontology/bibo/ - A collection of statutes. - stable - - - - - - - - Collected Document - - Short Definition is the Medical Subject Heading (MeSH) definition - Work consisting of collections of previously published works - http://purl.org/ontology/bibo/ - stable - A document that simultaneously contains other documents. - - - - - - - - Collection - Collection of information resources that have a unified identity - Collection of information resources that have a unified identity. Archives, museums and libraries often acquire collections on specific subjects and from distinguished authors or researchers. Also includes collections of resources bundled into a license. - Hill Ornithology Collection; Wiley Interscience Online Books Biochemisty Collection - http://purl.org/ontology/bibo/ - stable - A collection of Documents or Collections - - - - - - - - Conference - - 2010 International Congress on Autoimmunity; American Libraries Association 2009 - A meeting for consultation or discussion. - core:Seminar and bibo:Conference are very similar. - http://purl.org/ontology/bibo/ - A meeting for consultation or discussion. - stable - - - - - - - - Court Reporter - - Collection of legal cases - Supreme Court Reporter - http://purl.org/ontology/bibo/ - stable - A collection of legal cases. - - - - - - - - Document - A bounded physical representation of a body of information designed with the capacity (and usually intent) to communicate - Short Definition from the bibo ontology - http://purl.org/ontology/bibo/ - A document (noun) is a bounded physical representation of body of information designed with the capacity (and usually intent) to communicate. A document may manifest symbolic, diagrammatic or sensory-representational information. - stable - - - - - - - - Document Part - - A distinct part of a larger document or collected document - Short Definition from the bibo ontology - http://purl.org/ontology/bibo/ - a distinct part of a larger document or collected document. - unstable - - - - - - - - Edited Book - - An edited collection of stand-alone articles published as a book - Best American Science Writing 2009 - http://purl.org/ontology/bibo/ - stable - An edited book. - - - - - - - - Excerpt - - A passage selected from a larger work - Short Definition from the bibo ontology - http://purl.org/ontology/bibo/ - stable - A passage selected from a larger work. - - - - - - - - Film - - Audiovisual recording in film format - http://purl.org/ontology/bibo/ - aka movie. - stable - - - - - - - - Hearing - - An instance or a session in which testimony and arguments are presented, esp. before an official, as a judge in a lawsuit. - Definiton from Bibo here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html - http://purl.org/ontology/bibo/ - An instance or a session in which testimony and arguments are presented, esp. before an official, as a judge in a lawsuit. - stable - - - - - - - - Image - - - - A visual representation such as a photograph or graph - http://purl.org/ontology/bibo/ - photograph; diagram - A document that presents visual or diagrammatic information. - stable - - - - - - - - Interview - - A conversation between two or more people where questions are asked by the interviewer to obtain information from the interviewee. - http://purl.org/ontology/bibo/ - radio or newspaper interview - A formalized discussion between two or more people. - stable - - - - - - - - Issue - - Short Definition from the bibo ontology - http://purl.org/ontology/bibo/ - something that is printed or published and distributed, esp. a given number of a periodical - something that is printed or published and distributed, esp. a given number of a periodical - stable - - - - - - - - Journal - - Articles usually contain abstracts and bibliographies. Includes peer-reviewed, non-peer-reviewed, and open access journals. Journals are usually indexed in the major academic databases such as PubMed and Web of Science. - Contains original scholarly research or review articles by experts in the field - Journal of Information Science; IEEE Intelligent System; Scientometrics - http://purl.org/ontology/bibo/ - stable - A periodical of scholarly journal Articles. - - - - - - - - Legal Case Document - - Official court papers for a case - http://purl.org/ontology/bibo/ - A document accompanying a legal case. - unstable - - - - - - - - Decision - - The written determination of a case, motion or claim by a court or tribunal - http://purl.org/ontology/bibo/ - unstable - A document containing an authoritative determination (as a decree or judgment) made after consideration of facts or law. - - - - - - - - Legal Document - - a document that states some contractual relationship or grants some right - http://purl.org/ontology/bibo/ - A legal document; for example, a court decision, a brief, and so forth. - stable - - - - - - - - Legislation - - Enactments of legislative bodies, published in either statute or code form - From OCLC Input Standards, EntW - http://purl.org/ontology/bibo/ - A legal document proposing or enacting a law or a group of laws. - unstable - - - - - - - - Letter - - A written or printed communication addressed to a person or organization and usually transmitted by mail - A written or printed communication addressed to a person or organization and usually transmitted by mail - - - - - - - - Magazine - - Abstracts and bibliographies are usually not included in magazines. - Contains articles of current events or general interest, geared to the reading public as being informative or recreational - New Yorker - http://purl.org/ontology/bibo/ - A periodical of magazine Articles. A magazine is a publication that is issued periodically, usually bound in a paper cover, and typically contains essays, stories, poems, etc., by many writers, and often photographs and drawings, frequently specializing in a particular subject or area, as hobbies, news, or sports. - stable - - - - - - - - Manual - - A book of instructions or guide to a specific topic - SDB User Manual - http://purl.org/ontology/bibo/ - A small reference book, especially one giving instructions. - unstable - - - - - - - - Manuscript - - Short Definition is the Medical Subject Heading (MeSH) definition - Works prepared by hand including handwritten or typescript drafts of pre-publication papers or works not otherwise reproduced in multiple copies - http://purl.org/ontology/bibo/ - An unpublished Document, which may also be submitted to a publisher for publication. - stable - - - - - - - - Map - - A graphical depiction of geographic features, scientific discipline, scientific data analytical results - The Short Definition is how the bibo ontology defines Map. It has been extended to include more broader concept of map which includes science maps, social network maps. - http://purl.org/ontology/bibo/ - A graphical depiction of geographic features. - unstable - - - - - - - - Newspaper - - Contains news articles, opinions, features, advertising, and is usually issued daily or weekly - USA Today - http://purl.org/ontology/bibo/ - stable - A periodical of documents, usually issued daily or weekly, containing current news, editorials, feature articles, and usually advertising. - - - - - - - - Note - - Notes or annotations about a resource - Short Definition from bibo ontology - http://purl.org/ontology/bibo/ - stable - Notes or annotations about a resource. - - - - - - - - Patent - - (from BIBO) A document describing the exclusive right granted by a government to an inventor to manufacture, use, or sell an invention for a certain number of years - A patent is an exclusive right granted for an invention, which is a product or a process that provides, in general, a new way of doing something, or offers a new technical solution to a problem. In order to be patentable, the invention must fulfill certain conditions. (http://www.wipo.int/patentscope/en/) - http://purl.org/ontology/bibo/ - stable - A document describing the exclusive right granted by a government to an inventor to manufacture, use, or sell an invention for a certain number of years. - - - - - - - - Performance - - Something carried out, acted or rendered. - http://purl.org/ontology/bibo/ - unstable - A public performance. - - - - - - - - Periodical - - http://purl.org/ontology/bibo/ - stable - A group of related documents issued at regular intervals. - - - - - - - - Personal Communication Document - - A personal communication manifested in some document. - A personal communication manifested in some document. - - - - - - - - Proceedings - - A compilation of documents published from an event, such as a conference - Short Definition copied from bibo ontology - http://purl.org/ontology/bibo/ - unstable - A compilation of documents published from an event, such as a conference. - - - - - - - - Quote - - An excerpted collection of words - Short Definition from the bibo ontology - http://purl.org/ontology/bibo/ - An excerpted collection of words. - stable - - - - - - - - Reference Source - - A document that presents authoritative reference information, such as a dictionary or encylopedia - Short Definition from the bibo ontology - http://purl.org/ontology/bibo/ - unstable - A document that presents authoritative reference information, such as a dictionary or encylopedia . - - - - - - - - Report - - A document describing an account or statement describing in detail an event, situation, or the like, usually as the result of observation, inquiry, etc. - Medical Subject Heading (MeSH) definition of Technical Report: Work consisting of a formal report giving details of the investigation and results of a medical or other scientific problem. When issued by a government agency or comparable official body, its contents may be classified, unclassified, or declassified with regard to security clearance. This publication type may also cover a scientific paper or article that records the current state or current position of scientific research and development. If so labeled by the editor or publisher, this publication type may be properly used for journal articles. - http://purl.org/ontology/bibo/ - stable - A document describing an account or statement describing in detail an event, situation, or the like, usually as the result of observation, inquiry, etc.. - - - - - - - - Series - - A thematic collection of documents, usually books, issued at regular or irregular intervals - Methods in Molecular Biology - http://purl.org/ontology/bibo/ - A loose, thematic, collection of Documents, often Books. - stable - - - - - - - - Slide - - A slide in a slideshow - Short Definition from the bibo ontology - http://purl.org/ontology/bibo/ - A slide in a slideshow - unstable - - - - - - - - Slideshow - - A presentation of a series of slides, usually presented in front of an audience with written text and images - Short Definition from the bibo ontology - http://purl.org/ontology/bibo/ - A presentation of a series of slides, usually presented in front of an audience with written text and images. - stable - - - - - - - - Standard - - A specification giving a precise statement of a process or a service requirement, often sanctioned by a nation or industry - Short Definition from OCLC Input Standards, EntW - http://purl.org/ontology/bibo/ - A document describing a standard - stable - - - - - - - - Statute - - A bill enacted into law - Short Definition from bibo ontology - http://purl.org/ontology/bibo/ - A bill enacted into law. - stable - - - - - - - - Thesis - - Short Definition from OCLC Input Standards, EntW - Works created to satisfy the requirements for an academic certification or degree; also called dissertation - http://purl.org/ontology/bibo/ - A document created to summarize research findings associated with the completion of an academic degree. - stable - - - - - - - - Webpage - - One section of a website that appears at a unique address within the parent site's address or URL on the World Wide Web - http://purl.org/ontology/bibo/ - A web page is an online document available (at least initially) on the world wide web. A web page is written first and foremost to appear on the web, as distinct from other online resources such as books, manuscripts or audio documents which use the web primarily as a distribution mechanism alongside other more traditional methods such as print. - unstable - - - - - - - - Website - - A group of webpages available within a specific parent address or URL on the World Wide Web - Facebook; VIVOweb.org; Flickr - http://purl.org/ontology/bibo/ - A group of Webpages accessible on the Web. - unstable - - - - - - - - Workshop - - Bibo Definition: A seminar, discussion group, or the like, that emphasizes exchange of ideas and the demonstration and application of techniques, skills, etc. - http://purl.org/ontology/bibo/ - A seminar, discussion group, or the like, that emphasizes zxchange of ideas and the demonstration and application of techniques, skills, etc. - stable - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-c4o-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-c4o-public-1.5.owl deleted file mode 100644 index d480440c..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-c4o-public-1.5.owl +++ /dev/null @@ -1,62 +0,0 @@ - - - Citation Counting and Context Characterization Ontology - - - Bibliographic Information Source - A source of information about bibliographic citations, such as Google Scholar, Web of Science or Scopus. - - - Global Citation Count - The number of times a work has been cited globally, as determined from a particular bibliographic information source on a particular date. - - - - has global citation frequency - A property linking a publication entity to an instance of c40:GlobalCitationCount that specifies how many times a work has been cited by others, according to a particular information source on a particular date. - - - A property linking an instance of c40:GlobalCitationCount to the bibliographic information source providing the global citation count information for a particular publication on a particular date. - - has global count source - - - - An integer defining the value of the global citation count of a cited entity recorded from a named bibliographic information source on a particular date. - - - has global count value - - - has global count date - - - The date on which the global citation count of the cited entity was recorded from a named bibliographic information source. - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-core-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-core-public-1.5.owl deleted file mode 100644 index 303b1026..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-core-public-1.5.owl +++ /dev/null @@ -1,2155 +0,0 @@ - - - - VIVO core - - - - - - - - most specific type - - - - - - - - - - - - - - - - - - - part of - - - - - - - - - has part - - - - - - - - - - - - - - - date filed - - - - - - - - - - - date issued - - - - - - - - - - date/time interval - - - - - - - - - date/time precision - - - - - - - - - date/time value - - - - - - - - - end - - - - - - - - - - - expiration date - - - - - - - - - features - This is done through a restriction on the foaf:Person class. - - - - - - - - geographic focus - - - - - - - - - geographic focus of - - - - - - - - - - - - - - - - subcontracted through - - - - - - - - - - associated concept - - - - - - - - has geographic location - Currently being used by a restriction on organization. - - - - - - - - - - has prerequisite - - - - - - - - - - published in - - - - - - - - successor organization - - - - - - - - - - offered by - - - - - - - - - offers - - - - - - - - prerequisite for - - - - - - - - - - - provides funding through - For example, National Science Foundation providesFundingThrough Graduate Research Fellowship Program; National Institutes of Health providesFundingThrough National Center for Research Resources. - - - - - - - - - - publication venue for - - - - - - - - - publisher - Public Definition source (http://www.answers.com/topic/publisher). - - - - - - - - - publisher of - Public Definition source (http://www.answers.com/topic/publisher). - - - - - - - - - - start - - - - - - - - - - - subcontracts grant - - - - - - - - - - - - - - - - - - - - - - - - - - - - - abbreviation - A short form for an longer title or name. - B.A. - - - - - - - - Published US Classification Class/Subclass (CCL) code - - - - - - - - - - credits - - - - - - - - date/time - - - - - - - - - - description - - - - - - - - eRA Commons id - - - - - - - - - - keywords - conservation - -use one freetextKeyword assertion for each keyword or phrase. - one keyword or phrase per freetextKeyword assertion - - - - - - - - - - direct costs - - - - - - - - International Classification (ICL) code - The International classification(s) to which the published application has been assigned. - - - - - - - - - - identifier - - - - - - - - license number - - - - - - - - - - link URI - - - - - - - - - local award id - core:localAwardId has a domain of core:Grant, and should be public since that's its public identifier for local use by OSP, accounting, department admins, and the PI - - - - - - - - - - major field of degree - Information Science; Computer Science; Anthropology - - - - - - - - NIH Manuscript Submission System ID - - - - - - - - - - ORCID id - We can't yet assume that we will only have a single ORCID id for a person. -source: http://en.wikipedia.org/wiki/ORCID . - - -We wanted this property to be visible so that people would be aware that we intend to carry ORCID ids in VIVO for cross-reference. I don't believe any ORCID ids have been minted yet, but it's hard to imagine they would need to be private since the goal of having them is to disambiguate author references internationally. However, this and the researcherId and scopusId (also with domain foaf:Person) can stay as visible to self-editors for now as they will probably be used mostly in data ingest. It might be nice in the future to let people make their own decision about whether these are visible. - - - - - - - - - - - outreach overview - My extension program consists of developing and reporting disease management strategies that are both economically and environmentally sound for fresh market vegetable production. We hope that some of this testing will result in practices adaptable for organic production. - Used for a single narrative summary of outreach, typically covering a wide range of activities and time periods; use Outreach Provider Role for information on individual activities - - - - - - - - - - overview - - - - - - - - - - patent number - source of definition: http://www.uspto.gov/main/glossary/#p . The following site has patent number formats: http://www.uspto.gov/patents/ebc/kindcodesum.jsp . - - - - - - - - - - - place of publication - - - - - - - - PubMed Central ID - A PMCID is a unique PubMed Central reference number, which is assigned to each full-text record made available A PMCID is a unique PubMed Central reference number, which is assigned to each full-text record made available in PubMed Central. The PMCID is issued shortly after the PI or author approves the PubMed Central formatted web version of the submission. - - - - - - - - - - rank - this number indicates a position in a list - - - - - - - - - - report identifier - - - - - - - - - - - research overview - Used for a single narrative summary of research, typically covering a wide range of activities and time periods; use Researcher Role for information on individual activities - - - - - - - - - ISI researcher id - RearcherID is a Thomson Reuters project where researchers have a place to manage and share their professional information. It will allow them to solve author identity issues while simultaneously adding dynamic citation metrics and collaboration networks to your personal profile. -Definition source: http://isiwebofknowledge.com/researcherid/ - - - - - - - - - - Scopus id - Home page for Scopus: http://www.scopus.com/home.url - - - - - - - - - - - seating capacity - 55 - definition modified from: source (http://en.wikipedia.org/wiki/Seating_capacity). - - - - - - - - - - - sponsor award id - Has a domain of Grant. There is not a strong reason have this be publically visible, since most users would care more about the name of the sponsoring agency than its identifier, but it does no harm to be public. - - -See also core:localAwardId. - - - - - - - - - - - supplemental information - - - - - - - - - teaching overview - Used for a single narrative summary of teaching, typically covering a wide range of courses including for credit and non-credit teaching over multiple semesters; the "teaches" property links a person directly with an instance of a Semester Class, typically from an institutional database of record; then use Teacher Role for information about a person's role in non-credit teaching or their specific contribution to individual courses - - - - - - - - - - total award amount - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Service Provider Role - - An role of an individual within his or her profession or institution; use outreach provider role for community service or other activities outside the profession. - Member of the International Conference on Complex Systems Organizing Committee - - - - - - - - Research Opportunity - An offering through an ongoing program or single request of research support: internships, positions, financial awards or other forms of tangible or intangible support - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Academic Department - - A distinct, usually specialized educational unit within an educational organization. - Endodontics (department within a College of Dentistry); English (department within a College of Liberal Arts) - - - - - - - - Academic Term - - An explicit individual academic term, quarter, or semester rather than the generic fall, spring or summer semester. - - - - - - - - Academic Year - - An explicit individual period considered by an academic institution to be its primary academic cycle. - - - - - - - - Advising Relationship - - A dual relationship of one person being advised or mentored by another person, typically including start and end dates - - - - - - - - Association - - A formal organization of people or organizations around a subject or practice. - Special Libraries Association; Association for Computing Machinery(ACM); American Medical Informatics Association(AMIA) - - - - - - - - Attendee Role - A role of attending an Event or EventSeries - - - - - - - - Authorship - - - Authorship of journal articles, books and other original works is a means by which academics communicate the results of their scholarly work, establish priority for their discoveries, and build their reputation among their peers. -This class allows for linking an author to a publication while indicating information about that author's authorship. - Contains the authors name, their rank in the publication, and whether or not they are a corresponding author on the publication. - Currently any abstract name is given to members of this class. This could change in the future. - - - - - - - - Award or Honor Receipt - The award bestowed may be represented with the Award class. - The bestowal of an award, honor, or distinction to a person or person's at a particular time. - - - - - - - - Blog - - Blog is short for weblog. - Library of Congress Blog - Regularly updated online journal or newsletter by one or more writers, called bloggers, containing articles and commentary of interest to the blogger - - - - - - - - Blog Posting - - A specific blog posting - An online article or commentary appearing on a blog - - - - - - - - Building - - Building that provides a particular service or is used for a particular activity. - Enter building name. If the building's name is a number (as in many governmental organizations such as national laboratories and military bases), then enter it. Do not confuse with the number that appears in a postal address. - Martha Van Rensselaer Hall (VR); Caldwell Hall (CD); University Auditorium - - - - - - - - Campus - Cornell Ithaca; Cornell Geneva; Cornell New York City; Cornell Qatar - Definition taken from dictionary.com (http://dictionary.reference.com/browse/campus). - The grounds of a school, college, university, or hospital. Or, a large, usually suburban, landscaped business or industrial site. - - - - - - - - Case Study - - A form of qualitative descriptive research that is used to study individuals, a small group of participants, or a group as a whole. Medical usage (from MeSH): clinical presentations that may be followed by evaluative studies that eventually lead to a diagnosis. - A qualitative descriptive research study of individuals or a group - - - - - - - - Catalog - - A list of items in a collection; an ordered compilation of item descriptions and sufficient information to afford access to them - NLM Catalog - Short Definition is the Medical Subject Heading (MeSH) definition - - - - - - - - Center - - A place where a particular activity or service is concentrated. - Alchohol Education Center; Center for Arts and Public Policy; Hearing Research Center - Short Definition take from http://www.thefreedictionary.com/center. - - - - - - - - Certification - - An issued certificate - see also core:Certificate - - - - - - - - Clinical Organization - - Any organization with a significant clinical function as a matter of course and not just through occasional clinical roles - In the future we may be able to make this a defined class that would not need to be directly asserted, but the consensus seems to be that some organizations "are" clinical and some "are" research organizations and that the distinction is important enough to warrant the additional class and class assertions - - - - - - - - Clinical Role - - A role of observing or treating patients - - - - - - - - Co-Principal Investigator Role - - Role of co-principal investigator of an Agreement (for example, a grant), who devotes a specified percentage of time and is considered key personnel. - - - - - - - - College - - A primary academic unit within a University or a free-standing higher education organization without graduate degree programs. - College of Arts & Sciences; Ivy Tech Community College - - - - - - - - Committee - - A group of people organized for a specific purpose (e.g., a reporting or advisory role), often with a charge and for a specific duration. - Curriculum Steering Committee; PhD Advisory Committee - There could be many subclasses such as thesis committee or tenure committee, but these may typically be differentiated via the moniker unless distinct properties become important. - - - - - - - - Company - - a legally-recognized business organization - from Wikipedia: "A company is a form of business organization. It is an association or collection of individual real persons and/or other companies ... This collection, group or association of persons can be made to exist in law and then a company is itself considered a "legal person". The name company arose because, at least originally, it represented or was owned by more than one real or legal person." - - - - - - - - Competition - - An occasion on which a winner is selected from among two or more contestants. - Intel Talent Search; poetry contest - Not the same as an award or distinction. - - - - - - - - Conference Paper - - A paper presented at a conference; optionally collected into a Proceedings or a special Journal issue - - - - - - - - Conference Poster - - The digital file (or physical equivalent), if available after the conference, vs. the act of attending/presenting: use ConferencePresentation for information about date/time/location/name of the event where the poster was presented - - - - - - - - Conference Series - - An organized series of a meeting for consultation or discussion. - For individual, separate conferences, use conference instead. core:ConferenceSeries and core:SeminarSeries are very similar. - - - - - - - - Consortium - - Committee on Institutional Cooperation (CIC); The Five Colleges of Ohio - Independent organizations formally working together toward a common goal, under an expressed agreement - - - - - - - - Continent - - A large contiguous landmass that is at least partially surrounded by water, together with any islands on its continental shelf. - Short Definition take from http://en.wiktionary.org/wiki/continent. - The seven commonly recognized continents are Africa; Antarctica; Asia; Australia; Europe; North America; South America - - - - - - - - Contract - An agreement involving specific deliverables and payment - - - - - - - - Core Laboratory - - A lab providing services such as training, protocols, or access to instruments or software - - - - - - - - Country - - Afghanistan; Antigua and Barbuda; Cameroon; Iceland; Jamaica; Nigeria; United States of America - An area of land distinguished by its political autonomy. Politically independent territories. - Source of the Short Definition: http://www.thefreedictionary.com/country. This is also the same as geopolitical.owl:self_governing. - - - - - - - - County - - Alachua; Baker; Bradford; Kenora; Ottawa; Waterloo - Short Definition modified from the one found here: http://www.thefreedictionary.com/county. - The largest administrative division of most states or provinces. - - - - - - - - Course - - A course as taught in one time period (such as a semester; although note that a course could consist of only one meeting (teaching session)) by one or more instructors, normally but not always for credit. Does not represent either each meeting of the course or the course offering such as Biology 101 taught every semester from 1980 to 2010 - A course as taught in one time period by one or more instructors, normally but not always for credit. Does not represent either each meeting of the course or the course offering such as Biology 101 taught every semester from 1980 to 2010 - - - - - - - - Database - - A structured file of information or a set of logically related data stored and retrieved using computer-based means - PubMed - Short Definition is the Medical Subject Heading (MeSH) definition - - - - - - - - Dataset - A named collection of data, usually containing only one type of data - US Patent Data; US Job Data - - - - - - - - Date/Time Interval - a specific period or duration, defined by (optional) start and end date/times. - - - - - - - - Date/Time Value - A date and/or time - - - - - - - - Department - - A distinct, usually ongoing and specialized unit within a large organization. - Definition modified from the definition here: http://dictionary.reference.com/browse/department. It is difficult to tell the difference between and department and a division. - Legal (department within a company); Use for any non-academic department - - - - - - - - Division - - An area of corporate activity organized as an administrative or functional unit. - Cardiovascular Medicine (division within medicine) - Definition modified from http://www.thefreedictionary.com/division. It is difficult to tell the difference between a division and a department. - - - - - - - - Editor Role - - An ongoing editorial responsibility for a bibo:Collection, such as a Journal or Series - An ongoing editorial responsibility for a bibo:Collection, such as a Journal or Series - - - - - - - - Editorial Article - - An article of opinion, typically published in a newspaper. For academics, most commonly Op Ed pieces - - - - - - - - Equipment - A network server is one example. Medical schools and research laboratories can list professional equipment, such as microscopes. - A physical object provided for specific purpose, task or occupation. - server; Bruker Vector-33 FT-IR - - - - - - - - Event Series - A generic class which may include a conference series, a course section, a seminar series, or a workshop series. When possible, use one of these more specific classes. - Only use if no specific subclasses of core:EventSeries desribe the activity. - Two or more events that occur at different times and are connected to each other. - - - - - - - - Exhibit - - The showing of an object or a collection of objects, in an organized manner. - - - - - - - - Extension Unit - - A unit devoted primarily to extension activities, whether for outreach or research. - Alachua County Extension Office - - - - - - - - F1000 Link - - F1000, is a place where faculty go to critique papers published in PubMed. Any given record in F1000 might have anywhere from one to dozens of reviews. - - - - - - - - Facility - Distinct from the organization that runs it; e.g., a laboratory may be an organization but may be run by another organization and only consist of facilities housing equipment or services. Can be a building or place that provides a particular service or is used for a particular activity. Use the specific Building or Room whenever possible. Short definition from http://dictionary.reference.com/browse/facility. - Something designed, built, installed, etc., to serve a specific function or activity affording a convenience or service. - Use subclasses of core:Facility subclasses instead of this class if possible - - - - - - - - Faculty Administrative Position - - An academic administrative position (associate dean, etc.) as distinct from a professional administrative position (non-academic) - Associate Dean - That is a position held by an academic faculty member who works for administration. - - - - - - - - Faculty Mentoring Relationship - - An advisory relationship in which one faculty member mentors another faculty member. - - - - - - - - Faculty Position - - Academic position in a university or institution - Professor, associate professor and assistant professor are common positions for academic faculty. - Professor; Associate Professor; Assistant Professor - - - - - - - - Foundation - - An institution financed by a donation or legacy to aid research, education, the arts, etc. - Definition take from: http://dictionary.reference.com/browse/foundation. - The Ford Foundation - - - - - - - - Funding Organization - - A defined class of organizations that fund Grants. - National Institute of Health (NIH) - - - - - - - - Geographic Location - - A location having coordinates in geographic space. - Removed the word "stable" because disputed territories from geopolitical.owl are included. This could imply that the geographic coordinates could change. I've also copied this definition to core:Geographic Location. I think core:Geographic Location and core:Geographic Region are both the same and only one is needed. There is also geopolitical.owl:geographical_region which further causes confusion. - Use subclasses of core:Geographic Location subclasses instead of this class if possible. - - - - - - - - Geographic Region - A location having coordinates in geographic space. - Removed the word "stable" because disputed territories from geopolitical.owl are included. This could imply that the geographic coordinates could change. This definition was originally in core:Geographic Location. I simply copied the definition from there. I think core:Geographic Location and core:Geographic Region are both the same and only one is needed. There is also geopolitical.owl:geographical_region which further causes confusion. - Use subclasses of core:Geographic Region subclasses instead of this class if possible. - - - - - - - - Geopolitical Entity - - A geographical area which is associated with some sort of political structure. - Short definition obtained here: http://en.wiktionary.org/wiki/geopolitical_entity. - Use subclasses of core:GeopoliticalEntity subclasses instead of this class if possible. - - - - - - - - Government Agency - - A government agency is a permanent or semi-permanent organization in the machinery of government that is responsible for the oversight and administration of specific functions. - Definition take from: http://en.wikipedia.org/wiki/Government_agency. - United States Library of Congress - - - - - - - - Graduate Advising Relationship - - An advisory relationship in which a professor advises a graduate student. - - - - - - - - Graduate Student - - A person who has already received a bachelor's degree and is working toward a Master's or Doctoral degree. - - - - - - - - Grant - An intramural or extramural award to support scholarly work, such as UF09179 (VIVO) - Financial assistance mechanism providing money, property, or both to an eligible entity to carry out an approved project or activity - Short definition is from the Glossary of NIH Terms. - - - - - - - - Hospital - - An institution that provides medical, surgical, or psychiatric care and treatment for the sick or the injured. - Definition take from: http://dictionary.reference.com/browse/hospital. - Shands at the University of Florida - - - - - - - - Institute - - An Institute normally has a research focus but may also fulfill instructional or outreach roles. - Institute for Fundamental Theory - - - - - - - - Internship - Typically a student or a recent graduate undergoing supervised practical training. - - - - - - - - Investigator Role - - A role in an Agreement (for example, a grant) as a named investigator or key personnel. - - - - - - - - Invited Talk - - - - - - - - - Issued Credential - - - - - - - - Laboratory - - An organizational unit (as opposed to the physical facility) that performs research, provides services, or processes materials - - - - - - - - Leader Role - - A broad-ranging leader concept, from leading a small temporary committee to head of a large international organization. - A leadership role - - - - - - - - Librarian Position - - A position held by library and information science professionals, or academic or technical experts, in support of providing information services or materials - It is the common position in libraries. - Librarian; Library Systems Analyst; Music Bibliographer - - - - - - - - Library - - A collection of any materials, for study and enjoyment, which has been systematically arranged. - Marston Science Library - Used information from this definition: http://dictionary.reference.com/browse/library. - - - - - - - - Licensure - - A granted license, which gives a 'permission to practice.' - A granted license, which gives a 'permission to practice.' Such licenses are usually issued in order to regulate some activity that is deemed to be dangerous or a threat to the person or the public or which involves a high level of specialized skill. See also core:License. - - - - - - - - Location - It's anticipated that the subclasses will be used when classifying items. And, all locations can be viewable via this class. - Top level of all location classes. - Use subclasses of core:Location when classsifying items. - - - - - - - - Medical Residency - Residency is a stage of graduate medical training. - - - - - - - - Meeting - - A gathering of people for a defined purpose, not necessarily public or announced - - - - - - - - Member Role - - A role of being a member in a Process or an Organization - - - - - - - - Museum - - A building or place where works of art, scientific specimens, or other objects of permanent value are kept and displayed. - Definition was take from here: http://dictionary.reference.com/browse/museum - The Getty Museum - - - - - - - - News Release - - A short written piece focused on an event or announcement of note, having a defined publication time and of less enduring interest than a news feature. - - - - - - - - Newsletter - - The Ornithological Newsletter - Usually issued periodically, prepared by or for a group or institution to present information to a specific audience, often also made available to the press and public - - - - - - - - Non-Academic Position - - A position classified as professional, staff, support, or any other non-academic role - Accounting & Research Services Assistant; Director of Information Technology - Staff, support, and other non-academic positions. - - - - - - - - Non-Faculty Academic Position - - A position involving academic work but without faculty status - Researcher; Academic Extension Associate; Postdoctoral Associate - Those positions are held by people who do academic work but do not have faculty positions in universities or institutes. - - - - - - - - Organizer Role - - A role of organizing - - - - - - - - Outreach Provider Role - - An outreach or community service role directed outside a person's primary profession and institution - Communicating Astronomy to the Public - The example is one outreach role required by US space agency NASA, which is related with one project in NASA. Name of the outreach role should be put here. - - - - - - - - Peer Reviewer Role - - A role of peer reviewing - is a generic term for a process of self-regulation by a profession or a process of evaluation involving qualified individuals within the relevant field. Peer review methods are employed to maintain standards, improve performance and provide credibility. In academia the term is often used to denote a prepublication review of academic papers; reviewing an academic paper is often called refereeing. -Contents -[hide] - - - - - - - - Populated Place - - Either city or town - a thickly populated area having fixed boundaries and certain local powers of government. - - - - - - - - Position - An employment activity, whether compensated or not. Short definition comes from http://en.wikipedia.org/wiki/Position, and has been modified. - Director of Admissions and Placement; Associate University Librarian - Particular position in an organization, commonly identified by job title, and normally associated with a job description that details the tasks and responsibilities that go with the position. - - - - - - - - Postdoc or Fellow Advising Relationship - - An advisory relationship in which the advisee is a Postdoc or Fellow. - - - - - - - - Postdoctoral Position - - A postdoctoral training appointment (job) - - - - - - - - Postdoctoral Training - Postdoctoral research is academic or scholarly research conducted by a person who has completed his or her doctoral studies, normally within the following five years. It is intended to further deepen expertise in a specialist subject. - - - - - - - - Presentation - - Encompasses talk, speech, lecture, slide lecture, conference presentation - - - - - - - - Presenter Role - - A role of presenting information - Are we assuming that a PresenterRole is in a Presentation? Or could you have a PresenterRole in, say, a committee? - - - - - - - - Primary Position - - A position designated as primary by the organization or group where it is held. This designation may be applied to zero or more of an agent's positions and may be asserted in conjunction with other subclasses of position. - A position designated as primary by the organization where it is held. - - - - - - - - Principal Investigator Role - - Role of a person to direct a project or activity being supported by an Agreement (for example, a grant), and who is accountable to the grantee for the proper conduct of the project or activity. Also known as Program Director or Project Director. - - - - - - - - Private Company - - A private company is one that is privately-owned, and thus, is not publicly-traded in the stock market. Members of the general public cannot purchase stock in a private company unless that company chooses to go public and become a public company. - Definition obtained here: http://answers.ask.com/Business/Finance/what_is_a_private_company. Examples of private companies found here: http://www.forbes.com/2008/11/03/largest-private-companies-biz-privates08-cx_sr_1103private_land.html - Publix Super Markets; Ernst & Young; PricewaterhouseCoopers - - - - - - - - Program - - A Cornell graduate field (http://vivo.cornell.edu/index.jsp?home=65535&collection=820) - An ongoing academic initiative not formalized with department or division status. - - - - - - - - Project - An endeavor, frequently collaborative, that occurs over a finite period of time and is intended to achieve a particular aim. - An endeavor, frequently collaborative, that occurs over a finite period of time and is intended to achieve a particular aim. - - - - - - - - - Publisher - - A person or company whose business is the publishing of books, periodicals, engravings, computer software, etc. - Definition found here: http://dictionary.reference.com/browse/publisher - Elsevier; Harper & Row; Indiana University Press - - - - - - - - Relationship - a reified relationship - functions as an n-ary predicate - - - - - - - - Research Organization - - Any organization (likely also asserted as another class of Organization) with a primary, ongoing research function, not just through occasional roles - - - - - - - - Research Proposal - - A proposal for a research grant that has been submitted but not approved; does not represent an existing activity - - - - - - - - Researcher Role - - A role of conducting funded or unfunded research, sometimes linked to an Agreement. - Examples of research can be seen at: http://www.ufl.edu/research/products/index.html. Note these may have been funded, but the research doesn't have to be funded. Also, the research may be linked to an Agreement (for example, a Grant), but does not need to be. - - - - - - - - Review - - An article reviewing one or more other information resources (a book, one or more other articles, movies, etc) - - - - - - - - Reviewer Role - - A role that encompasses both ongoing reviewer responsibility for a bibo:Collection, such as a Journal or Series, and also a review performed for a bibo:Document, such as a book, academic article or conference paper. - A role that encompasses both ongoing reviewer responsibility for a bibo:Collection, such as a Journal or Series, and also a review performed for a bibo:Document, such as a book, academic article or conference paper. - - - - - - - - Room - - 100 Caldwell Hall; 114 Martha Van Rensselaer (Rushmore Conference Room) - Enter room number of name. - Room that provides a particular service or is used for a particular activity. - - - - - - - - School - - An institution for instruction in a particular skill or field. - Definition take from here: http://dictionary.reference.com/browse/school. - School of Architecture; School of Music - - - - - - - - Score - - Written musical composition for voice or instruments or both - - - - - - - - Screenplay - - Written script for a film production, including dialogue and descriptions of gestures, actions, shooting directions - - - - - - - - Seminar Series - - An organized series of a meeting for an exchange of ideas, typically put on by a department or center. - Applied Microeconomics Seminars; Future of Rural New York Seminar Series - For individual seminars, use seminar instead. core:ConferenceSeries and core:SeminarSeries are very similar. - - - - - - - - Service Providing Lab - - A laboratory that provides services - Ideally a defined class -- a Laboratory the provides some Service via the property - - - - - - - - Speech - - Text of a speech written in preparation for delivery of the speech. - - - - - - - - State Or Province - - Minnesota; Michigan; Indiana; New York; Quebec; Manitoba; Ontario - One of a number of areas or communities having their own governments and forming a federation under a sovereign government, as in the US. - Source of the Short Definition: http://www.thefreedictionary.com/state. - - - - - - - - Student - - A person who is enrolled in an educational institution. - Use only if no specific subclasses of core:Student describe the person. - - - - - - - - Student Organization - - A student organization is an organization, operated by students at a university, whose membership normally consists only of students. - Dancin' Gators - Definition take from here: http://en.wikipedia.org/wiki/Student_society - - - - - - - - Subnational Region - - Boroughs; townships; districts; the Midwest - For example, the Midwest, northeast U.S. - Short definition was partially taken from http://en.wikipedia.org/wiki/Subnational_entity. - Smaller administrative division into which a country may be divided. - - - - - - - - Teacher Role - - A role of serving as an educator - - - - - - - - Team - - An informal organization brought together for the purposes of a project or event. - VIVO Outreach Team; VIVO Ontology Team - - - - - - - - Translation - - The result of rendering a work from one language to another - - - - - - - - Transnational Region - - Any region that goes beyond national boundaries and does not fit into any subclass of core:TransnationalRegion. - None as yet. - Not sure how to access the "Editor's Comments". But as North America is a continent, it would be placed directly into the continent subclass and viewable through this class along with any other subclass entities. - sub-Saharan Africa, North America - - - - - - - - URLLink - The full URL. - Uniform Resource Locator (URL) specifies where an identified resource is available and the mechanism for retrieving it. - http://info.slis.indiana.edu/~katy/ - - - - - - - - Undergraduate Advising Relationship - - An advisory relationship in which a professor advises an undergraduate student. - - - - - - - - Undergraduate Student - - A person registered in an undergraduate program leading to a bachelor's degree or an undergraduate diploma or certificate. - - - - - - - - University - - An institution of higher education and research, which grants academic degrees in a variety of subjects, and provides both undergraduate education and postgraduate education. - Definition taken from: http://en.wikipedia.org/wiki/University - University of Florida; Washington University in St. Louis - - - - - - - - Video - - Audiovisual recording in video format - - - - - - - - Working Paper - - A document created as a basis for discussion or a very early draft of a formal paper - - - - - - - - Workshop Series - - An organized series of workshop events, whether repetitions of the same workshop or multiple different workshops. - Use workshop for individual events. - - - - - - - - - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-dcelements-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-dcelements-public-1.5.owl deleted file mode 100644 index 8f495252..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-dcelements-public-1.5.owl +++ /dev/null @@ -1,41 +0,0 @@ - - - - Dublin Core elements - - - - - - - - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-dcterms-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-dcterms-public-1.5.owl deleted file mode 100644 index 22dfa0f0..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-dcterms-public-1.5.owl +++ /dev/null @@ -1,47 +0,0 @@ - - - - Dublin Core terms - - - - - - - - - - - - - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-event-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-event-public-1.5.owl deleted file mode 100644 index 5506ce2b..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-event-public-1.5.owl +++ /dev/null @@ -1,165 +0,0 @@ - - - - Event Ontology - - - - - - - - - - - - - - - - - - - - - - - - - is agent in - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Event - Only use if no specific subclasses of event:Event are appropriate. - Something that happens at a given place and time. - This class will also display instances of subclasses under Event, e.g. Philosophy Department Discussion Club; 2009 Racker Lecture; screening of a documentary. In addition to a location in space and time, an event may have any or all the following qualities: actively participating agents, passive factors, work products. Also, it may be in a virtual space or part of a series such as a lecture series. - -The previous short definition was: "An arbitrary classification of a space/time region, by a cognitive agent." - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-fabio-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-fabio-public-1.5.owl deleted file mode 100644 index aaab5b05..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-fabio-public-1.5.owl +++ /dev/null @@ -1,51 +0,0 @@ - - - FRBR-aligned Bibiographic Ontology - - - A recommendation on the appropriate treatment and care of people with a specific disease or condition, based on the best available evidence, designed to help healthcare professionals in their work. - Clinical Guideline - A recommendation on the appropriate treatment and care of people with a specific disease or condition, based on the best available evidence, designed to help healthcare professionals in their work. - - - - A verbal or written remark concerning some entity. In written form, a comment is often appended to that entity and termed an annotation. Within computer programs or ontologies, comments are added to enhance human understanding, and are usually prefaced by - - Comment - A verbal or written remark concerning some entity. In written form, a comment is often appended to that entity and termed an annotation. Within computer programs or ontologies, comments are added to enhance human understanding, and are usually prefaced by a special syntactic symbol that ensures they are ignored during execution of the program. - -has super-classes - - - - A formal correction to an error introduced by the publisher into a previously published document. - Erratum - A formal correction to an error introduced by the publisher into a previously published document. - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-foaf-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-foaf-public-1.5.owl deleted file mode 100644 index 8d856433..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-foaf-public-1.5.owl +++ /dev/null @@ -1,196 +0,0 @@ - - - - FOAF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Agent - Agents are things that do stuff - see: http://xmlns.com/foaf/spec/#term_Agent - Used to describe any "agent" related to bibliographic items. Such agents can be persons, organizations or groups of any kind. - - - - - - - - Group - - A collection of individual agents (and may itself play the role of a Agent, ie. something that can perform actions). - A group can also be an organization but need not be; typically used for looser associations of people or organizations acting together in some fashion, not necessarily through formal agreement or on a long-term basis. Added to the VIVO ontology to be able to support informal and perhaps even private groups of people around an idea, funding opportunity, or event. - -see: http://xmlns.com/foaf/spec/#term_Group - - - - - - - - Organization - - A generic class encompassing several types of organizations. - Only use if no specific subclasses of foaf:organization desribe the organization. - This class will display all the instances in the subclasses below it, as well as any organizations that were added as part of this generic class because there wasn't a specific class available. - Ued to describe an organization related to bibliographic items such as a publishing company, etc. - - - - - - - - Person - - The most general classification of a person - - - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-pws-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-pws-public-1.5.owl deleted file mode 100644 index c1dfc4e8..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-pws-public-1.5.owl +++ /dev/null @@ -1,41 +0,0 @@ - - - - provenance support - - - - - - - - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo-skos-public-1.5.owl b/productMods/WEB-INF/filegraph/tbox/vivo-skos-public-1.5.owl deleted file mode 100644 index 107038a6..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo-skos-public-1.5.owl +++ /dev/null @@ -1,54 +0,0 @@ - - - SKOS (Simple Knowledge Organization System) - - - Concept - An idea or notion; a unit of thought. - - - - - Public description modified from the information on this page: http://www.w3.org/TR/2005/WD-swbp-skos-core-guide-20050510/#sechierarchy . - narrower term - - - - - - - - - related - - - broader term - - - Public description modified from the information on this page: http://www.w3.org/TR/2005/WD-swbp-skos-core-guide-20050510/#sechierarchy . - - - diff --git a/productMods/WEB-INF/filegraph/tbox/vivo.owl b/productMods/WEB-INF/filegraph/tbox/vivo.owl deleted file mode 100644 index 4a3dd43c..00000000 --- a/productMods/WEB-INF/filegraph/tbox/vivo.owl +++ /dev/null @@ -1,682 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - assigned by - Relates a Relationship (as a predicate or n-ary relation over one or more Thing) to an Agent that defined or instantiated the predicate instance. - - - - - - - - - - - assigns - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - related by - Relates a Thing to a Relationship as a Thing that is somehow related to other Thing in the same Relationship instance. A Relationship instnace is a predicate over Thing and is created by an Agent. - - - - - - - - - relates - Relates a Relationship instance to the one or more Thing of the Relationship. There is a separate property (assigned by) to relate to the Agent that defines the Relationship. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - has_monetary_amount - - - - - - - - has_value - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - self governing - - - - - - - - - service - - - - - - - - - software - - - - - - - - - data - - - - - - - - - journal article (IAO) - - - - - - - - - information content entity (IAO) - - - - - - - - - scalar measurement datum - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - document (IAO) - - - - - - - - - global citation count - - - - - - - - - administrator role - - - - - - - - - advising process - - - - - - - - - - - - - - - - - attending process - - - - - - - - - - - - - - - - - awarded degree - - The awarding of a degree by an agent to another agent. It is mostly for academic degrees. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - editorship - - A relationship that represents the recognition of an agent as an editor. - - - - - - - - educational process - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - organizing process - - - - - - - - - - - - - - - - - - - - - - - - - presenting process - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - has_global_citation_frequency - - - geographic_location_of - - - geographical region - - - reviewed_in - - - geographically_within - - - - - - - From 0312ebd448b9c12733bcc40e5918e78106e80eec Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Fri, 23 Aug 2013 11:02:39 -0400 Subject: [PATCH 15/66] ISF filegraph improvements --- productMods/WEB-INF/filegraph/tbox/agent.owl | 28 - .../WEB-INF/filegraph/tbox/contact-vcard.owl | 263 +----- .../filegraph/tbox/research-resource-iao.owl | 7 - .../filegraph/tbox/research-resource.owl | 813 +----------------- .../WEB-INF/filegraph/tbox/research.owl | 416 --------- 5 files changed, 8 insertions(+), 1519 deletions(-) diff --git a/productMods/WEB-INF/filegraph/tbox/agent.owl b/productMods/WEB-INF/filegraph/tbox/agent.owl index fea2366e..f8a451a8 100644 --- a/productMods/WEB-INF/filegraph/tbox/agent.owl +++ b/productMods/WEB-INF/filegraph/tbox/agent.owl @@ -150,34 +150,6 @@ - - - - - hospital units - - - - - - - - - hospitals - - - - - - - - - laboratories - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/contact-vcard.owl b/productMods/WEB-INF/filegraph/tbox/contact-vcard.owl index c719bdf7..23401744 100644 --- a/productMods/WEB-INF/filegraph/tbox/contact-vcard.owl +++ b/productMods/WEB-INF/filegraph/tbox/contact-vcard.owl @@ -150,11 +150,6 @@ - - - - - @@ -1115,9 +1110,6 @@ Was called CALADRURI in vCard - - - Defines all the properties required to be a Group of Individuals or Organizations @@ -1255,8 +1247,6 @@ Was called CALADRURI in vCard - - Defines all the properties required to be an Individual @@ -1330,7 +1320,7 @@ Was called IMPP in vCard. - + @@ -1338,59 +1328,11 @@ Was called IMPP in vCard. - - - - - - - - - 0 - - - - - - - - - - - - 0 - - - - - - - - - - - - 0 - - - - - - - - - - - - 0 - - - - + @@ -1402,7 +1344,7 @@ Was called IMPP in vCard. - + @@ -1410,71 +1352,11 @@ Was called IMPP in vCard. - - - - - - - - - 0 - - - - - - - - - - - - 0 - - - - - - - - - - - - 0 - - - - - - - - - - - - 0 - - - - - - - - - - - - 0 - - - - + @@ -1482,71 +1364,11 @@ Was called IMPP in vCard. - - - - - - - - - 0 - - - - - - - - - - - - 0 - - - - - - - - - - - - 0 - - - - - - - - - - - - 0 - - - - - - - - - - - - 0 - - - - + @@ -1554,23 +1376,11 @@ Was called IMPP in vCard. - - - - - - - - - 0 - - - - + @@ -1582,7 +1392,7 @@ Was called IMPP in vCard. - + @@ -1590,42 +1400,6 @@ Was called IMPP in vCard. - - - - - - - - - 0 - - - - - - - - - - - - 0 - - - - - - - - - - - - 0 - - - @@ -1664,7 +1438,6 @@ Was called IMPP in vCard. location (vcard c) - Defines all the properties required to be a Location @@ -2076,28 +1849,6 @@ Was called IMPP in vCard. - - - - role (vcard c) - - - - - - - - - - 1 - - - - - - To specify the function or part played in a particular situation by the object the vCard represents - - diff --git a/productMods/WEB-INF/filegraph/tbox/research-resource-iao.owl b/productMods/WEB-INF/filegraph/tbox/research-resource-iao.owl index 43b37ea3..2b748398 100644 --- a/productMods/WEB-INF/filegraph/tbox/research-resource-iao.owl +++ b/productMods/WEB-INF/filegraph/tbox/research-resource-iao.owl @@ -70,13 +70,6 @@ - - - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/research-resource.owl b/productMods/WEB-INF/filegraph/tbox/research-resource.owl index c3e0dfd5..796fdf84 100644 --- a/productMods/WEB-INF/filegraph/tbox/research-resource.owl +++ b/productMods/WEB-INF/filegraph/tbox/research-resource.owl @@ -113,6 +113,7 @@ http://www.yourdictionary.com/reagent reagent + @@ -298,25 +299,6 @@ - - - - data storage - - A data transformation technique that involves the process of recording or retrieving information or data. - Information storage - PERSON: Karen Corday - Storing data on a server. - bulk data storage - data storage - http://en.wikipedia.org/wiki/Data_storage - research data storage - - - - - - @@ -331,35 +313,6 @@ - - - - - - - data entry - - A data transformation technique that involves transcribing some form of data into another form, usually a computer program. - Entry of data about research resources into eagle-i. - PERSON: Nicole Vasilevsky - http://www.wisegeek.com/what-is-data-entry.htm - - - - - - - - - bioinformatics analysis - - A data transformation technique that involves the analysis of bioinformatics data, which is the application of statistics and computer science to the field of molecular biology. - Analysis of DNA sequence data. - PERSON: Nicole Vasilevsky - http://en.wikipedia.org/wiki/Bioinformatics - - - @@ -556,768 +509,4 @@ - - - - academic software license - - - - - - - software license - - - - - - - - - - - spreadsheet - - A spreadsheet data format is one in which data is organised into a matrix (or matrices) of columns and rows to form cells in which values are entered. - - - - - - - - - xls spreadsheet - - A spreadsheet data format designed for Microsoft Excel. - - - - - - - - - xml spreadsheet - - A spreadsheet data format in which the structure of the data is described using XML, such as column and row headers and cell identity. - - - - - - - - - matlab m file - - - - - - - - - - xml - - Extensible Markup Language (XML) is a standard set of rules for encoding documents in a machine-readable form defined by the W3C. - - - - - - - - - rdf - - http://www.w3.org/TR/REC-rdf-syntax/ - The Resource Description Framework (RDF) is a general-purpose language for representing information in the Web. - - - - - - - - - rdf-xml - - - A serialisation of RDF into an XML format. - - - - - - - - - image format - - - - - - - - - - dwg - - http://en.wikipedia.org/wiki/.dwg - DWG ("drawing") is a binary file format used for storing two and three dimensional design data and metadata - - - - - - - - - dxf - - http://en.wikipedia.org/wiki/AutoCAD_DXF - DXF (Drawing Interchange Format, or Drawing Exchange Format) is a CAD data file format developed by Autodesk for enabling data interoperability between AutoCAD and other programs. - - - - - - - - - bmp - - http://www.fileformat.info/format/bmp/egff.htm - The BMP File Format is a Raster graphics image file format used to store bitmap digital images, independently of the display device (such as a graphics adapter). - - - - - - - - - cgm - - Computer Graphics Metafile (CGM) is a free and open international standard file format for 2D vector graphics, raster graphics, and text, and is defined by ISO/IEC 8632. - http://en.wikipedia.org/wiki/Computer_Graphics_Metafile - - - - - - - - - web page specification - - - - - - - - - - document exchange format - - - - - - - - - - pdf - - Portable Document Format - PDF is an open standard for document exchange. - - - - - - - - - tiff - - Tagged Image File Format - TIFF is a flexible, adaptable file format for handling images and data within a single file, by including the header tags (size, definition, image-data arrangement, applied image compression) defining the image's geometry. - - - - - - - - - jpeg - - JPEG is a lossy file format for storing images - JPG - - - - - - - - - png - - Portable Network Graphics - PNG is a bitmapped image format and video codec that employs lossless data compression. - - - - - - - - - gif - - The Graphics Interchange Format (GIF) is a bitmap image format. The format supports up to 8 bits per pixel thus allowing a single image to reference a palette of up to 256 distinct colors. The colors are chosen from the 24-bit RGB color space. It also supports animations and allows a separate palette of 256 colors for each frame. The color limitation makes the GIF format unsuitable for reproducing color photographs and other images with continuous color, but it is well-suited for simpler images such as graphics or logos with solid areas of color. [wikipedia] - Graphics Interchange Format - - - - - - - - - raster image format - - A raster image is a format for representing a rectangular grid of dots (pixels) which contains information on the specific colour of each pixel. - - - - - - - - - vector image format - - A vector image is a collection of connected lines and curves that produce objects. This geometric description enables the image to be displayed without loss at any size rendering. - - - - - - - - - svg - - Scalable Vector Graphics - - - - - - - - - ai - - Adobe Illustrator format - - - - - - - - - postscript - - PostScript is a format used for describing documents. - - - - - - - - - tex - - LaTeX format - tex is a format for documents written in the document markup language and document preparation system LaTeX. - - - - - - - - - outline document format - - A format specification for data used or produced by outliner software - - - - - - - - - omnioutline format - - A proprietary format for documents created and edited using OmniOutliner outliner software, - - - - - - - - - opml - - OPML (Outline Processor Markup Language) is an XML format for outlines - Outline Processor Markup Language - - - - - - - - - jpeg 2000 - - JPEG 2000 is a compression standard enabling both lossless and lossy storage. The compression methods used are different from the ones in standard JFIF/JPEG; they improve quality and compression ratios, but also require more computational power to process. [wikipedia] - - - - - - - - - word processing document format - - - - - - - - - - wordstar format - - - - - - - - - - microsoft word doc - - A file format for word processing documents for Microsoft Word. - - - - - - - - - programming language format - - - - - - - - - - .java file - - James Malone - A source code file format which is specified to be used with the Java programming language. - - - - - - - - - .class file - - A format in which a .java file has been compiled into bytecode using a Java compiler and which is specified to be executed using the Java virtual machine. - James Malone - - - - - - - - - copasiml - - .cps - An XML-based file format for use with the COPASI software. - - - - - - - - - sbml - - Systems Biology Markup Language - Systems Biology Markup Language (SBML) is a machine-readable format for representing models. It's oriented towards describing systems where biological entities are involved in, and modified by, processes that occur over time. - http://sbml.org - - - - - - - - - owl-xml - - The Web Ontology Language (OWL) in XML serialization - - - - - - - - - owl2-xml - - Web Ontology Language version 2 in XML Serialization - - - - - - - - - obo flat file format - - OBO format is the text file format used by OBO-Edit, the open source, platform-independent application for viewing and editing ontologies. - - - - - - - - - text file format - - - - - - - - - - ascii format - - - - - - - - - - plain text file format - - - - - - - - - - mage tab format - - MAGE-TAB is a tab delimited data format comprimising of ADF file for array design, IDFfor experimental design, SDRF for sample data relationships and associated data files. - http://www.mged.org/mage-tab/ - A simple spreadsheet-based, MIAME-supportive format for microarray data: MAGE-TAB. - - - - - - - - - tab delimited file format - - - - - - - - - - psi-mi format - - Modified from http://wiki.cytoscape.org/GettingStarted, accessed 20 June 2012. - The PSI-MI format is an acronym for the Proteomics Standards Initiative - Molecular Interaction format. It provides an XML standard for molecular interactions and is supported by many molecular interaction databases and tools. - PSI-MIF - - - - - - - - - sif - - http://wiki.cytoscape.org/GettingStarted and http://wiki.cytoscape.org/Cytoscape_User_Manual/Network_Formats, accessed 20 June 2012 - SIF stands for Simple Interaction Format, and is a text format invented for Cytoscape. If the file contains any tab characters, then tabs are used to delimit the fields and spaces are considered part of the name. If the file contains no tabs, then any spaces are delimiters that separate names (and names cannot contain spaces). - - - - - - - - - gml - - GML stands for Graph Markup Language, and is a standard network file format; supported by multiple generic network software packages - http://wiki.cytoscape.org/GettingStarted, accessed 20 June 2012 - - - - - - - - - xgmml - - XGMML stands for eXtensible Graph Markup and Modelling Language, and it is a XML standard; similar to but preferred over GML. - http://wiki.cytoscape.org/GettingStarted, accessed 20 June 2012 - - - - - - - - - biopax rdf/xml format - - - - - - - - - - biopax manchester owl syntax format - - - - - - - - - - creative commons - - - - - - - - - - proprietary commercial software license - - - - - - - - - - mozilla public license version 1.1 - - - - - - - - - - gnu general public license - - - - - - - - - - apache license v2 - - - - - - - - - - academic license version 3 - - - - - - - - - - freebsd license - - 2 clause BSD License - - - - - - - - - open source software license - - - - - - - - - - license without restrictions on derivatives - - - - - - - - - - mit license - - - - - - - - - - lesser gnu public license - - - - - - - - - - the artistic license 1.0 - - - - - - - - - - eclipse public license - - - - - - - - - - modified bsd license - - 3 clause BSD License - - - - - - - - - latex project public license - - - - - - - - - - open public license - - http://wyatterp.com/opl.html - - - - - - - - - mozilla public license - - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/research.owl b/productMods/WEB-INF/filegraph/tbox/research.owl index cb31ce2c..104e0be3 100644 --- a/productMods/WEB-INF/filegraph/tbox/research.owl +++ b/productMods/WEB-INF/filegraph/tbox/research.owl @@ -65,422 +65,6 @@ - - - - gene knockdown function - - A perturb function that results in decreased expression levels of a target gene. This can be achieved through targeting a gene directly through gene knockout or modification of the its DNA sequence, or targeting of the mRNA product of a gene using technologies such as RNAi. - Gene repression function - Gene silencing function - Knockdown the function of a gene, to study the function of that gene. - PERSON: Matthew Brush - PERSON: Matthew Brush - - - - - - - - - rna interference function - - A gene knockdown function that targets genes for post-transcriptional silencing through the RNA interference pathway. - PERSON: Matthew Brush - PERSON: Matthew Brush - RNAi function - - - - - - - - - - - - - - - record function - - Bill Bug - Daniel Schober - Frank Gibson - Melanie Courtot - A record function is a function that registers or collects information in a particular format on a particular recording medium. For example on paper or a digital representation - record function - - - - - - - - - - magnify function - - Bill Bug - Daniel Schober - Frank Gibson - Melanie Courtot - A magnify function is a function to increase the size of a transmitted object image through the precise arrangement of energy diffraction elements along an imaging path. - magnify function - - - - - - - - - - contain function - - A syringe, a beaker - Bill Bug - Daniel Schober - Frank Gibson - Melanie Courtot - A contain function is a function to constrain a material entities location in space - contain function - - - - - - - - - - heat function - - Bill Bug - Daniel Schober - Frank Gibson - Melanie Courtot - A heat function is a function that increases the internal kinetic energy of a material - heat function - - - - - - - - - - material separation function - - Bill Bug - Daniel Schober - Frank Gibson - Melanie Courtot - A material separation function is a function that increases the resolution between two or more material entities. The to distinction between the entities is usually based on some associated physical quality. - material separation function - - - - - - - - - - excitation function - - Bill Bug - Daniel Schober - Frank Gibson - Melanie Courtot - A excitation function is a function to inject energy by bombarding a material with energetic particles (e.g., photons) thereby imbuing internal material components such as electrons with additional energy. These internal, 'excited' particles may lead to the rupturing of covalent chemical bonds or may quickly relax back to there unexcited state with an exponential time course thereby locally emitting energy in the form of photons. - excitation function - - - - - - - - - - freeze function - - Bill Bug - Daniel Schober - Frank Gibson - Melanie Courtot - A freeze function is a function to decrease the internal kinetic energy of a material below the freezing point of that type of material. - freeze function - - - - - - - - - - synthesizing function - - A synthesizing function is a function to assemble new output materials from distinct input materials. The output materials typically consist of chemically distinct monomeric objects or object aggregate polymers. - Bill Bug - Daniel Schober - Frank Gibson - Melanie Courtot - synthesizing function - - - - - - - - - - perturb function - - Bill Bug - Daniel Schober - Frank Gibson - Melanie Courtot - A perturb function is a function that disrupts the normal function of a system induced through either internal or external means. External means of perturbation include: (1) displacement fields in the physical sense - e.g., temperature change, osmotic shock, pressure change; (2) application of small molecules such as drugs or toxins to perturb the function of specific pathways or application of surfactants to perturb the normal function of plasma membrane. Internal means of perturbation include: (1) manipulation of gene function via gene knockout or transcript knockdown via RNAi; (2) directed genetic mutation leading to minimal aa alterations that interfere with peptide function. - http://en.wikipedia.org/wiki/Perturbation_biology - perturb function - - - - - - - - - - mechanical function - - Bill Bug - Daniel Schober - Frank Gibson - Melanie Courtot - A mechanical function is a function that is realised via mechanical work (through an certain amount of energy transferred by some force). - http://en.wikipedia.org/wiki/Mechanical_work - mechanical function - - - - - - - - - - transfer function - - Bill Bug - Daniel Schober - Frank Gibson - Melanie Courtot - A transfer function is a function to displace a material from one location to another. - transfer function - - - - - - - - - - cool function - - Daniel Schober - Frank Gibson - Melanie Courtot - A cool function is a function to decrease the internal kinetic energy of a material below the initial kinetic energy of that type of material. - cool function - - - - - - - - - - information processor function - - Frank Gibson - An information processor function is a function that converts information from one form to another, by a lossless process or an extraction process. - data processor function - information processor function - - - - - - - - - - signal conversion function - - Bill Bug - Daniel Schober - Frank Gibson - Melanie Courtot - transduction function - A signal conversion function is an information processor function which transforms a signal into another type of signal. For example an analog-to-digital_converter, Ac/Ac converter, a synapse converts electrical action potentials into an intermediate chemical signal. The post synapse converts it back into an electric one passed on to the axon. - signal conversion function - - - - - - - - - - signal amplification function - - Bill Bug - Daniel Schober - Frank Gibson - Melanie Courtot - A signal amplification function is a signal conversion function to inject energy into an input signal so as to produce an output signal with increased differential magnitude while also seeking to minimize increases in the signal to noise ratio. For example, to produce a 0.1 KW output signal from a 1 mW RMS input signal. - signal amplification function - - - - - - - - - - image acquisition function - - Frank Gibson - An image acquisition function is a function to acquire an image of a material - image acquisition function - - - - - - - - - - environment control function - - Bill Bug - Daniel Schober - Frank Gibson - Melanie Courtot - An environmental control function is a function that regulates a contained environment within specified parameter ranges. For example the control of light exposure, humidity and temperature. - environment control function - - - - - - - - - - measure function - - A glucometer measures blood glucose concentration, the glucometer has a measure function. - PERSON: Daniel Schober - PERSON: Helen Parkinson - PERSON: Melanie Courtot - PERSON:Frank Gibson - Measure function is a function that is borne by a processed material and realized in a process in which information about some entity is expressed relative to some reference. - measure function - - - - - - - - - - sterilization function - - a function to remove viable organisms from an input material - sterilization function - - - - - - - - - - reagent application function - - reagent application function - An automatic tissue processor automatically applies antibodies and buffers to histological tissue preparations. - A function that is realized when a reagent is automatically added to some research material. - PERSON: Nicole Vasilevsky, Matthew Brush - PERSON: Nicole Vasilevsky, Matthew Brush - - - - - - - - - - addition of molecular tracer function - - addition of molecular tracer function - PERSON: Nicole Vasilevsky, Matthew Brush - A reagent application function that is realized when a molecular tracer, such as an antibody or probe is automatically transferred to a biological specimen. - PERSON: Nicole Vasilevsky, Matthew Brush - Immunohistochemical labeling of tissue sections by an autostainer staining system. - - - - - - - - - - specimen fixation function - - EAGLE-I - a function that allows specific identification of individual speciment from one another. - e.g the function of a bar code reader used to read slide bar codes - specimen fixation function - - - - - - - - - - cell transfer function - - A cell harvester has a cell transfer function. - EAGLE-I - cell transfer function - is a transfer function that displaces cells from one place to another - - - - - - From 43d92a8cd8bb30c4a13d612b626d4562ca2edd67 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Fri, 23 Aug 2013 11:03:04 -0400 Subject: [PATCH 16/66] VCard migration (in progress) --- .../sparqlConstructs/additions/vcard.sparql | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard.sparql diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard.sparql new file mode 100644 index 00000000..70d69df3 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard.sparql @@ -0,0 +1,83 @@ +PREFIX arg: . +PREFIX foaf: . +PREFIX v: . +PREFIX vivo: . + +CONSTRUCT { + ?s arg:ARG_2000028 _:vcard . + _:vcard arg:ARG_2000029 ?s . + _:vcard a v:Individual . + _:vcard v:hasName _:name . + _:name a v:Name . + _:name v:givenName ?firstName . + _:name vivo:middleName ?middleName . + _:name v:familyName ?lastName . + _:name v:hasEmail _:email . + _:email a v:Email . + _:email v:email ?email . + _:name v:hasEmail _:primaryEmail . + _:primaryEmail a v:Email . + _:primaryEmail a v:Work . + _:primaryEmail v:email ?primaryEmail . + _:name v:hasTelephone _:telephone . + _:telephone a v:Telephone . + _:telephone a v:Voice . + _:telephone v:telephone ?phoneNumber . + _:name v:hasTelephone _:primaryTelephone . + _:primaryTelephone a v:Telephone . + _:primaryTelephone a v:Voice . + _:primaryTelephone a v:Work . + _:primaryTelephone v:telephone ?primaryPhoneNumber . + _:name v:hasTelephone _:fax . + _:fax a v:Telephone . + _:fax a v:Fax. + _:fax v:telephone ?faxNumber . + _:name v:hasAddress _:address . + _:address v:streetAddress ? +} WHERE { + ?s a foaf:Person + { + ?s foaf:firstName ?firstName . + } UNION { + ?s foaf:lastName ?lastName . + } UNION { + ?s vivo:middleName ?middleName + } UNION { + ?s vivo:email ?email + } UNION { + ?s vivo:primaryEmail ?primaryEmail + } UNION { + ?s vivo:phoneNumber ?phoneNumber + } UNION { + ?s vivo:primaryPhoneNumber ?primaryPhoneNumber + } UNION { + ?s vivo:faxNumber ?faxNumber + } UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:addressCity ?addressCity . + ?address vivo:addressState ?addressState . + ?address vivo:addressCountry ?addressCountry . + ?address vivo:addressPostalCode ?addressPostalCode . + ?address vivo:address1 ?address1 . + BIND (?address1 AS ?streetAddress) + } UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:addressCity ?addressCity . + ?address vivo:addressState ?addressState . + ?address vivo:addressCountry ?addressCountry . + ?address vivo:addressPostalCode ?addressPostalCode . + ?address vivo:address1 ?address1 . + ?address vivo:address2 ?address2 . + BIND (CONCAT(?address1, ", ", ?address2) AS ?streetAddress) + } UNION { + ?s vivo:mailingAddress ?address . + ?address vivo:addressCity ?addressCity . + ?address vivo:addressState ?addressState . + ?address vivo:addressCountry ?addressCountry . + ?address vivo:addressPostalCode ?addressPostalCode . + ?address vivo:address1 ?address1 . + ?address vivo:address2 ?address2 . + ?address vivo:address3 ?address3 . + BIND (CONCAT(?address1, ", ", ?address2, ", ", ?address3) AS ?streetAddress) + } +} From 35d136fec315421b49f0201e4cb03c196355dd16 Mon Sep 17 00:00:00 2001 From: tworrall Date: Mon, 26 Aug 2013 16:58:49 -0400 Subject: [PATCH 17/66] VIVO-112 ISF changes relating to custom forms and list views --- .../WEB-INF/filegraph/abox/us-states.rdf | 105 +++++++- .../app/loadedAtStartup/PropertyConfig.n3 | 156 +++++++++++- ...listViewConfig-organizationForPosition.xml | 229 +++++++++--------- .../controller/ajax/GeoFocusMapLocations.java | 4 +- ...dServiceProviderRoleToPersonGenerator.java | 100 ++++---- 5 files changed, 418 insertions(+), 176 deletions(-) diff --git a/productMods/WEB-INF/filegraph/abox/us-states.rdf b/productMods/WEB-INF/filegraph/abox/us-states.rdf index 01252b0d..eacb0984 100644 --- a/productMods/WEB-INF/filegraph/abox/us-states.rdf +++ b/productMods/WEB-INF/filegraph/abox/us-states.rdf @@ -1,206 +1,309 @@ + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" > Alabama + Alaska + Arizona + Arkansas + California + Colorado + Connecticut + Delaware + Florida + Georgia + Hawaii + Idaho + Illinois + Indiana + Iowa + Kansas + Kentucky + Louisiana + Maine + Maryland + Massachusetts + Michigan + Minnesota + Mississipi + Missouri + Montana + Nebraska + Nevada + New Hampshire + New Jersey + New Mexico + New York + North Carolina + North Dakota + Ohio + Oklahoma + Oregon + Pennsylvania + Rhode Island + South Carolina + South Dakota + Tennessee + Texas + Utah + Vermont + Virginia + Washington + West Virginia + Wisconsin + Wyoming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 index 1a99c7fc..42625bb4 100644 --- a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 +++ b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 @@ -18,6 +18,7 @@ local:personInPositionContext a :ConfigContext ; :hasConfiguration local:personInPositionConfig ; :configContextFor vivo:relatedBy ; + :qualifiedByDomain ; :qualifiedBy vivo:Position . local:personInPositionConfig a :ObjectPropertyDisplayConfig ; @@ -27,6 +28,19 @@ local:personInPositionConfig a :ObjectPropertyDisplayConfig ; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasPositionHistoryGenerator"^^xsd:string . +local:organizationForPositionContext a :ConfigContext ; + :hasConfiguration local:organizationForPositionConfig ; + :configContextFor vivo:relatedBy ; + :qualifiedByDomain ; + :qualifiedBy vivo:Position . + +local:organizationForPositionConfig a :ObjectPropertyDisplayConfig ; + :displayName "people" ; + :listViewConfigFile "listViewConfig-organizationForPosition.xml"^^xsd:string ; + :propertyGroup ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.OrganizationHasPositionHistoryGenerator"^^xsd:string . + local:authorInAuthorshipContext a :ConfigContext ; :hasConfiguration local:authorInAuthorshipConfig ; :configContextFor vivo:relatedBy ; @@ -38,19 +52,147 @@ local:authorInAuthorshipConfig a :ObjectPropertyDisplayConfig ; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddPublicationToPersonGenerator"^^xsd:string ; - :propertyGroup . + :propertyGroup . - a :ConfigContext ; - :hasConfiguration ; +local:hasServiceProviderRoleContext a :ConfigContext ; + :hasConfiguration local:hasServiceProviderRoleConfig ; :configContextFor ; :qualifiedBy . - - a :ObjectPropertyDisplayConfig ; +local:hasServiceProviderRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; - :displayName "has service provider role" ; + :displayName "service to the profession" ; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddServiceProviderRoleToPersonGenerator"^^ ; - :propertyGroup . + :propertyGroup . +local:hasClinicalRoleContext a :ConfigContext ; + :hasConfiguration local:hasClinicalRoleConfig ; + :configContextFor ; + :qualifiedBy . + +local:hasClinicalRoleConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; + :displayName "clinical activities" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddClinicalRoleToPersonGenerator"^^ ; + :propertyGroup . + +local:hasLeaderRoleContext a :ConfigContext ; + :hasConfiguration local:hasLeaderRoleConfig ; + :configContextFor ; + :qualifiedBy . + +local:hasLeaderRoleConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; + :displayName "head of" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddHeadOfRoleToPersonGenerator"^^ ; + :propertyGroup . + +local:hasMemberRoleContext a :ConfigContext ; + :hasConfiguration local:hasMemberRoleConfig ; + :configContextFor ; + :qualifiedBy . + +local:hasMemberRoleConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; + :displayName "member of" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddMemberRoleToPersonGenerator"^^ ; + :propertyGroup . + +local:hasTeacherRoleContext a :ConfigContext ; + :hasConfiguration local:hasTeacherRoleConfig ; + :configContextFor ; + :qualifiedBy . + +local:hasTeacherRoleConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; + :displayName "teaching activities" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddTeacherRoleToPersonGenerator"^^ ; + :propertyGroup . + +local:hasEditorRoleContext a :ConfigContext ; + :hasConfiguration local:hasEditorRoleConfig ; + :configContextFor ; + :qualifiedBy . + +local:hasEditorRoleConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; + :displayName "collection or series editor for" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddEditorRoleToPersonGenerator"^^ ; + :propertyGroup . + +local:hasReviewerRoleContext a :ConfigContext ; + :hasConfiguration local:hasReviewerRoleConfig ; + :configContextFor ; + :qualifiedBy . + +local:hasReviewerRoleConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; + :displayName "reviewer of" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddReviewerRoleToPersonGenerator"^^ ; + :propertyGroup . + +local:hasOrganizerRoleContext a :ConfigContext ; + :hasConfiguration local:hasOrganizerRoleConfig ; + :configContextFor ; + :qualifiedBy . + +local:hasOrganizerRoleConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; + :displayName "organizer of" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddOrganizerRoleToPersonGenerator"^^ ; + :propertyGroup . + +local:hasOutreachProviderRoleContext a :ConfigContext ; + :hasConfiguration local:hasOutreachProviderRoleConfig ; + :configContextFor ; + :qualifiedBy . + +local:hasOutreachProviderRoleConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; + :displayName "outreach and community service" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddOutreachProviderRoleToPersonGenerator"^^ ; + :propertyGroup . + +local:hasAttendeeRoleContext a :ConfigContext ; + :hasConfiguration local:hasAttendeeRoleConfig ; + :configContextFor ; + :qualifiedBy . + +local:hasAttendeeRoleConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; + :displayName "attended" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddAttendeeRoleToPersonGenerator"^^ ; + :propertyGroup . + +local:hasResearcherRoleContext a :ConfigContext ; + :hasConfiguration local:hasResearcherRoleConfig ; + :configContextFor ; + :qualifiedBy . + +local:hasResearcherRoleConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; + :displayName "research activities" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddResearcherRoleToPersonGenerator"^^ ; + :propertyGroup . diff --git a/productMods/config/listViewConfig-organizationForPosition.xml b/productMods/config/listViewConfig-organizationForPosition.xml index ec122fe2..9416110d 100644 --- a/productMods/config/listViewConfig-organizationForPosition.xml +++ b/productMods/config/listViewConfig-organizationForPosition.xml @@ -1,116 +1,113 @@ - - - - - - - - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - - SELECT DISTINCT ?subclass - ?position - ?positionTitle - ?person ?personName - ?dateTimeStart ?dateTimeEnd - ?hideThis - WHERE { - ?subject ?property ?position - OPTIONAL { ?position core:positionForPerson ?person . - ?person rdfs:label ?personName - } - - OPTIONAL { ?position vitro:mostSpecificType ?subclass . - ?subclass rdfs:subClassOf core:Position - } - - OPTIONAL { ?position rdfs:label ?positionTitle } - OPTIONAL { ?position core:hideFromDisplay ?hideThis } - OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval - OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart - } - OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd - } - # Get current positions only: end date is either null or not in the past - } - # NOT EXISTS { ?position core:hideFromDisplay ?hideThis } - FILTER ( !bound(?dateTimeEnd) || - afn:substring(str(?dateTimeEnd), 0, 4) >= afn:substring(str(afn:now()), 0, 4) ) - - FILTER ( bound(?person) ) - - } ORDER BY ?subclass ?personName - - - - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - CONSTRUCT { - ?subject ?property ?position . - ?position vitro:mostSpecificType ?subclass . - ?subclass rdfs:subClassOf core:Position - } WHERE { - ?subject ?property ?position . - ?position vitro:mostSpecificType ?subclass . - ?subclass rdfs:subClassOf core:Position - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - CONSTRUCT { - ?subject ?property ?position . - ?position ?positionProperty ?positionValue . - ?person rdfs:label ?personName - } WHERE { - { - ?subject ?property ?position - } UNION { - ?subject ?property ?position . - ?position ?positionProperty ?positionValue - } UNION { - ?subject ?property ?position . - ?position core:positionForPerson ?person . - ?person rdfs:label ?personName - } - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?position . - ?position core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart - } WHERE { - ?subject ?property ?position . - ?position core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?position . - ?position core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd - } WHERE { - ?subject ?property ?position . - ?position core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd - } - - - - + + + + + + + + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + SELECT DISTINCT ?subclass + ?position + ?positionTitle + ?person ?personName + ?dateTimeStart ?dateTimeEnd + ?hideThis + WHERE { + ?subject ?property ?position + OPTIONAL { ?position core:relates ?person . + ?person rdfs:label ?personName + } + + OPTIONAL { ?position vitro:mostSpecificType ?subclass . + } + + OPTIONAL { ?position rdfs:label ?positionTitle } + OPTIONAL { ?position core:hideFromDisplay ?hideThis } + OPTIONAL { ?position core:dateTimeInterval ?dateTimeInterval + OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } + OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } + # Get current positions only: end date is either null or not in the past + } + # NOT EXISTS { ?position core:hideFromDisplay ?hideThis } + FILTER ( !bound(?dateTimeEnd) || + afn:substring(str(?dateTimeEnd), 0, 4) >= afn:substring(str(afn:now()), 0, 4) ) + + FILTER ( bound(?person) ) + + } ORDER BY ?subclass ?personName + + + + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + CONSTRUCT { + ?subject ?property ?position . + ?position vitro:mostSpecificType ?subclass + } WHERE { + ?subject ?property ?position . + ?position vitro:mostSpecificType ?subclass + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + CONSTRUCT { + ?subject ?property ?position . + ?position ?positionProperty ?positionValue . + ?person rdfs:label ?personName + } WHERE { + { + ?subject ?property ?position + } UNION { + ?subject ?property ?position . + ?position ?positionProperty ?positionValue + } UNION { + ?subject ?property ?position . + ?position core:positionForPerson ?person . + ?person rdfs:label ?personName + } + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?position . + ?position core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } WHERE { + ?subject ?property ?position . + ?position core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?position . + ?position core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } WHERE { + ?subject ?property ?position . + ?position core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } + + + + diff --git a/src/edu/cornell/mannlib/vitro/webapp/controller/ajax/GeoFocusMapLocations.java b/src/edu/cornell/mannlib/vitro/webapp/controller/ajax/GeoFocusMapLocations.java index 2404e181..00055c34 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/controller/ajax/GeoFocusMapLocations.java +++ b/src/edu/cornell/mannlib/vitro/webapp/controller/ajax/GeoFocusMapLocations.java @@ -36,7 +36,7 @@ public class GeoFocusMapLocations extends AbstractAjaxResponder { + "PREFIX core: \n" + "PREFIX foaf: \n" + "PREFIX vivoc: \n" - + "SELECT DISTINCT ?label ?location (COUNT(?person) AS ?count) \n" + + "SELECT DISTINCT ?label ?location (COUNT(DISTINCT ?person) AS ?count) \n" + "WHERE { { \n" + " ?location rdf:type core:GeographicRegion . \n" + " ?location rdfs:label ?label . \n" @@ -45,7 +45,7 @@ public class GeoFocusMapLocations extends AbstractAjaxResponder { + " FILTER (NOT EXISTS {?location a core:StateOrProvince}) \n" + "} UNION { \n" + " ?location rdf:type core:GeographicRegion . \n" - + " ?location core:geographicallyContains ?sublocation . \n" + + " ?location ?sublocation . \n" + " ?location rdfs:label ?label . \n" + " ?sublocation core:geographicFocusOf ?person . \n" + " ?person rdf:type foaf:Person \n" diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddServiceProviderRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddServiceProviderRoleToPersonGenerator.java index 554fe8cb..b7d61b77 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddServiceProviderRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddServiceProviderRoleToPersonGenerator.java @@ -1,50 +1,50 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; - -import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; - -public class AddServiceProviderRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { - - private static String OPTION_CLASS_URI = "http://xmlns.com/foaf/0.1/Organization"; - - @Override - String getTemplate() { return "addServiceProviderRoleToPerson.ftl"; } - - @Override - String getRoleType() { - return "http://vivoweb.org/ontology/core#ServiceProviderRole"; - } - - /** Service Provider role involves hard-coded options for the - * "right side" of the role or activity. */ - @Override - FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { - return new - ChildVClassesOptions(OPTION_CLASS_URI) - .setDefaultOptionLabel("Select type"); - } - - @Override - boolean isShowRoleLabelField(){return true;} - - /* - * Use the methods below to change the date/time precision in the - * custom form associated with this generator. When not used, the - * precision will be YEAR. The other precisons are MONTH, DAY, HOUR, - * MINUTE, TIME and NONE. - */ -/* - public String getStartDatePrecision() { - String precision = VitroVocabulary.Precision.MONTH.uri(); - return precision; - } - - public String getEndDatePrecision() { - String precision = VitroVocabulary.Precision.DAY.uri(); - return precision; - } -*/ -} +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; + +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; + +public class AddServiceProviderRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { + + private static String OPTION_CLASS_URI = "http://xmlns.com/foaf/0.1/Organization"; + + @Override + String getTemplate() { return "addServiceProviderRoleToPerson.ftl"; } + + @Override + String getRoleType() { + return "http://purl.obolibrary.org/obo/ERO_0000012"; + } + + /** Service Provider role involves hard-coded options for the + * "right side" of the role or activity. */ + @Override + FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { + return new + ChildVClassesOptions(OPTION_CLASS_URI) + .setDefaultOptionLabel("Select type"); + } + + @Override + boolean isShowRoleLabelField(){return true;} + + /* + * Use the methods below to change the date/time precision in the + * custom form associated with this generator. When not used, the + * precision will be YEAR. The other precisons are MONTH, DAY, HOUR, + * MINUTE, TIME and NONE. + */ +/* + public String getStartDatePrecision() { + String precision = VitroVocabulary.Precision.MONTH.uri(); + return precision; + } + + public String getEndDatePrecision() { + String precision = VitroVocabulary.Precision.DAY.uri(); + return precision; + } +*/ +} From de059542186ae1280c2a52e3eeeec382751be0ba Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Tue, 27 Aug 2013 10:33:22 -0400 Subject: [PATCH 18/66] ongoing work on ISF support --- .../filegraph/tbox/appControls-temp.n3 | 8 ++++ .../WEB-INF/filegraph/tbox/contact-vcard.owl | 44 +++++++++---------- 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/productMods/WEB-INF/filegraph/tbox/appControls-temp.n3 b/productMods/WEB-INF/filegraph/tbox/appControls-temp.n3 index fcea92db..0f9af29f 100644 --- a/productMods/WEB-INF/filegraph/tbox/appControls-temp.n3 +++ b/productMods/WEB-INF/filegraph/tbox/appControls-temp.n3 @@ -52,3 +52,11 @@ foaf:Agent owl:allValuesFrom core:Relationship ; owl:onProperty core:relatedBy ] . + + +foaf:Person + rdfs:subClassOf + [ a owl:Restriction ; + owl:someValuesFrom ; + owl:onProperty + ] . diff --git a/productMods/WEB-INF/filegraph/tbox/contact-vcard.owl b/productMods/WEB-INF/filegraph/tbox/contact-vcard.owl index 23401744..4e0ec3af 100644 --- a/productMods/WEB-INF/filegraph/tbox/contact-vcard.owl +++ b/productMods/WEB-INF/filegraph/tbox/contact-vcard.owl @@ -464,7 +464,7 @@ address - + @@ -525,7 +525,7 @@ - + @@ -540,7 +540,7 @@ addressing - + @@ -589,7 +589,7 @@ - + These types are concerned with information related to the delivery addressing or label for the vCard object @@ -612,7 +612,7 @@ calendar - + @@ -637,7 +637,7 @@ - + @@ -786,7 +786,7 @@ Was called CALADRURI in vCard communication - + @@ -835,7 +835,7 @@ Was called CALADRURI in vCard - + These properties describe information about how to communicate with the object the vCard represents @@ -927,7 +927,7 @@ Was called CALADRURI in vCard explanatory - + @@ -976,7 +976,7 @@ Was called CALADRURI in vCard - + These properties are concerned with additional explanations, such as that related to informational notes or revisions specific to the vCard @@ -1131,7 +1131,7 @@ Was called CALADRURI in vCard identification - + @@ -1180,7 +1180,7 @@ Was called CALADRURI in vCard - + These types are used to capture information associated with the identification and naming of the entity associated with the vCard @@ -1194,7 +1194,7 @@ Was called CALADRURI in vCard individual - + @@ -1243,7 +1243,7 @@ Was called CALADRURI in vCard - + @@ -1315,7 +1315,7 @@ Was called IMPP in vCard. vcard kind - + @@ -1400,7 +1400,7 @@ Was called IMPP in vCard. - + @@ -1509,7 +1509,7 @@ Was called IMPP in vCard. name - + @@ -1570,7 +1570,7 @@ Was called IMPP in vCard. - + @@ -1708,7 +1708,7 @@ Was called IMPP in vCard. organisational - + @@ -1757,7 +1757,7 @@ Was called IMPP in vCard. - + These properties are concerned with information associated with characteristics of the organization or organizational units of the object that the vCard represents @@ -1857,7 +1857,7 @@ Was called IMPP in vCard. security - + @@ -1894,7 +1894,7 @@ Was called IMPP in vCard. - + Contains all the Security related Classes From 74cd0e062db9d1008041d47bb63f4904174ac3fd Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Tue, 27 Aug 2013 11:13:52 -0400 Subject: [PATCH 19/66] updated realizedBy/realizes properties --- productMods/WEB-INF/filegraph/tbox/agent.owl | 40 ----------------- .../filegraph/tbox/object-properties.owl | 42 ----------------- .../filegraph/tbox/object-properties2.owl | 45 +++++++++++++++++++ 3 files changed, 45 insertions(+), 82 deletions(-) create mode 100644 productMods/WEB-INF/filegraph/tbox/object-properties2.owl diff --git a/productMods/WEB-INF/filegraph/tbox/agent.owl b/productMods/WEB-INF/filegraph/tbox/agent.owl index f8a451a8..ee0868ad 100644 --- a/productMods/WEB-INF/filegraph/tbox/agent.owl +++ b/productMods/WEB-INF/filegraph/tbox/agent.owl @@ -67,11 +67,6 @@ - - - - - @@ -164,41 +159,6 @@ - - - - manufacturer role - - - - - - - - - - - - - - - - - - - - - GROUP: Role Branch - Manufacturer role is a role which inheres in a person or organization and which is realized by a manufacturing process. - OBI - With respect to The Accuri C6 Flow Cytometer System, the organization Accuri bears the role manufacturer role. With respect to a transformed line of tissue culture cells derived by a specific lab, the lab whose personnel isolated the cll line bears the role manufacturer role. With respect to a specific antibody produced by an individual scientist, the scientist who purifies, characterizes and distributes the anitbody bears the role manufacturer role. - manufacturer role - - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/object-properties.owl b/productMods/WEB-INF/filegraph/tbox/object-properties.owl index a4601654..47ae59ab 100644 --- a/productMods/WEB-INF/filegraph/tbox/object-properties.owl +++ b/productMods/WEB-INF/filegraph/tbox/object-properties.owl @@ -919,21 +919,6 @@ there is a measurement process p that has specified output m, a measurement datu - - - - is_realized_by - GROUP:OBI:<http://obi.sourceforge.net> - PERSON: Chris Mungall - Relation between a realizable and a process. Reciprocal relation of realizes [GOC:cjm] - executed_during - has_realization - is_realized_as - - - - - @@ -977,33 +962,6 @@ there is a measurement process p that has specified output m, a measurement datu - - - - realizes - GROUP:OBI:<http://obi.sourceforge.net> - PERSON: Chris Mungal - Relation between a process and a function, where the unfolding of the -process requires the execution of the function. Class level: P realizes F iff: -given any p that instantiates P, there exists some f, t such that f instantiates - F at t and p *realizes* f. Here, *realizes* is the primitive -instance level relation [GOC:cjm] - example of usage: The process of 'histidine catabolism' (GO:0006548) realizes the -function 'histidine ammonia lyase activity' (GO:0004397) (note: here 'activity' -denotes a function and not a process). We leave open the possibility of defining -in future the sub-relations directly_realizes (as bewteen a function and it's -functioning) and indirectly_realizes. - executes - has_function_part - involves_execution_of - is_realization_of - realizes - - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/object-properties2.owl b/productMods/WEB-INF/filegraph/tbox/object-properties2.owl new file mode 100644 index 00000000..3307c9f2 --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/object-properties2.owl @@ -0,0 +1,45 @@ + + + + + + + + realized in + (forall (x y z t) (if (and (RealizableEntity x) (Process y) (realizesAt y x t) (bearerOfAt z x t)) (hasParticipantAt y z t))) // axiom label in BFO2 CLIF: [106-002] + [copied from inverse property 'realizes'] to say that b realizes c at t is to assert that there is some material entity d & b is a process which has participant d at t & c is a disposition or role of which d is bearer_of at t& the type instantiated by b is correlated with the type instantiated by c. (axiom label in BFO2 Reference: [059-003]) + if a realizable entity b is realized in a process p, then p stands in the has_participant relation to the bearer of b. (axiom label in BFO2 Reference: [106-002]) + realized-in + realizedIn + + + + + + + + + + realizes + (forall (x y t) (if (realizesAt x y t) (and (Process x) (or (Disposition y) (Role y)) (exists (z) (and (MaterialEntity z) (hasParticipantAt x z t) (bearerOfAt z y t)))))) // axiom label in BFO2 CLIF: [059-003] + realizes + realizes + to say that b realizes c at t is to assert that there is some material entity d & b is a process which has participant d at t & c is a disposition or role of which d is bearer_of at t& the type instantiated by b is correlated with the type instantiated by c. (axiom label in BFO2 Reference: [059-003]) + + + + + + + From 027f9b69665fcfc19c6e2ffde10e7b09315ff9ea Mon Sep 17 00:00:00 2001 From: tworrall Date: Tue, 27 Aug 2013 15:38:52 -0400 Subject: [PATCH 20/66] VIVO-112: updates to property config and a java class to correct property names --- .../app/loadedAtStartup/PropertyConfig.n3 | 92 +++++++++++++++++++ src/org/vivoweb/webapp/util/ModelUtils.java | 6 +- 2 files changed, 95 insertions(+), 3 deletions(-) diff --git a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 index 42625bb4..0bafcf23 100644 --- a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 +++ b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 @@ -196,3 +196,95 @@ local:hasResearcherRoleConfig a :ObjectPropertyDisplayConfig ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddResearcherRoleToPersonGenerator"^^ ; :propertyGroup . +m +local:hasInvestigatorRoleContext a :ConfigContext ; + :hasConfiguration local:hasInvestigatorRoleConfig ; + :configContextFor ; + :qualifiedBy . + +local:hasInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-hasInvestigatorRole.xml"^^xsd:string ; + :displayName "investigator on" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddGrantRoleToPersonGenerator"^^ ; + :propertyGroup . + +local:hasPrincipalInvestigatorRoleContext a :ConfigContext ; + :hasConfiguration local:hasPrincipalInvestigatorRoleConfig ; + :configContextFor ; + :qualifiedBy . + +local:hasPrincipalInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-hasInvestigatorRole.xml"^^xsd:string ; + :displayName "principal investigator on" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddGrantRoleToPersonGenerator"^^ ; + :propertyGroup . + +local:hasCo-PrincipalInvestigatorRoleContext a :ConfigContext ; + :hasConfiguration local:hasCo-PrincipalInvestigatorRoleConfig ; + :configContextFor ; + :qualifiedBy . + +local:hasCo-PrincipalInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-hasInvestigatorRole.xml"^^xsd:string ; + :displayName "co-principal investigator on" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddGrantRoleToPersonGenerator"^^ ; + :propertyGroup . + +local:hasPresenterRoleContext a :ConfigContext ; + :hasConfiguration local:hasPresenterRoleConfig ; + :configContextFor ; + :qualifiedBy . + +local:hasPresenterRoleConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-hasPresenterRole.xml"^^xsd:string ; + :displayName "presentations" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddPresenterRoleToPersonGenerator"^^ ; + :propertyGroup . + +local:awardOrHonorContext a :ConfigContext ; + :hasConfiguration local:awardOrHonorConfig ; + :configContextFor ; + :qualifiedBy . + +local:awardOrHonorConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-awardOrHonor.xml"^^xsd:string ; + :displayName "awards and honors" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasAwardOrHonorGenerator"^^ ; + :propertyGroup . + +local:educationalTrainingContext a :ConfigContext ; + :hasConfiguration local:educationalTrainingConfig ; + :configContextFor ; + :qualifiedBy . + +local:educationalTrainingConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-educationalTraining.xml"^^xsd:string ; + :displayName "education and training" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasEducationalTraining"^^ ; + :propertyGroup . + +local:informationResourceInAuthorshipContext a :ConfigContext ; + :hasConfiguration local:informationResourceInAuthorshipConfig ; + :configContextFor ; + :qualifiedByDomain . + :qualifiedBy . + +local:informationResourceInAuthorshipConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-informationResourceInAuthorship.xml"^^xsd:string ; + :displayName "authors" ; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddAuthorsToInformationResourceGenerator"^^ ; + :propertyGroup . diff --git a/src/org/vivoweb/webapp/util/ModelUtils.java b/src/org/vivoweb/webapp/util/ModelUtils.java index 4277fded..9b62e3c4 100644 --- a/src/org/vivoweb/webapp/util/ModelUtils.java +++ b/src/org/vivoweb/webapp/util/ModelUtils.java @@ -20,9 +20,9 @@ public class ModelUtils { private static final Log log = LogFactory.getLog(ModelUtils.class.getName()); - private static final String processPropertyURI = "http://vivoweb.org/ontology/core#roleRealizedIn"; - private static final String processPropertyInverseURI = "http://vivoweb.org/ontology/core#realizedRole"; - private static final String nonProcessPropertyURI = "http://vivoweb.org/ontology/core#roleContributesTo"; + private static final String processPropertyURI = "http://purl.obolibrary.org/obo/BFO_0000054"; + private static final String processPropertyInverseURI = "http://purl.obolibrary.org/obo/BFO_0000055"; + private static final String nonProcessPropertyURI = "http://vivoweb.org/ontology/core#relatedBy"; private static final String nonProcessPropertyInverseURI = "http://vivoweb.org/ontology/core#contributingRole"; private static Set processClass = new HashSet(); From 978c9ccd5f9e0cf757d65376b860707328f440e4 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Wed, 28 Aug 2013 10:08:54 -0400 Subject: [PATCH 21/66] added domain and range to bearer_of and removed has_role and has_function --- .../WEB-INF/filegraph/tbox/clinical.owl | 6 ---- .../filegraph/tbox/object-properties.owl | 36 ++----------------- 2 files changed, 2 insertions(+), 40 deletions(-) diff --git a/productMods/WEB-INF/filegraph/tbox/clinical.owl b/productMods/WEB-INF/filegraph/tbox/clinical.owl index cb4c209d..4d36738a 100644 --- a/productMods/WEB-INF/filegraph/tbox/clinical.owl +++ b/productMods/WEB-INF/filegraph/tbox/clinical.owl @@ -74,12 +74,6 @@ - - - - - - diff --git a/productMods/WEB-INF/filegraph/tbox/object-properties.owl b/productMods/WEB-INF/filegraph/tbox/object-properties.owl index 47ae59ab..72d1710d 100644 --- a/productMods/WEB-INF/filegraph/tbox/object-properties.owl +++ b/productMods/WEB-INF/filegraph/tbox/object-properties.owl @@ -945,24 +945,6 @@ there is a measurement process p that has specified output m, a measurement datu - - - - has_function - GROUP:OBI:<http://obi.sourceforge.net> - PERSON: Chris Mungall - Relation between an independent continuant and a function. - has_function - heart has_function to-pump-blood - - - - - - - - - @@ -978,22 +960,6 @@ there is a measurement process p that has specified output m, a measurement datu - - - - has_role - A relation between a continuant C and a role R. The reciprocal relation of role_of. - GROUP:OBI:<http://obi.sourceforge.net> - PERSON:Chris Mungal - has_role - - - - - - - - @@ -1055,6 +1021,8 @@ there is a measurement process p that has specified output m, a measurement datu bearer_of + + From 59431742e13bddec97fb423e4e41678ffcabdedf Mon Sep 17 00:00:00 2001 From: tworrall Date: Wed, 28 Aug 2013 16:58:02 -0400 Subject: [PATCH 22/66] VIVO-112: another round of updates to support the ISF changes --- .../app/loadedAtStartup/PropertyConfig.n3 | 6 +- .../listViewConfig-hasInvestigatorRole.xml | 465 ++--- .../listViewConfig-hasPresenterRole.xml | 696 ++++---- productMods/config/listViewConfig-hasRole.xml | 299 ++-- ...Config-informationResourceInAuthorship.xml | 145 +- .../individual/propStatement-awardOrHonor.ftl | 4 +- .../propStatement-hasInvestigatorRole.ftl | 2 +- ...AuthorsToInformationResourceGenerator.java | 4 +- .../AddGrantRoleToPersonGenerator.java | 1506 ++++++++--------- .../AddPresenterRoleToPersonGenerator.java | 622 +++---- 10 files changed, 1901 insertions(+), 1848 deletions(-) diff --git a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 index 0bafcf23..c7ea9e42 100644 --- a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 +++ b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 @@ -196,7 +196,7 @@ local:hasResearcherRoleConfig a :ObjectPropertyDisplayConfig ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddResearcherRoleToPersonGenerator"^^ ; :propertyGroup . -m + local:hasInvestigatorRoleContext a :ConfigContext ; :hasConfiguration local:hasInvestigatorRoleConfig ; :configContextFor ; @@ -226,7 +226,7 @@ local:hasPrincipalInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ; local:hasCo-PrincipalInvestigatorRoleContext a :ConfigContext ; :hasConfiguration local:hasCo-PrincipalInvestigatorRoleConfig ; :configContextFor ; - :qualifiedBy . + :qualifiedBy . local:hasCo-PrincipalInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasInvestigatorRole.xml"^^xsd:string ; @@ -278,7 +278,7 @@ local:educationalTrainingConfig a :ObjectPropertyDisplayConfig ; local:informationResourceInAuthorshipContext a :ConfigContext ; :hasConfiguration local:informationResourceInAuthorshipConfig ; :configContextFor ; - :qualifiedByDomain . + :qualifiedByDomain ; :qualifiedBy . local:informationResourceInAuthorshipConfig a :ObjectPropertyDisplayConfig ; diff --git a/productMods/config/listViewConfig-hasInvestigatorRole.xml b/productMods/config/listViewConfig-hasInvestigatorRole.xml index 3b9b1490..54131a60 100644 --- a/productMods/config/listViewConfig-hasInvestigatorRole.xml +++ b/productMods/config/listViewConfig-hasInvestigatorRole.xml @@ -1,222 +1,243 @@ - - - - - - - - PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - - SELECT DISTINCT - ?role - ?activity ?activityName - ?activityLabel - ?awardedBy - ?adminedBy - ?awardedByLabel - ?adminedByLabel - ?dateTimeStartRole ?dateTimeEndRole - ?dateTimeStartGrant ?dateTimeEndGrant - ?hideThis - WHERE { - - ?subject ?property ?role - - OPTIONAL { ?role core:roleRealizedIn ?activity - LET (?activityName := afn:localname(?activity)) - OPTIONAL { ?activity rdfs:label ?activityLabel } - } - OPTIONAL { ?role core:roleContributesTo ?activity - LET (?activityName := afn:localname(?activity)) - OPTIONAL { ?activity rdfs:label ?activityLabel } - } - OPTIONAL { ?activity core:grantAwardedBy ?awardedBy . - ?awardedBy rdfs:label ?awardedByLabel - } - OPTIONAL { ?activity core:administeredBy ?adminedBy . - ?adminedBy rdfs:label ?adminedByLabel - } - OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole - OPTIONAL { ?dateTimeIntervalRole core:start ?dateTimeStartValueRole . - ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole - } - OPTIONAL { ?dateTimeIntervalRole core:end ?dateTimeEndValueRole . - ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole - } - } - OPTIONAL { ?role core:roleContributesTo ?grant . - ?grant core:dateTimeInterval ?dateTimeIntervalGrant - OPTIONAL { ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . - ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant - } - OPTIONAL { ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant . - ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant - } - } - OPTIONAL { ?role core:hideFromDisplay ?hideThis } - # NOT EXISTS { ?role core:hideFromDisplay ?hideThis } - - FILTER ( bound(?activity) ) - - } ORDER BY DESC(?dateTimeEndRole) DESC(?dateTimeStartRole) DESC(?dateTimeEndGrant) DESC(?dateTimeStartGrant) ?activityLabel ?activityName - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - - CONSTRUCT { - ?subject ?property ?role . - ?role core:roleRealizedIn ?activity . - ?activity rdfs:label ?activityLabel - } WHERE { - { - ?subject ?property ?role . - ?role core:roleContributesTo ?activity - } UNION - { - ?subject ?property ?role . - ?role core:roleRealizedIn ?activity . - ?activity rdfs:label ?activityLabel - } - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - - CONSTRUCT { - ?subject ?property ?role . - ?role core:roleContributesTo ?activity . - ?activity rdfs:label ?activityLabel - } WHERE { - { - ?subject ?property ?role . - ?role core:roleContributesTo ?activity - } UNION - { - ?subject ?property ?role . - ?role core:roleContributesTo ?activity . - ?activity rdfs:label ?activityLabel - } - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - CONSTRUCT { - ?subject ?property ?role . - ?role ?roleProperty ?roleValue . - ?activity rdfs:label ?activityName . - ?activity core:grantAwardedBy ?awardedBy . - ?awardedBy rdfs:label ?awardedByLabel . - ?activity core:administeredBy ?adminedBy . - ?adminedBy rdfs:label ?adminedByLabel - } WHERE { - { - ?subject ?property ?role - } UNION { - ?subject ?property ?role . - ?role ?roleProperty ?roleValue - } UNION { - ?subject ?property ?role . - ?role core:roleContributesTo ?activity . - ?activity rdfs:label ?activityName - } UNION { - ?subject ?property ?role . - ?role core:roleRealizedIn ?activity . - ?activity rdfs:label ?activityName - } UNION { - ?subject ?property ?role . - ?role core:roleContributesTo ?activity . - ?activity core:grantAwardedBy ?awardedBy - } UNION { - ?subject ?property ?role . - ?role core:roleContributesTo ?activity . - ?activity core:grantAwardedBy ?awardedBy . - ?awardedBy rdfs:label ?awardedByLabel - } UNION { - ?subject ?property ?role . - ?role core:roleContributesTo ?activity . - ?activity core:administeredBy ?adminedBy - } UNION { - ?subject ?property ?role . - ?role core:roleContributesTo ?activity . - ?activity core:administeredBy ?adminedBy . - ?adminedBy rdfs:label ?adminedByLabel - } - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?role . - ?role core:dateTimeInterval ?dateTimeIntervalRole . - ?dateTimeIntervalRole core:start ?dateTimeStartValueRole . - ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole - } WHERE { - ?subject ?property ?role . - ?role core:dateTimeInterval ?dateTimeIntervalRole . - ?dateTimeIntervalRole core:start ?dateTimeStartValueRole . - ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?role . - ?role core:dateTimeInterval ?dateTimeIntervalRole . - ?dateTimeIntervalRole core:end ?dateTimeEndValueRole . - ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole - } WHERE { - ?subject ?property ?role . - ?role core:dateTimeInterval ?dateTimeIntervalRole . - ?dateTimeIntervalRole core:end ?dateTimeEndValueRole . - ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole - } - - - PREFIX core: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?role . - ?role core:roleContributesTo ?grant . - ?grant core:dateTimeInterval ?dateTimeIntervalGrant . - ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . - ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant - } WHERE { - ?subject ?property ?role . - ?role core:roleContributesTo ?grant . - ?grant core:dateTimeInterval ?dateTimeIntervalGrant . - ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . - ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?role . - ?role core:roleContributesTo ?grant . - ?grant core:dateTimeInterval ?dateTimeIntervalGrant . - ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant . - ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant - } WHERE { - ?subject ?property ?role . - ?role core:roleContributesTo ?grant . - ?grant core:dateTimeInterval ?dateTimeIntervalGrant . - ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant . - ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant - } - - - - + + + + + + + + PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + SELECT DISTINCT + ?role + ?activity ?activityName + ?activityLabel + ?awardedBy + ?adminedBy + ?awardedByLabel + ?adminedByLabel + ?dateTimeStartRole ?dateTimeEndRole + ?dateTimeStartGrant ?dateTimeEndGrant + ?hideThis + WHERE { + + ?subject ?property ?role . + ?role a ?objectType . + ?role vitro:mostSpecificType ?subclass + + OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity + LET (?activityName := afn:localname(?activity)) + OPTIONAL { ?activity rdfs:label ?activityLabel } + } + OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity + LET (?activityName := afn:localname(?activity)) + OPTIONAL { ?activity rdfs:label ?activityLabel } + } + OPTIONAL { ?activity core:grantAwardedBy ?awardedBy . + ?awardedBy rdfs:label ?awardedByLabel + } + OPTIONAL { ?activity core:administeredBy ?adminedBy . + ?adminedBy rdfs:label ?adminedByLabel + } + OPTIONAL { ?role core:dateTimeInterval ?dateTimeIntervalRole + OPTIONAL { ?dateTimeIntervalRole core:start ?dateTimeStartValueRole . + ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole + } + OPTIONAL { ?dateTimeIntervalRole core:end ?dateTimeEndValueRole . + ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole + } + } + OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant . + ?grant core:dateTimeInterval ?dateTimeIntervalGrant + OPTIONAL { ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . + ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant + } + OPTIONAL { ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant . + ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant + } + } + OPTIONAL { ?role core:hideFromDisplay ?hideThis } + FILTER ( bound(?activity) && ?subclass = ?objectType) + } ORDER BY DESC(?dateTimeEndRole) DESC(?dateTimeStartRole) DESC(?dateTimeEndGrant) DESC(?dateTimeStartGrant) ?activityLabel ?activityName + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + CONSTRUCT { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity . + ?activity rdfs:label ?activityLabel + } WHERE { + { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity + } UNION + { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054>n ?activity . + ?activity rdfs:label ?activityLabel + } + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + CONSTRUCT { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . + ?activity rdfs:label ?activityLabel + } WHERE { + { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity + } UNION + { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . + ?activity rdfs:label ?activityLabel + } + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + CONSTRUCT { + ?subject ?property ?role . + ?role a ?objectType . + ?role ?roleProperty ?roleValue . + ?activity rdfs:label ?activityName . + ?activity core:grantAwardedBy ?awardedBy . + ?awardedBy rdfs:label ?awardedByLabel . + ?activity core:administeredBy ?adminedBy . + ?adminedBy rdfs:label ?adminedByLabel + } WHERE { + { + ?subject ?property ?role + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role ?roleProperty ?roleValue + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . + ?activity rdfs:label ?activityName + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity . + ?activity rdfs:label ?activityName + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . + ?activity core:grantAwardedBy ?awardedBy + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . + ?activity core:grantAwardedBy ?awardedBy . + ?awardedBy rdfs:label ?awardedByLabel + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . + ?activity core:administeredBy ?adminedBy + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . + ?activity core:administeredBy ?adminedBy . + ?adminedBy rdfs:label ?adminedByLabel + } + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?role . + ?role a ?objectType . + ?role core:dateTimeInterval ?dateTimeIntervalRole . + ?dateTimeIntervalRole core:start ?dateTimeStartValueRole . + ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole + } WHERE { + ?subject ?property ?role . + ?role a ?objectType . + ?role core:dateTimeInterval ?dateTimeIntervalRole . + ?dateTimeIntervalRole core:start ?dateTimeStartValueRole . + ?dateTimeStartValueRole core:dateTime ?dateTimeStartRole + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?role . + ?role a ?objectType . + ?role core:dateTimeInterval ?dateTimeIntervalRole . + ?dateTimeIntervalRole core:end ?dateTimeEndValueRole . + ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole + } WHERE { + ?subject ?property ?role . + ?role a ?objectType . + ?role core:dateTimeInterval ?dateTimeIntervalRole . + ?dateTimeIntervalRole core:end ?dateTimeEndValueRole . + ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole + } + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant . + ?grant core:dateTimeInterval ?dateTimeIntervalGrant . + ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . + ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant + } WHERE { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant . + ?grant core:dateTimeInterval ?dateTimeIntervalGrant . + ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . + ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant . + ?grant core:dateTimeInterval ?dateTimeIntervalGrant . + ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant . + ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant + } WHERE { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant . + ?grant core:dateTimeInterval ?dateTimeIntervalGrant . + ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant . + ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant + } + + + + diff --git a/productMods/config/listViewConfig-hasPresenterRole.xml b/productMods/config/listViewConfig-hasPresenterRole.xml index facd5c18..a6c58288 100644 --- a/productMods/config/listViewConfig-hasPresenterRole.xml +++ b/productMods/config/listViewConfig-hasPresenterRole.xml @@ -1,333 +1,363 @@ - - - - - - - - - - - PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX vivo: <http://vivoweb.org/ontology/core#> - PREFIX owl: <http://www.w3.org/2002/07/owl#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - - SELECT DISTINCT ?subclass - ?role ?roleLabel - ?presentation ?presentationName ?presentationLabel - ?conference ?conferenceLabel - ?series ?seriesLabel - ?workshop - ?dateTime - - WHERE { - - ?subject ?property ?role - - OPTIONAL { ?role rdfs:label ?roleLabel } - - OPTIONAL { ?role vivo:roleRealizedIn ?presentation - LET (?presentationName := afn:localname(?presentation)) - - OPTIONAL { ?presentation rdfs:label ?presentationLabel } - - OPTIONAL { ?conference a bibo:Conference . - OPTIONAL { ?conference rdfs:label ?conferenceLabel } - - { - ?presentation vivo:eventWithin ?conference - } UNION { - ?conference vivo:includesEvent ?presentation - } - } - OPTIONAL { - { - ?presentation vivo:eventWithin ?workshop . - ?workshop vivo:eventWithin ?conference - } UNION { - ?workshop vivo:includesEvent ?presentation . - ?conference vivo:includesEvent ?workshop - } - OPTIONAL { ?conference rdfs:label ?conferenceLabel } - } - - - OPTIONAL { ?series a vivo:EventSeries . - OPTIONAL { ?series rdfs:label ?seriesLabel } - - { - ?presentation vivo:inEventWithin ?series - } UNION { - ?series vivo:seriesForEvent ?presentation - } - } - OPTIONAL { - { - ?presentation vivo:eventWithin ?workshop . - ?workshop vivo:inEventSeries ?series - } UNION { - ?workshop vivo:includesEvent ?presentation . - ?series vivo:seriesForEvent ?workshop - } - OPTIONAL { ?series rdfs:label ?seriesLabel } - } - - - ?presentation vitro:mostSpecificType ?subclass . - - { - ?subclass rdfs:subClassOf vivo:Presentation - } UNION { - ?subclass owl:equivalentClass vivo:Presentation - } - - - } - - OPTIONAL { ?role vivo:dateTimeInterval ?dateTimeInterval - OPTIONAL { ?dateTimeInterval vivo:start ?dateTimeStartValue . - ?dateTimeStartValue vivo:dateTime ?dateTime - } - } - - - FILTER ( bound(?presentation) ) - - - } ORDER BY ?subclass DESC(?dateTime) ?presentationLabel ?presentationName - - - - PREFIX vivo: <http://vivoweb.org/ontology/core#> - PREFIX owl: <http://www.w3.org/2002/07/owl#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - - CONSTRUCT { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?presentation vitro:mostSpecificType ?subclass . - ?subclass rdfs:subClassOf vivo:Presentation . - ?subclass owl:equivalentClass vivo:Presentation . - } WHERE { - { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?presentation vitro:mostSpecificType ?subclass . - ?subclass rdfs:subClassOf vivo:Presentation - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?presentation vitro:mostSpecificType ?subclass . - ?subclass owl:equivalentClass vivo:Presentation - } - } - - - - PREFIX vivo: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - CONSTRUCT { - ?subject ?property ?role . - ?role ?roleProperty ?roleValue . - ?presentation rdfs:label ?presentationLabel - } WHERE { - { - ?subject ?property ?role - } UNION { - ?subject ?property ?role . - ?role ?roleProperty ?roleValue - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?presentation rdfs:label ?presentationLabel - } - } - - - - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX vivo: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - - CONSTRUCT { - ?subject ?property ?role . - ?conference a bibo:Conference . - ?presentation vivo:eventWithin ?conference . - ?conference vivo:includesEvent ?presentation . - ?conference rdfs:label ?conferenceLabel - } WHERE { - - { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?conference a bibo:Conference . - ?presentation vivo:eventWithin ?conference - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?conference a bibo:Conference . - ?presentation vivo:eventWithin ?conference . - ?conference rdfs:label ?conferenceLabel - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?conference a bibo:Conference . - ?conference vivo:includesEvent ?presentation - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?conference a bibo:Conference . - ?conference vivo:includesEvent ?presentation . - ?conference rdfs:label ?conferenceLabel - } - } - - - - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX vivo: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - - CONSTRUCT { - ?subject ?property ?role . - ?workshop vivo:eventWithin ?conference . - ?conference vivo:includesEvent ?workshop . - ?conference a bibo:Conference . - ?presentation vivo:eventWithin ?workshop . - ?workshop vivo:includesEvent ?presentation . - ?conference rdfs:label ?conferenceLabel - } WHERE { - { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?conference a bibo:Conference . - ?presentation vivo:eventWithin ?workshop . - ?workshop vivo:eventWithin ?conference - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?conference a bibo:Conference . - ?presentation vivo:eventWithin ?workshop . - ?workshop vivo:eventWithin ?conference . - ?conference rdfs:label ?conferenceLabel - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?conference a bibo:Conference . - ?conference vivo:includesEvent ?workshop . - ?workshop vivo:includesEvent ?presentation - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?conference a bibo:Conference . - ?conference vivo:includesEvent ?workshop . - ?workshop vivo:includesEvent ?presentation . - ?conference rdfs:label ?conferenceLabel - } - } - - - - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX vivo: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - - CONSTRUCT { - ?subject ?property ?role . - ?series a vivo:EventSeries . - ?presentation vivo:inEventSeries ?series . - ?series vivo:seriesForEvent ?presentation . - ?series rdfs:label ?seriesLabel - } WHERE { - - { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?series a vivo:EventSeries . - ?presentation vivo:inEventSeries ?series - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?series a vivo:EventSeries . - ?presentation vivo:inEventSeries ?series . - ?series rdfs:label ?seriesLabel - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?series a vivo:EventSeries . - ?series vivo:seriesForEvent ?presentation - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?series a vivo:EventSeries . - ?series vivo:seriesForEvent ?presentation . - ?series rdfs:label ?seriesLabel - } - } - - - - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX vivo: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - - CONSTRUCT { - ?subject ?property ?role . - ?workshop vivo:inEventSeries ?series . - ?series vivo:seriesForEvent ?workshop . - ?series a vivo:EventSeries . - ?presentation vivo:eventWithin ?workshop . - ?workshop vivo:includesEvent ?presentation . - ?series rdfs:label ?seriesLabel - } WHERE { - { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?series a vivo:EventSeries . - ?presentation vivo:eventWithin ?workshop . - ?workshop vivo:inEventSeries ?series - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?series a vivo:EventSeries . - ?presentation vivo:eventWithin ?workshop . - ?workshop vivo:inEventSeries ?series . - ?series rdfs:label ?seriesLabel - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?series a vivo:EventSeries . - ?series vivo:seriesForEvent ?workshop . - ?workshop vivo:includesEvent ?presentation - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?presentation . - ?series a vivo:EventSeries . - ?series vivo:seriesForEvent ?workshop . - ?workshop vivo:includesEvent ?presentation . - ?series rdfs:label ?seriesLabel - } - } - - - - PREFIX vivo: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?role . - ?role vivo:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval vivo:start ?dateTimeStartValue . - ?dateTimeStartValue vivo:dateTime ?dateTimeStart - } WHERE { - ?subject ?property ?role . - ?role vivo:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval vivo:start ?dateTimeStartValue . - ?dateTimeStartValue vivo:dateTime ?dateTimeStart - } - - - - + + + + + + + + + + + PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX vivo: <http://vivoweb.org/ontology/core#> + PREFIX owl: <http://www.w3.org/2002/07/owl#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + SELECT DISTINCT ?subclass + ?role ?roleLabel + ?presentation ?presentationName ?presentationLabel + ?conference ?conferenceLabel + ?series ?seriesLabel + ?workshop + ?dateTime + + WHERE { + + ?subject ?property ?role . + ?role a vivo:PresenterRole + + OPTIONAL { ?role rdfs:label ?roleLabel } + + OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation + LET (?presentationName := afn:localname(?presentation)) + + OPTIONAL { ?presentation rdfs:label ?presentationLabel } + + OPTIONAL { ?conference a bibo:Conference . + OPTIONAL { ?conference rdfs:label ?conferenceLabel } + + { + ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?conference + } UNION { + ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation + } + } + OPTIONAL { + { + ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop . + ?workshop <http://purl.obolibrary.org/obo/BFO_0000050> ?conference + } UNION { + ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation . + ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?workshop + } + OPTIONAL { ?conference rdfs:label ?conferenceLabel } + } + + + OPTIONAL { ?series a vivo:EventSeries . + OPTIONAL { ?series rdfs:label ?seriesLabel } + + { + ?presentation vivo:inEventWithin ?series + } UNION { + ?series vivo:seriesForEvent ?presentation + } + } + OPTIONAL { + { + ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop . + ?workshop vivo:inEventSeries ?series + } UNION { + ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation . + ?series vivo:seriesForEvent ?workshop + } + OPTIONAL { ?series rdfs:label ?seriesLabel } + } + + + ?presentation vitro:mostSpecificType ?subclass . + + { + ?subclass rdfs:subClassOf vivo:Presentation + } UNION { + ?subclass owl:equivalentClass vivo:Presentation + } + + + } + + OPTIONAL { ?role vivo:dateTimeInterval ?dateTimeInterval + OPTIONAL { ?dateTimeInterval vivo:start ?dateTimeStartValue . + ?dateTimeStartValue vivo:dateTime ?dateTime + } + } + + + FILTER ( bound(?presentation) ) + + + } ORDER BY ?subclass DESC(?dateTime) ?presentationLabel ?presentationName + + + + PREFIX vivo: <http://vivoweb.org/ontology/core#> + PREFIX owl: <http://www.w3.org/2002/07/owl#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + CONSTRUCT { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?presentation vitro:mostSpecificType ?subclass . + ?subclass rdfs:subClassOf vivo:Presentation . + ?subclass owl:equivalentClass vivo:Presentation . + } WHERE { + { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?presentation vitro:mostSpecificType ?subclass . + ?subclass rdfs:subClassOf vivo:Presentation + } UNION { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?presentation vitro:mostSpecificType ?subclass . + ?subclass owl:equivalentClass vivo:Presentation + } + } + + + + PREFIX vivo: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + CONSTRUCT { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role ?roleProperty ?roleValue . + ?presentation rdfs:label ?presentationLabel + } WHERE { + { + ?subject ?property ?role . + ?role a vivo:PresenterRole + } UNION { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role ?roleProperty ?roleValue + } UNION { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?presentation rdfs:label ?presentationLabel + } + } + + + + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX vivo: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + + CONSTRUCT { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?conference a bibo:Conference . + ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?conference . + ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation . + ?conference rdfs:label ?conferenceLabel + } WHERE { + + { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?conference a bibo:Conference . + ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?conference + } UNION { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?conference a bibo:Conference . + ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?conference . + ?conference rdfs:label ?conferenceLabel + } UNION { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?conference a bibo:Conference . + ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation + } UNION { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?conference a bibo:Conference . + ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation . + ?conference rdfs:label ?conferenceLabel + } + } + + + + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX vivo: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + + CONSTRUCT { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?workshop <http://purl.obolibrary.org/obo/BFO_0000050> ?conference . + ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?workshop . + ?conference a bibo:Conference . + ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop . + ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation . + ?conference rdfs:label ?conferenceLabel + } WHERE { + { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?conference a bibo:Conference . + ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop . + ?workshop <http://purl.obolibrary.org/obo/BFO_0000050> ?conference + } UNION { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?conference a bibo:Conference . + ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop . + ?workshop <http://purl.obolibrary.org/obo/BFO_0000050> ?conference . + ?conference rdfs:label ?conferenceLabel + } UNION { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?conference a bibo:Conference . + ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?workshop . + ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation + } UNION { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?conference a bibo:Conference . + ?conference <http://purl.obolibrary.org/obo/BFO_0000051> ?workshop . + ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation . + ?conference rdfs:label ?conferenceLabel + } + } + + + + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX vivo: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + + CONSTRUCT { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?series a vivo:EventSeries . + ?presentation vivo:inEventSeries ?series . + ?series vivo:seriesForEvent ?presentation . + ?series rdfs:label ?seriesLabel + } WHERE { + + { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?series a vivo:EventSeries . + ?presentation vivo:inEventSeries ?series + } UNION { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?series a vivo:EventSeries . + ?presentation vivo:inEventSeries ?series . + ?series rdfs:label ?seriesLabel + } UNION { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?series a vivo:EventSeries . + ?series vivo:seriesForEvent ?presentation + } UNION { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?series a vivo:EventSeries . + ?series vivo:seriesForEvent ?presentation . + ?series rdfs:label ?seriesLabel + } + } + + + + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX vivo: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + + CONSTRUCT { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?workshop vivo:inEventSeries ?series . + ?series vivo:seriesForEvent ?workshop . + ?series a vivo:EventSeries . + ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop . + ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation . + ?series rdfs:label ?seriesLabel + } WHERE { + { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?series a vivo:EventSeries . + ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop . + ?workshop vivo:inEventSeries ?series + } UNION { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?series a vivo:EventSeries . + ?presentation <http://purl.obolibrary.org/obo/BFO_0000050> ?workshop . + ?workshop vivo:inEventSeries ?series . + ?series rdfs:label ?seriesLabel + } UNION { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?series a vivo:EventSeries . + ?series vivo:seriesForEvent ?workshop . + ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation + } UNION { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?presentation . + ?series a vivo:EventSeries . + ?series vivo:seriesForEvent ?workshop . + ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?presentation . + ?series rdfs:label ?seriesLabel + } + } + + + + PREFIX vivo: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role vivo:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval vivo:start ?dateTimeStartValue . + ?dateTimeStartValue vivo:dateTime ?dateTimeStart + } WHERE { + ?subject ?property ?role . + ?role a vivo:PresenterRole . + ?role vivo:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval vivo:start ?dateTimeStartValue . + ?dateTimeStartValue vivo:dateTime ?dateTimeStart + } + + + + diff --git a/productMods/config/listViewConfig-hasRole.xml b/productMods/config/listViewConfig-hasRole.xml index a54c13b2..0d66740f 100644 --- a/productMods/config/listViewConfig-hasRole.xml +++ b/productMods/config/listViewConfig-hasRole.xml @@ -1,149 +1,150 @@ - - - - - - - - PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - - SELECT DISTINCT ?subclass - # send the property to the template, since this view supports multiple role properties - ?property - ?role - ?roleLabel - ?activity ?activityName - ?activityLabel - ?dateTimeStart ?dateTimeEnd - ?hideThis - WHERE { - ?subject ?property ?role . - ?role a ?objectType - - OPTIONAL { ?role core:roleRealizedIn ?activity - LET (?activityName := afn:localname(?activity)) - OPTIONAL { ?activity rdfs:label ?activityLabel } - - - ?activity vitro:mostSpecificType ?subclass - - } - - OPTIONAL { ?role core:roleContributesTo ?activity - LET (?activityName := afn:localname(?activity)) - OPTIONAL { ?activity rdfs:label ?activityLabel } - - - ?activity vitro:mostSpecificType ?subclass - - } - - OPTIONAL { ?role rdfs:label ?roleLabel } - OPTIONAL { ?role core:hideFromDisplay ?hideThis } - OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval - OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart - } - OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd - } - } - # NOT EXISTS { ?role core:hideFromDisplay ?hideThis } - - FILTER ( bound(?activity) ) - - } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - - CONSTRUCT { - ?subject ?property ?role . - ?role core:roleContributesTo ?activity . - ?activity vitro:mostSpecificType ?subclass . - } WHERE { - ?subject ?property ?role . - ?role core:roleContributesTo ?activity . - ?activity vitro:mostSpecificType ?subclass - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - - CONSTRUCT { - ?subject ?property ?role . - ?role core:roleRealizedIn ?activity . - ?activity vitro:mostSpecificType ?subclass . - } WHERE { - ?subject ?property ?role . - ?role core:roleRealizedIn ?activity . - ?activity vitro:mostSpecificType ?subclass - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - CONSTRUCT { - ?subject ?property ?role . - ?role ?roleProperty ?roleValue . - ?activity rdfs:label ?activityName - } WHERE { - { - ?subject ?property ?role - } UNION { - ?subject ?property ?role . - ?role ?roleProperty ?roleValue - } UNION { - ?subject ?property ?role . - ?role core:roleContributesTo ?activity . - ?activity rdfs:label ?activityName - } UNION { - ?subject ?property ?role . - ?role core:roleRealizedIn ?activity . - ?activity rdfs:label ?activityName - } - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?role . - ?role core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart - } WHERE { - ?subject ?property ?role . - ?role core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?role . - ?role core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd - } WHERE { - ?subject ?property ?role . - ?role core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd - } - - - - + + + + + + + + PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + SELECT DISTINCT ?subclass + # send the property to the template, since this view supports multiple role properties + ?property + ?role + ?roleLabel + ?activity ?activityName + ?activityLabel + ?dateTimeStart ?dateTimeEnd + ?hideThis + ?objectType + WHERE { + ?subject ?property ?role . + ?role a ?objectType + + OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity + LET (?activityName := afn:localname(?activity)) + OPTIONAL { ?activity rdfs:label ?activityLabel } + + + ?activity vitro:mostSpecificType ?subclass + + } + + OPTIONAL { ?role core:relatedBy ?activity + LET (?activityName := afn:localname(?activity)) + OPTIONAL { ?activity rdfs:label ?activityLabel } + + + ?activity vitro:mostSpecificType ?subclass + + } + + OPTIONAL { ?role rdfs:label ?roleLabel } + OPTIONAL { ?role core:hideFromDisplay ?hideThis } + OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval + OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } + OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } + } + # NOT EXISTS { ?role core:hideFromDisplay ?hideThis } + + FILTER ( bound(?activity) ) + + } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + CONSTRUCT { + ?subject ?property ?role . + ?role core:relatedBy ?activity . + ?activity vitro:mostSpecificType ?subclass . + } WHERE { + ?subject ?property ?role . + ?role core:relatedBy ?activity . + ?activity vitro:mostSpecificType ?subclass + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + CONSTRUCT { + ?subject ?property ?role . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity . + ?activity vitro:mostSpecificType ?subclass . + } WHERE { + ?subject ?property ?role . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity . + ?activity vitro:mostSpecificType ?subclass + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + CONSTRUCT { + ?subject ?property ?role . + ?role ?roleProperty ?roleValue . + ?activity rdfs:label ?activityName + } WHERE { + { + ?subject ?property ?role + } UNION { + ?subject ?property ?role . + ?role ?roleProperty ?roleValue + } UNION { + ?subject ?property ?role . + ?role core:relatedBy ?activity . + ?activity rdfs:label ?activityName + } UNION { + ?subject ?property ?role . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity . + ?activity rdfs:label ?activityName + } + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?role . + ?role core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } WHERE { + ?subject ?property ?role . + ?role core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?role . + ?role core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } WHERE { + ?subject ?property ?role . + ?role core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } + + + + diff --git a/productMods/config/listViewConfig-informationResourceInAuthorship.xml b/productMods/config/listViewConfig-informationResourceInAuthorship.xml index 63c3f474..ff635393 100644 --- a/productMods/config/listViewConfig-informationResourceInAuthorship.xml +++ b/productMods/config/listViewConfig-informationResourceInAuthorship.xml @@ -1,72 +1,73 @@ - - - - - - - - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> - PREFIX foaf: <http://xmlns.com/foaf/0.1/> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - - SELECT DISTINCT ?subclass - ?authorship - ?person ?personName WHERE { - ?subject ?property ?authorship - OPTIONAL { ?authorship core:authorRank ?rank } - OPTIONAL { ?authorship core:linkedAuthor ?person . - ?person rdfs:label ?personName - - OPTIONAL { ?person vitro:mostSpecificType ?subclass . - ?subclass rdfs:subClassOf foaf:Person - } - - } - - FILTER ( bound(?person) ) - - } ORDER BY ?subclass ?rank ?personName - - - - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX foaf: <http://xmlns.com/foaf/0.1/> - CONSTRUCT { - ?subclass rdfs:subClassOf foaf:Person - } WHERE { - ?subclass rdfs:subClassOf foaf:Person - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - CONSTRUCT { - ?subject ?property ?authorship . - ?authorship ?authorshipProperty ?authorshipValue . - ?person rdfs:label ?personName . - ?person vitro:mostSpecificType ?subclass - } WHERE { - { - ?subject ?property ?authorship - } UNION { - ?subject ?property ?authorship . - ?authorship ?authorshipProperty ?authorshipValue - } UNION { - ?subject ?property ?authorship . - ?authorship core:linkedAuthor ?person . - ?person rdfs:label ?personName - } UNION { - ?subject ?property ?authorship . - ?authorship core:linkedAuthor ?person . - ?person rdfs:label ?personName . - ?person vitro:mostSpecificType ?subclass - } - } - - - - + + + + + + + + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> + PREFIX foaf: <http://xmlns.com/foaf/0.1/> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + SELECT DISTINCT ?subclass + ?authorship + ?person ?personName WHERE { + ?subject ?property ?authorship . + ?subject a core:Authorship + OPTIONAL { ?authorship core:authorRank ?rank } + OPTIONAL { ?authorship core:relates ?person . + ?person rdfs:label ?personName + + OPTIONAL { ?person vitro:mostSpecificType ?subclass . + ?subclass rdfs:subClassOf foaf:Person + } + + } + + FILTER ( bound(?person) ) + + } ORDER BY ?subclass ?rank ?personName + + + + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX foaf: <http://xmlns.com/foaf/0.1/> + CONSTRUCT { + ?subclass rdfs:subClassOf foaf:Person + } WHERE { + ?subclass rdfs:subClassOf foaf:Person + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + CONSTRUCT { + ?subject ?property ?authorship . + ?authorship ?authorshipProperty ?authorshipValue . + ?person rdfs:label ?personName . + ?person vitro:mostSpecificType ?subclass + } WHERE { + { + ?subject ?property ?authorship + } UNION { + ?subject ?property ?authorship . + ?authorship ?authorshipProperty ?authorshipValue + } UNION { + ?subject ?property ?authorship . + ?authorship core:relates ?person . + ?person rdfs:label ?personName + } UNION { + ?subject ?property ?authorship . + ?authorship core:relates ?person . + ?person rdfs:label ?personName . + ?person vitro:mostSpecificType ?subclass + } + } + + + + diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-awardOrHonor.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-awardOrHonor.ftl index 2818d208..49ce2f9e 100644 --- a/productMods/templates/freemarker/body/partials/individual/propStatement-awardOrHonor.ftl +++ b/productMods/templates/freemarker/body/partials/individual/propStatement-awardOrHonor.ftl @@ -15,9 +15,9 @@ <#local linkedIndividual> <#if statement.award??> - ${statement.awardLabel!statement.localName} + ${statement.awardLabel!statement.localName!} <#else> - ${statement.receiptLabel!statement.localName} + ${statement.receiptLabel!statement.localName!} diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-hasInvestigatorRole.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-hasInvestigatorRole.ftl index 8898a608..2f4ca74c 100644 --- a/productMods/templates/freemarker/body/partials/individual/propStatement-hasInvestigatorRole.ftl +++ b/productMods/templates/freemarker/body/partials/individual/propStatement-hasInvestigatorRole.ftl @@ -47,6 +47,6 @@ - ${linkedIndividual} ${awardOrAdminBy} ${dateTime!} ${statement.subclass!} + ${linkedIndividual} ${awardOrAdminBy} ${dateTime!} \ No newline at end of file diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java index 5d5d8a68..0d0b191f 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java @@ -101,8 +101,8 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator private String getN3NewAuthorship() { return getN3PrefixString() + "?authorshipUri a core:Authorship ;\n" + - " core:linkedInformationResource ?infoResource .\n" + - "?infoResource core:informationResourceInAuthorship ?authorshipUri ."; + " core:relates ?infoResource .\n" + + "?infoResource core:relatedBy ?authorshipUri ."; } private String getN3AuthorshipRank() { diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java index 4c0c0412..157c4ff5 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java @@ -1,753 +1,753 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.servlet.http.HttpSession; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.vivoweb.webapp.util.ModelUtils; - -import com.hp.hpl.jena.ontology.OntModel; -import com.hp.hpl.jena.rdf.model.Literal; -import com.hp.hpl.jena.rdf.model.Model; -import com.hp.hpl.jena.vocabulary.RDF; -import com.hp.hpl.jena.vocabulary.RDFS; -import com.hp.hpl.jena.vocabulary.XSD; - -import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; -import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; -import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; -import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; -import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; -import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; - -/** - * Custom form for adding a grant to an person for the predicates hasCo-PrincipalInvestigatorRole - and hasPrincipalInvestigatorRole. - -This is intended to create a set of statements like: - -?person core:hasPrincipalInvestigatorRole ?newRole. -?newRole rdf:type core:PrincipalInvestigatorRole ; - core:relatedRole ?someGrant . - - * - */ -public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator { - - private Log log = LogFactory.getLog(AddGrantRoleToPersonGenerator.class); - private String subjectUri = null; - private String predicateUri = null; - private String objectUri = null; - private String template = "addGrantRoleToPerson.ftl"; - - //Types of options to populate drop-down for types for the "right side" of the role - public static enum RoleActivityOptionTypes { - VCLASSGROUP, - CHILD_VCLASSES, - HARDCODED_LITERALS - }; - - @Override - public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) { - EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo(); - - //process subject, predicate, object parameters - this.initProcessParameters(vreq, session, editConfiguration); - - //Assumes this is a simple case of subject predicate var - editConfiguration.setN3Required(this.generateN3Required(vreq)); - - //n3 optional - editConfiguration.setN3Optional(this.generateN3Optional(vreq)); - - //Todo: what do new resources depend on here? - //In original form, these variables start off empty - editConfiguration.setNewResources(generateNewResources(vreq)); - //In scope - this.setUrisAndLiteralsInScope(editConfiguration, vreq); - - //on Form - this.setUrisAndLiteralsOnForm(editConfiguration, vreq); - - editConfiguration.setFilesOnForm(new ArrayList()); - - //Sparql queries - this.setSparqlQueries(editConfiguration, vreq); - - //set fields - setFields(editConfiguration, vreq, EditConfigurationUtils.getPredicateUri(vreq)); - - // No need to put in session here b/c put in session within edit request dispatch controller instead - //placing in session depends on having edit key which is handled in edit request dispatch controller - // editConfiguration.putConfigInSession(editConfiguration, session); - - prepareForUpdate(vreq, session, editConfiguration); - - //Form title and submit label now moved to edit configuration template - //TODO: check if edit configuration template correct place to set those or whether - //additional methods here should be used and reference instead, e.g. edit configuration template could call - //default obj property form.populateTemplate or some such method - //Select from existing also set within template itself - setTemplate(editConfiguration, vreq); - //Set edit key - setEditKey(editConfiguration, vreq); - - //Add validators - editConfiguration.addValidator(new DateTimeIntervalValidationVTwo("startField","endField") ); - editConfiguration.addValidator(new AntiXssValidation()); - editConfiguration.addValidator(new AutocompleteRequiredInputValidator("existingGrant","grantLabel")); - //no preprocessors required here - //Adding additional data, specifically edit mode - addFormSpecificData(editConfiguration, vreq); - return editConfiguration; - } - - - - private void setEditKey(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { - String editKey = EditConfigurationUtils.getEditKey(vreq); - editConfiguration.setEditKey(editKey); - } - - protected void setTemplate(EditConfigurationVTwo editConfiguration, - VitroRequest vreq) { - editConfiguration.setTemplate(template); - - } - - //Initialize setup: process parameters - //There will be specialized parameters as well, we may include them here or in a - //separate method - private void initProcessParameters(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) { - String formUrl = EditConfigurationUtils.getFormUrlWithoutContext(vreq); - - subjectUri = EditConfigurationUtils.getSubjectUri(vreq); - predicateUri = EditConfigurationUtils.getPredicateUri(vreq); - - editConfiguration.setFormUrl(formUrl); - - editConfiguration.setUrlPatternToReturnTo("/individual"); - - editConfiguration.setVarNameForSubject("person"); - editConfiguration.setSubjectUri(subjectUri); - editConfiguration.setEntityToReturnTo(subjectUri); - editConfiguration.setVarNameForPredicate("rolePredicate"); - editConfiguration.setPredicateUri(predicateUri); - //by definition, this is an object property - objectUri = EditConfigurationUtils.getObjectUri(vreq); - - this.processObjectPropForm(vreq, editConfiguration); - } - - private void processObjectPropForm(VitroRequest vreq, EditConfigurationVTwo editConfiguration) { - editConfiguration.setVarNameForObject("role"); - editConfiguration.setObject(objectUri); - //this needs to be set for the editing to be triggered properly, otherwise the 'prepare' method - //pretends this is a data property editing statement and throws an error - //TODO: Check if null in case no object uri exists but this is still an object property - } - - - /* - * N3 Required and Optional Generators as well as supporting methods - */ - - private String getPrefixesString() { - //TODO: Include dynamic way of including this - return "@prefix core: ."; - } - - //TODO: Check if single string or multiple strings - check rdfslabel form etc. for prefix - //processing - private List generateN3Required(VitroRequest vreq) { - List n3ForEdit = new ArrayList(); - String editString = getN3ForGrantRole(vreq); - n3ForEdit.add(editString); - return n3ForEdit; - } - - - private List generateN3Optional(VitroRequest vreq) { - List n3Optional = new ArrayList(); - //n3 for new grant - n3Optional.add(getN3ForNewGrant(vreq)); - //n3 for existing grant - n3Optional.add(getN3ForExistingGrant(vreq)); - //n3 for inverse - n3Optional.add("?role ?inverseRolePredicate ?person ."); - //N3ForStart - n3Optional.addAll(getN3ForStart()); - //N3 For End - n3Optional.addAll(getN3ForEnd()); - return n3Optional; - } - - public String getN3ForGrantRole(VitroRequest vreq) { - String editString = getPrefixesString(); - editString += "?person ?rolePredicate ?role ."; - editString += "?role a <" + getRoleType(vreq) + "> ."; - return editString; - } - - public String getN3ForNewGrant(VitroRequest vreq) { - String editString = getPrefixesString(); - editString += "?role <" + getRoleToGrantPredicate(vreq) + "> ?grant ."; - editString += "?grant a core:Grant . "; - editString += "?grant <" + getGrantToRolePredicate(vreq) + "> ?role ."; - editString += "?grant <" + RDFS.label.getURI() + "> ?grantLabel ."; - return editString; - } - - public String getN3ForExistingGrant(VitroRequest vreq) { - String editString = getPrefixesString(); - editString += "?role <" + getRoleToGrantPredicate(vreq) + "> ?existingGrant . "; - editString += "?existingGrant <" + getGrantToRolePredicate(vreq) + "> ?role ."; - return editString; - } - - //Method b/c used in two locations, n3 optional and n3 assertions - private List getN3ForStart() { - List n3ForStart = new ArrayList(); - n3ForStart.add("?role <" + getRoleToIntervalURI() + "> ?intervalNode ." + - "?intervalNode <" + RDF.type.getURI() + "> <" + getIntervalTypeURI() + "> ." + - "?intervalNode <" + getIntervalToStartURI() + "> ?startNode ." + - "?startNode <" + RDF.type.getURI() + "> <" + getDateTimeValueTypeURI() + "> ." + - "?startNode <" + getDateTimeValueURI() + "> ?startField-value ." + - "?startNode <" + getDateTimePrecisionURI() + "> ?startField-precision ."); - return n3ForStart; - } - - private List getN3ForEnd() { - List n3ForEnd = new ArrayList(); - n3ForEnd.add("?role <" + getRoleToIntervalURI() + "> ?intervalNode . " + - "?intervalNode <" + RDF.type.getURI() + "> <" + getIntervalTypeURI() + "> ." + - "?intervalNode <" + getIntervalToEndURI() + "> ?endNode ." + - "?endNode <" + RDF.type.getURI() + "> <" + getDateTimeValueTypeURI() + "> ." + - "?endNode <" + getDateTimeValueURI() + "> ?endField-value ." + - "?endNode <" + getDateTimePrecisionURI() + "> ?endField-precision ."); - return n3ForEnd; - - } - - - /* - * Get new resources - */ - private Map generateNewResources(VitroRequest vreq) { - HashMap newResources = new HashMap(); - //TODO: Get default namespace - String defaultNamespace = vreq.getWebappDaoFactory().getDefaultNamespace(); - newResources.put("role", defaultNamespace + "individual"); - newResources.put("grant", defaultNamespace + "individual"); - newResources.put("intervalNode", defaultNamespace + "individual"); - newResources.put("startNode", defaultNamespace + "individual"); - newResources.put("endNode", defaultNamespace + "individual"); - return newResources; - } - - /* - * Set URIS and Literals In Scope and on form and supporting methods - */ - - private void setUrisAndLiteralsInScope(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { - HashMap> urisInScope = new HashMap>(); - //note that at this point the subject, predicate, and object var parameters have already been processed - //these two were always set when instantiating an edit configuration object from json, - //although the json itself did not specify subject/predicate as part of uris in scope - urisInScope.put(editConfiguration.getVarNameForSubject(), - Arrays.asList(new String[]{editConfiguration.getSubjectUri()})); - urisInScope.put(editConfiguration.getVarNameForPredicate(), - Arrays.asList(new String[]{editConfiguration.getPredicateUri()})); - //Setting role type - urisInScope.put("roleType", - Arrays.asList(new String[]{getRoleType(vreq)})); - //Setting inverse role predicate - urisInScope.put("inverseRolePredicate", getInversePredicate(vreq)); - - editConfiguration.setUrisInScope(urisInScope); - //Uris in scope include subject, predicate, and object var - //literals in scope empty initially, usually populated by code in prepare for update - //with existing values for variables - editConfiguration.setLiteralsInScope(new HashMap>()); - } - - private List getInversePredicate(VitroRequest vreq) { - List inversePredicateArray = new ArrayList(); - ObjectProperty op = EditConfigurationUtils.getObjectProperty(vreq); - if(op != null && op.getURIInverse() != null) { - inversePredicateArray.add(op.getURIInverse()); - } - return inversePredicateArray; - } - - //n3 should look as follows - //?subject ?predicate ?objectVar - - private void setUrisAndLiteralsOnForm(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { - List urisOnForm = new ArrayList(); - List literalsOnForm = new ArrayList(); - //add role activity and roleActivityType to uris on form - urisOnForm.add("grant"); - urisOnForm.add("existingGrant"); - editConfiguration.setUrisOnform(urisOnForm); - //activity label and role label are literals on form - literalsOnForm.add("grantLabel"); - literalsOnForm.add("grantLabelDisplay"); - editConfiguration.setLiteralsOnForm(literalsOnForm); - } - - - /** - * Set SPARQL Queries and supporting methods - */ - - - private void setSparqlQueries(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { - //Sparql queries defining retrieval of literals etc. - editConfiguration.setSparqlForAdditionalLiteralsInScope(new HashMap()); - - Map urisInScope = new HashMap(); - editConfiguration.setSparqlForAdditionalUrisInScope(urisInScope); - - editConfiguration.setSparqlForExistingLiterals(generateSparqlForExistingLiterals(vreq)); - editConfiguration.setSparqlForExistingUris(generateSparqlForExistingUris(vreq)); - } - - - //Get page uri for object - private HashMap generateSparqlForExistingUris(VitroRequest vreq) { - HashMap map = new HashMap(); - //Queries for role activity, activity type query, interval node, start node, end node, start field precision, endfield precision - map.put("existingGrant", getExistingGrantQuery(vreq)); - map.put("intervalNode", getIntervalNodeQuery(vreq)); - map.put("startNode", getStartNodeQuery(vreq)); - map.put("endNode", getEndNodeQuery(vreq)); - map.put("startField-precision", getStartPrecisionQuery(vreq)); - map.put("endField-precision", getEndPrecisionQuery(vreq)); - return map; - } - - - - private String getEndPrecisionQuery(VitroRequest vreq) { - String query = "SELECT ?existingEndPrecision WHERE {" + - "?role <" + getRoleToIntervalURI() + "> ?intervalNode ." + - "?intervalNode <" + VitroVocabulary.RDF_TYPE + "> <" + getIntervalTypeURI() + "> ." + - "?intervalNode <" + getIntervalToEndURI() + "> ?endNode ." + - "?endNode <" + VitroVocabulary.RDF_TYPE + "> <" + getDateTimeValueTypeURI() + "> . " + - "?endNode <" + getDateTimePrecisionURI() + "> ?existingEndPrecision . }"; - return query; - } - - private String getStartPrecisionQuery(VitroRequest vreq) { - String query = "SELECT ?existingStartPrecision WHERE {" + - "?role <" + getRoleToIntervalURI() + "> ?intervalNode ." + - "?intervalNode <" + VitroVocabulary.RDF_TYPE + "> <" + getIntervalTypeURI() + "> ." + - "?intervalNode <" + getIntervalToStartURI() + "> ?startNode ." + - "?startNode <" + VitroVocabulary.RDF_TYPE + "> <" + getDateTimeValueTypeURI() + "> . " + - "?startNode <" + getDateTimePrecisionURI() + "> ?existingStartPrecision . }"; - return query; - } - - private String getEndNodeQuery(VitroRequest vreq) { - String query = "SELECT ?existingEndNode WHERE {"+ - "?role <" + getRoleToIntervalURI() + "> ?intervalNode ."+ - "?intervalNode <" + VitroVocabulary.RDF_TYPE + "> <" + getIntervalTypeURI() + "> ."+ - " ?intervalNode <" + getIntervalToEndURI() + "> ?existingEndNode . "+ - "?existingEndNode <" + VitroVocabulary.RDF_TYPE + "> <" + getDateTimeValueTypeURI() + "> .}"; - return query; - } - - private String getStartNodeQuery(VitroRequest vreq) { - String query = "SELECT ?existingStartNode WHERE {"+ - "?role <" + getRoleToIntervalURI() + "> ?intervalNode ."+ - "?intervalNode <" + VitroVocabulary.RDF_TYPE + "> <" + getIntervalTypeURI() + "> ."+ - "?intervalNode <" + getIntervalToStartURI() + "> ?existingStartNode . "+ - "?existingStartNode <" + VitroVocabulary.RDF_TYPE + "> <" + getDateTimeValueTypeURI() + "> .}"; - return query; - } - - private String getIntervalNodeQuery(VitroRequest vreq) { - String query = "SELECT ?existingIntervalNode WHERE { " + - "?role <" + getRoleToIntervalURI() + "> ?existingIntervalNode . " + - " ?existingIntervalNode <" + VitroVocabulary.RDF_TYPE + "> <" + getIntervalTypeURI() + "> . }"; - return query; - } - - - - private HashMap generateSparqlForExistingLiterals(VitroRequest vreq) { - HashMap map = new HashMap(); - //Queries for activity label, role label, start Field value, end Field value - map.put("grantLabel", getGrantLabelQuery(vreq)); - map.put("startField-value", getExistingStartDateQuery(vreq)); - map.put("endField-value", getExistingEndDateQuery(vreq)); - return map; - } - - private String getGrantLabelQuery(VitroRequest vreq) { - String query = "PREFIX core: <" + getVivoCoreNamespace() + ">" + - "PREFIX rdfs: <" + RDFS.getURI() + "> \n"; - - String roleToGrantPredicate = getRoleToGrantPredicate(vreq); - query += "SELECT ?existingGrantLabel WHERE { \n" + - "?role <" + roleToGrantPredicate + "> ?existingGrant . \n" + - "?existingGrant rdfs:label ?existingGrantLabel . }"; - - return query; - } - - private String getExistingGrantQuery(VitroRequest vreq) { - String query = "PREFIX core: <" + getVivoCoreNamespace() + ">" + - "PREFIX rdfs: <" + RDFS.getURI() + "> \n"; - - String roleToGrantPredicate = getRoleToGrantPredicate(vreq); - query += "SELECT ?existingGrant WHERE { \n" + - "?role <" + roleToGrantPredicate + "> ?existingGrant . }"; - return query; - } - - private String getExistingEndDateQuery(VitroRequest vreq) { - String query = " SELECT ?existingEndDate WHERE {\n" + - "?role <" + getRoleToIntervalURI() + "> ?intervalNode .\n" + - "?intervalNode <" + VitroVocabulary.RDF_TYPE + "> <" + getIntervalTypeURI() + "> .\n" + - "?intervalNode <" + getIntervalToEndURI() + "> ?endNode .\n" + - "?endNode <" + VitroVocabulary.RDF_TYPE + "> <" + getDateTimeValueTypeURI() + "> .\n" + - "?endNode <" + getDateTimeValueURI() + "> ?existingEndDate . }"; - return query; - } - - private String getExistingStartDateQuery(VitroRequest vreq) { - String query = "SELECT ?existingDateStart WHERE {\n" + - "?role <" + getRoleToIntervalURI() + "> ?intervalNode .\n" + - "?intervalNode <" + VitroVocabulary.RDF_TYPE + "> <" + getIntervalTypeURI() + "> .\n" + - "?intervalNode <" + getIntervalToStartURI() + "> ?startNode .\n" + - "?startNode <" + VitroVocabulary.RDF_TYPE + "> <" + getDateTimeValueTypeURI() + "> .\n" + - "?startNode <" + getDateTimeValueURI() + "> ?existingDateStart . }"; - - return query; - } - - /** - * - * Set Fields and supporting methods - */ - - private void setFields(EditConfigurationVTwo editConfiguration, VitroRequest vreq, String predicateUri) { - Map fields = new HashMap(); - //Multiple fields - getGrantField(editConfiguration, vreq, fields); - getGrantLabelField(editConfiguration, vreq, fields); - getGrantLabelDisplayField(editConfiguration, vreq, fields); - getExistingGrantField(editConfiguration, vreq, fields); - getStartField(editConfiguration, vreq, fields); - getEndField(editConfiguration, vreq, fields); - editConfiguration.setFields(fields); - } - - private void getGrantField(EditConfigurationVTwo editConfiguration, - VitroRequest vreq, Map fields) { - String fieldName = "grant"; - - FieldVTwo field = new FieldVTwo(); - field.setName(fieldName); - //queryForExisting is not being used anywhere in Field - - List validators = new ArrayList(); - field.setValidators(validators); - - fields.put(field.getName(), field); - - } - - private void getGrantLabelField(EditConfigurationVTwo editConfiguration, - VitroRequest vreq, Map fields) { - String fieldName = "grantLabel"; - //get range data type uri and range language - String stringDatatypeUri = XSD.xstring.toString(); - - FieldVTwo field = new FieldVTwo(); - field.setName(fieldName); - //queryForExisting is not being used anywhere in Field - - //Not really interested in validators here - List validators = new ArrayList(); - validators.add("datatype:" + stringDatatypeUri); - field.setValidators(validators); - - fields.put(field.getName(), field); - - } - - private void getGrantLabelDisplayField(EditConfigurationVTwo editConfiguration, - VitroRequest vreq, Map fields) { - - FieldVTwo field = new FieldVTwo(); - - String fieldName = "grantLabelDisplay"; - field.setName(fieldName); - - String stringDatatypeUri = XSD.xstring.toString(); - field.setRangeDatatypeUri(null); - - fields.put(field.getName(), field); - - } - //Need if returning from an invalid submission - private void getExistingGrantField( - EditConfigurationVTwo editConfiguration, VitroRequest vreq, - Map fields) { - String fieldName = "existingGrant"; - - FieldVTwo field = new FieldVTwo(); - field.setName(fieldName); - //queryForExisting is not being used anywhere in Field - - fields.put(field.getName(), field); - } - - private void getStartField(EditConfigurationVTwo editConfiguration, - VitroRequest vreq, Map fields) { - String fieldName = "startField"; - - FieldVTwo field = new FieldVTwo(); - field.setName(fieldName); - - //This logic was originally after edit configuration object created from json in original jsp - field.setEditElement( - new DateTimeWithPrecisionVTwo(field, - VitroVocabulary.Precision.YEAR.uri(), - VitroVocabulary.Precision.NONE.uri())); - - fields.put(field.getName(), field); - - } - - private void getEndField(EditConfigurationVTwo editConfiguration, - VitroRequest vreq, Map fields) { - String fieldName = "endField"; - - FieldVTwo field = new FieldVTwo(); - field.setName(fieldName); - - List validators = new ArrayList(); - field.setValidators(validators); - - //Set edit element - field.setEditElement( - new DateTimeWithPrecisionVTwo(field, - VitroVocabulary.Precision.YEAR.uri(), - VitroVocabulary.Precision.NONE.uri())); - - fields.put(field.getName(), field); - - } - - /** - * Prepare edit configuration for update - * @param vreq - * @param session - * @param editConfiguration - */ - - private void prepareForUpdate(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) { - //Here, retrieve model from - OntModel model = ModelAccess.on(session.getServletContext()).getJenaOntModel(); - //Object property by definition - String objectUri = EditConfigurationUtils.getObjectUri(vreq); - if(objectUri != null) { - //update existing object - editConfiguration.prepareForObjPropUpdate(model); - } else { - //new object to be created - editConfiguration.prepareForNonUpdate( model ); - } - } - - /**Methods for checking edit mode ** - * - */ - public EditMode getEditMode(VitroRequest vreq) { - List roleToGrantPredicates = getPossibleRoleToGrantPredicates(); - return EditModeUtils.getEditMode(vreq, roleToGrantPredicates); - } - - private boolean isAddMode(VitroRequest vreq) { - return EditModeUtils.isAddMode(getEditMode(vreq)); - } - - private boolean isEditMode(VitroRequest vreq) { - return EditModeUtils.isEditMode(getEditMode(vreq)); - } - - private boolean isRepairMode(VitroRequest vreq) { - return EditModeUtils.isRepairMode(getEditMode(vreq)); - } - - /** - * Methods that are REQUIRED to be implemented in subclasses - **/ - //role type will always be set based on particular form - public String getRoleType(VitroRequest vreq) { - String predicateUri = EditConfigurationUtils.getPredicateUri(vreq); - if(predicateUri.equals(getHasPrincipalInvestigatorURI())) { - return getVivoOntologyCoreNamespace() + "PrincipalInvestigatorRole"; - } - else if(predicateUri.equals(getHasCoPrincipalInvestigatorURI())) { - return getVivoOntologyCoreNamespace() + "CoPrincipalInvestigatorRole"; - } else { - return getVivoOntologyCoreNamespace() + "InvestigatorRole"; - } - } - - private Object getHasCoPrincipalInvestigatorURI() { - return getVivoOntologyCoreNamespace() + "hasCo-PrincipalInvestigatorRole"; - } - - - //TODO: More dynamic way of getting this or standard mechanism - private String getVivoOntologyCoreNamespace() { - return "http://vivoweb.org/ontology/core#"; - } - - private Object getHasPrincipalInvestigatorURI() { - return getVivoOntologyCoreNamespace() + "hasPrincipalInvestigatorRole"; - - } - - /** - * Methods with default values that may be overwritten when required by a subclass - * Both Default value and method that can be overwritten are included below - **/ - - public boolean isShowRoleLabelField(VitroRequest vreq) { - return true; - } - - - //This has a default value, but note that even that will not be used - //in the update with realized in or contributes to - //Overridden when need be in subclassed generator - //Also note that for now we're going to actually going to return a - //placeholder value by default - public String getRoleToGrantPredicate(VitroRequest vreq) { - ObjectProperty predicate = ModelUtils.getPropertyForRoleInClass(getGrantType(), vreq.getWebappDaoFactory()); - return predicate.getURI(); - } - - public String getGrantToRolePredicate(VitroRequest vreq) { - ObjectProperty predicate = ModelUtils.getPropertyForRoleInClass(getGrantType(), vreq.getWebappDaoFactory()); - return predicate.getURIInverse(); - } - - public String getGrantType() { - return "http://vivoweb.org/ontology/core#Grant"; - } - //Ensure when overwritten that this includes the <> b/c otherwise the query won't work - - //Some values will have a default value - //grantToRolePredicate - public String getDefaultgrantToRolePredicate() { - return "http://vivoweb.org/ontology/core#relatedRole"; - } - - //roleToGrantPredicate - public String getDefaultroleToGrantPredicate() { - return "http://vivoweb.org/ontology/core#roleIn"; - - } - - public List getPossibleRoleToGrantPredicates() { - return ModelUtils.getPossiblePropertiesForRole(); - } - - public List getPossibleGrantToRolePredicates() { - return ModelUtils.getPossibleInversePropertiesForRole(); - } - - - /** - * Methods to return URIS for various predicates - **/ - public String getVivoCoreNamespace() { - return "http://vivoweb.org/ontology/core#"; - } - - public String getRoleToIntervalURI() { - return getVivoCoreNamespace() + "dateTimeInterval"; - } - - public String getIntervalTypeURI() { - return getVivoCoreNamespace() + "DateTimeInterval"; - } - - public String getIntervalToStartURI() { - return getVivoCoreNamespace() + "start"; - } - - public String getIntervalToEndURI() { - return getVivoCoreNamespace() + "end"; - } - - public String getStartYearPredURI() { - return getVivoCoreNamespace() + "startYear"; - } - - public String getEndYearPredURI() { - return getVivoCoreNamespace() + "endYear"; - } - - public String getDateTimeValueTypeURI() { - return getVivoCoreNamespace() + "DateTimeValue"; - } - - public String getDateTimePrecisionURI() { - return getVivoCoreNamespace() + "dateTimePrecision"; - } - - public String getDateTimeValueURI() { - return getVivoCoreNamespace() + "dateTime"; - } - - //Form specific data - public void addFormSpecificData(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { - HashMap formSpecificData = new HashMap(); - formSpecificData.put("editMode", getEditMode(vreq).name().toLowerCase()); - //In this case, passing back a sparql query - formSpecificData.put("sparqlForAcFilter", getSparqlForAcFilter(vreq)); - //Put in the fact that we require field - editConfiguration.setFormSpecificData(formSpecificData); - } - - public String getSparqlForAcFilter(VitroRequest vreq) { - String subject = EditConfigurationUtils.getSubjectUri(vreq); - String predicate = EditConfigurationUtils.getPredicateUri(vreq); - - - String query = "PREFIX core:<" + getVivoCoreNamespace() + "> " + - "SELECT ?grantUri WHERE { " + - "<" + subject + "> <" + predicate + "> ?grantRole ." + - "?grantRole <" + getRoleToGrantPredicate(vreq) + "> ?grantUri . }"; - return query; - } - - - - - -} +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpSession; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.vivoweb.webapp.util.ModelUtils; + +import com.hp.hpl.jena.ontology.OntModel; +import com.hp.hpl.jena.rdf.model.Literal; +import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.vocabulary.RDF; +import com.hp.hpl.jena.vocabulary.RDFS; +import com.hp.hpl.jena.vocabulary.XSD; + +import edu.cornell.mannlib.vitro.webapp.beans.ObjectProperty; +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; +import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; +import edu.cornell.mannlib.vitro.webapp.utils.FrontEndEditingUtils.EditMode; +import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; + +/** + * Custom form for adding a grant to an person for the predicates hasCo-PrincipalInvestigatorRole + and hasPrincipalInvestigatorRole. + +This is intended to create a set of statements like: + +?person core:hasPrincipalInvestigatorRole ?newRole. +?newRole rdf:type core:PrincipalInvestigatorRole ; + core:relatedRole ?someGrant . + + * + */ +public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator { + + private Log log = LogFactory.getLog(AddGrantRoleToPersonGenerator.class); + private String subjectUri = null; + private String predicateUri = null; + private String objectUri = null; + private String template = "addGrantRoleToPerson.ftl"; + + //Types of options to populate drop-down for types for the "right side" of the role + public static enum RoleActivityOptionTypes { + VCLASSGROUP, + CHILD_VCLASSES, + HARDCODED_LITERALS + }; + + @Override + public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) { + EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo(); + + //process subject, predicate, object parameters + this.initProcessParameters(vreq, session, editConfiguration); + + //Assumes this is a simple case of subject predicate var + editConfiguration.setN3Required(this.generateN3Required(vreq)); + + //n3 optional + editConfiguration.setN3Optional(this.generateN3Optional(vreq)); + + //Todo: what do new resources depend on here? + //In original form, these variables start off empty + editConfiguration.setNewResources(generateNewResources(vreq)); + //In scope + this.setUrisAndLiteralsInScope(editConfiguration, vreq); + + //on Form + this.setUrisAndLiteralsOnForm(editConfiguration, vreq); + + editConfiguration.setFilesOnForm(new ArrayList()); + + //Sparql queries + this.setSparqlQueries(editConfiguration, vreq); + + //set fields + setFields(editConfiguration, vreq, EditConfigurationUtils.getPredicateUri(vreq)); + + // No need to put in session here b/c put in session within edit request dispatch controller instead + //placing in session depends on having edit key which is handled in edit request dispatch controller + // editConfiguration.putConfigInSession(editConfiguration, session); + + prepareForUpdate(vreq, session, editConfiguration); + + //Form title and submit label now moved to edit configuration template + //TODO: check if edit configuration template correct place to set those or whether + //additional methods here should be used and reference instead, e.g. edit configuration template could call + //default obj property form.populateTemplate or some such method + //Select from existing also set within template itself + setTemplate(editConfiguration, vreq); + //Set edit key + setEditKey(editConfiguration, vreq); + + //Add validators + editConfiguration.addValidator(new DateTimeIntervalValidationVTwo("startField","endField") ); + editConfiguration.addValidator(new AntiXssValidation()); + editConfiguration.addValidator(new AutocompleteRequiredInputValidator("existingGrant","grantLabel")); + //no preprocessors required here + //Adding additional data, specifically edit mode + addFormSpecificData(editConfiguration, vreq); + return editConfiguration; + } + + + + private void setEditKey(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { + String editKey = EditConfigurationUtils.getEditKey(vreq); + editConfiguration.setEditKey(editKey); + } + + protected void setTemplate(EditConfigurationVTwo editConfiguration, + VitroRequest vreq) { + editConfiguration.setTemplate(template); + + } + + //Initialize setup: process parameters + //There will be specialized parameters as well, we may include them here or in a + //separate method + private void initProcessParameters(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) { + String formUrl = EditConfigurationUtils.getFormUrlWithoutContext(vreq); + + subjectUri = EditConfigurationUtils.getSubjectUri(vreq); + predicateUri = EditConfigurationUtils.getPredicateUri(vreq); + + editConfiguration.setFormUrl(formUrl); + + editConfiguration.setUrlPatternToReturnTo("/individual"); + + editConfiguration.setVarNameForSubject("person"); + editConfiguration.setSubjectUri(subjectUri); + editConfiguration.setEntityToReturnTo(subjectUri); + editConfiguration.setVarNameForPredicate("rolePredicate"); + editConfiguration.setPredicateUri(predicateUri); + //by definition, this is an object property + objectUri = EditConfigurationUtils.getObjectUri(vreq); + + this.processObjectPropForm(vreq, editConfiguration); + } + + private void processObjectPropForm(VitroRequest vreq, EditConfigurationVTwo editConfiguration) { + editConfiguration.setVarNameForObject("role"); + editConfiguration.setObject(objectUri); + //this needs to be set for the editing to be triggered properly, otherwise the 'prepare' method + //pretends this is a data property editing statement and throws an error + //TODO: Check if null in case no object uri exists but this is still an object property + } + + + /* + * N3 Required and Optional Generators as well as supporting methods + */ + + private String getPrefixesString() { + //TODO: Include dynamic way of including this + return "@prefix core: ."; + } + + //TODO: Check if single string or multiple strings - check rdfslabel form etc. for prefix + //processing + private List generateN3Required(VitroRequest vreq) { + List n3ForEdit = new ArrayList(); + String editString = getN3ForGrantRole(vreq); + n3ForEdit.add(editString); + return n3ForEdit; + } + + + private List generateN3Optional(VitroRequest vreq) { + List n3Optional = new ArrayList(); + //n3 for new grant + n3Optional.add(getN3ForNewGrant(vreq)); + //n3 for existing grant + n3Optional.add(getN3ForExistingGrant(vreq)); + //n3 for inverse + n3Optional.add("?role ?inverseRolePredicate ?person ."); + //N3ForStart + n3Optional.addAll(getN3ForStart()); + //N3 For End + n3Optional.addAll(getN3ForEnd()); + return n3Optional; + } + + public String getN3ForGrantRole(VitroRequest vreq) { + String editString = getPrefixesString(); + editString += "?person ?rolePredicate ?role ."; + editString += "?role a <" + getRoleType(vreq) + "> ."; + return editString; + } + + public String getN3ForNewGrant(VitroRequest vreq) { + String editString = getPrefixesString(); + editString += "?role <" + getRoleToGrantPredicate(vreq) + "> ?grant ."; + editString += "?grant a core:Grant . "; + editString += "?grant <" + getGrantToRolePredicate(vreq) + "> ?role ."; + editString += "?grant <" + RDFS.label.getURI() + "> ?grantLabel ."; + return editString; + } + + public String getN3ForExistingGrant(VitroRequest vreq) { + String editString = getPrefixesString(); + editString += "?role <" + getRoleToGrantPredicate(vreq) + "> ?existingGrant . "; + editString += "?existingGrant <" + getGrantToRolePredicate(vreq) + "> ?role ."; + return editString; + } + + //Method b/c used in two locations, n3 optional and n3 assertions + private List getN3ForStart() { + List n3ForStart = new ArrayList(); + n3ForStart.add("?role <" + getRoleToIntervalURI() + "> ?intervalNode ." + + "?intervalNode <" + RDF.type.getURI() + "> <" + getIntervalTypeURI() + "> ." + + "?intervalNode <" + getIntervalToStartURI() + "> ?startNode ." + + "?startNode <" + RDF.type.getURI() + "> <" + getDateTimeValueTypeURI() + "> ." + + "?startNode <" + getDateTimeValueURI() + "> ?startField-value ." + + "?startNode <" + getDateTimePrecisionURI() + "> ?startField-precision ."); + return n3ForStart; + } + + private List getN3ForEnd() { + List n3ForEnd = new ArrayList(); + n3ForEnd.add("?role <" + getRoleToIntervalURI() + "> ?intervalNode . " + + "?intervalNode <" + RDF.type.getURI() + "> <" + getIntervalTypeURI() + "> ." + + "?intervalNode <" + getIntervalToEndURI() + "> ?endNode ." + + "?endNode <" + RDF.type.getURI() + "> <" + getDateTimeValueTypeURI() + "> ." + + "?endNode <" + getDateTimeValueURI() + "> ?endField-value ." + + "?endNode <" + getDateTimePrecisionURI() + "> ?endField-precision ."); + return n3ForEnd; + + } + + + /* + * Get new resources + */ + private Map generateNewResources(VitroRequest vreq) { + HashMap newResources = new HashMap(); + //TODO: Get default namespace + String defaultNamespace = vreq.getWebappDaoFactory().getDefaultNamespace(); + newResources.put("role", defaultNamespace + "individual"); + newResources.put("grant", defaultNamespace + "individual"); + newResources.put("intervalNode", defaultNamespace + "individual"); + newResources.put("startNode", defaultNamespace + "individual"); + newResources.put("endNode", defaultNamespace + "individual"); + return newResources; + } + + /* + * Set URIS and Literals In Scope and on form and supporting methods + */ + + private void setUrisAndLiteralsInScope(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { + HashMap> urisInScope = new HashMap>(); + //note that at this point the subject, predicate, and object var parameters have already been processed + //these two were always set when instantiating an edit configuration object from json, + //although the json itself did not specify subject/predicate as part of uris in scope + urisInScope.put(editConfiguration.getVarNameForSubject(), + Arrays.asList(new String[]{editConfiguration.getSubjectUri()})); + urisInScope.put(editConfiguration.getVarNameForPredicate(), + Arrays.asList(new String[]{editConfiguration.getPredicateUri()})); + //Setting role type + urisInScope.put("roleType", + Arrays.asList(new String[]{getRoleType(vreq)})); + //Setting inverse role predicate + urisInScope.put("inverseRolePredicate", getInversePredicate(vreq)); + + editConfiguration.setUrisInScope(urisInScope); + //Uris in scope include subject, predicate, and object var + //literals in scope empty initially, usually populated by code in prepare for update + //with existing values for variables + editConfiguration.setLiteralsInScope(new HashMap>()); + } + + private List getInversePredicate(VitroRequest vreq) { + List inversePredicateArray = new ArrayList(); + ObjectProperty op = EditConfigurationUtils.getObjectProperty(vreq); + if(op != null && op.getURIInverse() != null) { + inversePredicateArray.add(op.getURIInverse()); + } + return inversePredicateArray; + } + + //n3 should look as follows + //?subject ?predicate ?objectVar + + private void setUrisAndLiteralsOnForm(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { + List urisOnForm = new ArrayList(); + List literalsOnForm = new ArrayList(); + //add role activity and roleActivityType to uris on form + urisOnForm.add("grant"); + urisOnForm.add("existingGrant"); + editConfiguration.setUrisOnform(urisOnForm); + //activity label and role label are literals on form + literalsOnForm.add("grantLabel"); + literalsOnForm.add("grantLabelDisplay"); + editConfiguration.setLiteralsOnForm(literalsOnForm); + } + + + /** + * Set SPARQL Queries and supporting methods + */ + + + private void setSparqlQueries(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { + //Sparql queries defining retrieval of literals etc. + editConfiguration.setSparqlForAdditionalLiteralsInScope(new HashMap()); + + Map urisInScope = new HashMap(); + editConfiguration.setSparqlForAdditionalUrisInScope(urisInScope); + + editConfiguration.setSparqlForExistingLiterals(generateSparqlForExistingLiterals(vreq)); + editConfiguration.setSparqlForExistingUris(generateSparqlForExistingUris(vreq)); + } + + + //Get page uri for object + private HashMap generateSparqlForExistingUris(VitroRequest vreq) { + HashMap map = new HashMap(); + //Queries for role activity, activity type query, interval node, start node, end node, start field precision, endfield precision + map.put("existingGrant", getExistingGrantQuery(vreq)); + map.put("intervalNode", getIntervalNodeQuery(vreq)); + map.put("startNode", getStartNodeQuery(vreq)); + map.put("endNode", getEndNodeQuery(vreq)); + map.put("startField-precision", getStartPrecisionQuery(vreq)); + map.put("endField-precision", getEndPrecisionQuery(vreq)); + return map; + } + + + + private String getEndPrecisionQuery(VitroRequest vreq) { + String query = "SELECT ?existingEndPrecision WHERE {" + + "?role <" + getRoleToIntervalURI() + "> ?intervalNode ." + + "?intervalNode <" + VitroVocabulary.RDF_TYPE + "> <" + getIntervalTypeURI() + "> ." + + "?intervalNode <" + getIntervalToEndURI() + "> ?endNode ." + + "?endNode <" + VitroVocabulary.RDF_TYPE + "> <" + getDateTimeValueTypeURI() + "> . " + + "?endNode <" + getDateTimePrecisionURI() + "> ?existingEndPrecision . }"; + return query; + } + + private String getStartPrecisionQuery(VitroRequest vreq) { + String query = "SELECT ?existingStartPrecision WHERE {" + + "?role <" + getRoleToIntervalURI() + "> ?intervalNode ." + + "?intervalNode <" + VitroVocabulary.RDF_TYPE + "> <" + getIntervalTypeURI() + "> ." + + "?intervalNode <" + getIntervalToStartURI() + "> ?startNode ." + + "?startNode <" + VitroVocabulary.RDF_TYPE + "> <" + getDateTimeValueTypeURI() + "> . " + + "?startNode <" + getDateTimePrecisionURI() + "> ?existingStartPrecision . }"; + return query; + } + + private String getEndNodeQuery(VitroRequest vreq) { + String query = "SELECT ?existingEndNode WHERE {"+ + "?role <" + getRoleToIntervalURI() + "> ?intervalNode ."+ + "?intervalNode <" + VitroVocabulary.RDF_TYPE + "> <" + getIntervalTypeURI() + "> ."+ + " ?intervalNode <" + getIntervalToEndURI() + "> ?existingEndNode . "+ + "?existingEndNode <" + VitroVocabulary.RDF_TYPE + "> <" + getDateTimeValueTypeURI() + "> .}"; + return query; + } + + private String getStartNodeQuery(VitroRequest vreq) { + String query = "SELECT ?existingStartNode WHERE {"+ + "?role <" + getRoleToIntervalURI() + "> ?intervalNode ."+ + "?intervalNode <" + VitroVocabulary.RDF_TYPE + "> <" + getIntervalTypeURI() + "> ."+ + "?intervalNode <" + getIntervalToStartURI() + "> ?existingStartNode . "+ + "?existingStartNode <" + VitroVocabulary.RDF_TYPE + "> <" + getDateTimeValueTypeURI() + "> .}"; + return query; + } + + private String getIntervalNodeQuery(VitroRequest vreq) { + String query = "SELECT ?existingIntervalNode WHERE { " + + "?role <" + getRoleToIntervalURI() + "> ?existingIntervalNode . " + + " ?existingIntervalNode <" + VitroVocabulary.RDF_TYPE + "> <" + getIntervalTypeURI() + "> . }"; + return query; + } + + + + private HashMap generateSparqlForExistingLiterals(VitroRequest vreq) { + HashMap map = new HashMap(); + //Queries for activity label, role label, start Field value, end Field value + map.put("grantLabel", getGrantLabelQuery(vreq)); + map.put("startField-value", getExistingStartDateQuery(vreq)); + map.put("endField-value", getExistingEndDateQuery(vreq)); + return map; + } + + private String getGrantLabelQuery(VitroRequest vreq) { + String query = "PREFIX core: <" + getVivoCoreNamespace() + ">" + + "PREFIX rdfs: <" + RDFS.getURI() + "> \n"; + + String roleToGrantPredicate = getRoleToGrantPredicate(vreq); + query += "SELECT ?existingGrantLabel WHERE { \n" + + "?role <" + roleToGrantPredicate + "> ?existingGrant . \n" + + "?existingGrant rdfs:label ?existingGrantLabel . }"; + + return query; + } + + private String getExistingGrantQuery(VitroRequest vreq) { + String query = "PREFIX core: <" + getVivoCoreNamespace() + ">" + + "PREFIX rdfs: <" + RDFS.getURI() + "> \n"; + + String roleToGrantPredicate = getRoleToGrantPredicate(vreq); + query += "SELECT ?existingGrant WHERE { \n" + + "?role <" + roleToGrantPredicate + "> ?existingGrant . }"; + return query; + } + + private String getExistingEndDateQuery(VitroRequest vreq) { + String query = " SELECT ?existingEndDate WHERE {\n" + + "?role <" + getRoleToIntervalURI() + "> ?intervalNode .\n" + + "?intervalNode <" + VitroVocabulary.RDF_TYPE + "> <" + getIntervalTypeURI() + "> .\n" + + "?intervalNode <" + getIntervalToEndURI() + "> ?endNode .\n" + + "?endNode <" + VitroVocabulary.RDF_TYPE + "> <" + getDateTimeValueTypeURI() + "> .\n" + + "?endNode <" + getDateTimeValueURI() + "> ?existingEndDate . }"; + return query; + } + + private String getExistingStartDateQuery(VitroRequest vreq) { + String query = "SELECT ?existingDateStart WHERE {\n" + + "?role <" + getRoleToIntervalURI() + "> ?intervalNode .\n" + + "?intervalNode <" + VitroVocabulary.RDF_TYPE + "> <" + getIntervalTypeURI() + "> .\n" + + "?intervalNode <" + getIntervalToStartURI() + "> ?startNode .\n" + + "?startNode <" + VitroVocabulary.RDF_TYPE + "> <" + getDateTimeValueTypeURI() + "> .\n" + + "?startNode <" + getDateTimeValueURI() + "> ?existingDateStart . }"; + + return query; + } + + /** + * + * Set Fields and supporting methods + */ + + private void setFields(EditConfigurationVTwo editConfiguration, VitroRequest vreq, String predicateUri) { + Map fields = new HashMap(); + //Multiple fields + getGrantField(editConfiguration, vreq, fields); + getGrantLabelField(editConfiguration, vreq, fields); + getGrantLabelDisplayField(editConfiguration, vreq, fields); + getExistingGrantField(editConfiguration, vreq, fields); + getStartField(editConfiguration, vreq, fields); + getEndField(editConfiguration, vreq, fields); + editConfiguration.setFields(fields); + } + + private void getGrantField(EditConfigurationVTwo editConfiguration, + VitroRequest vreq, Map fields) { + String fieldName = "grant"; + + FieldVTwo field = new FieldVTwo(); + field.setName(fieldName); + //queryForExisting is not being used anywhere in Field + + List validators = new ArrayList(); + field.setValidators(validators); + + fields.put(field.getName(), field); + + } + + private void getGrantLabelField(EditConfigurationVTwo editConfiguration, + VitroRequest vreq, Map fields) { + String fieldName = "grantLabel"; + //get range data type uri and range language + String stringDatatypeUri = XSD.xstring.toString(); + + FieldVTwo field = new FieldVTwo(); + field.setName(fieldName); + //queryForExisting is not being used anywhere in Field + + //Not really interested in validators here + List validators = new ArrayList(); + validators.add("datatype:" + stringDatatypeUri); + field.setValidators(validators); + + fields.put(field.getName(), field); + + } + + private void getGrantLabelDisplayField(EditConfigurationVTwo editConfiguration, + VitroRequest vreq, Map fields) { + + FieldVTwo field = new FieldVTwo(); + + String fieldName = "grantLabelDisplay"; + field.setName(fieldName); + + String stringDatatypeUri = XSD.xstring.toString(); + field.setRangeDatatypeUri(null); + + fields.put(field.getName(), field); + + } + //Need if returning from an invalid submission + private void getExistingGrantField( + EditConfigurationVTwo editConfiguration, VitroRequest vreq, + Map fields) { + String fieldName = "existingGrant"; + + FieldVTwo field = new FieldVTwo(); + field.setName(fieldName); + //queryForExisting is not being used anywhere in Field + + fields.put(field.getName(), field); + } + + private void getStartField(EditConfigurationVTwo editConfiguration, + VitroRequest vreq, Map fields) { + String fieldName = "startField"; + + FieldVTwo field = new FieldVTwo(); + field.setName(fieldName); + + //This logic was originally after edit configuration object created from json in original jsp + field.setEditElement( + new DateTimeWithPrecisionVTwo(field, + VitroVocabulary.Precision.YEAR.uri(), + VitroVocabulary.Precision.NONE.uri())); + + fields.put(field.getName(), field); + + } + + private void getEndField(EditConfigurationVTwo editConfiguration, + VitroRequest vreq, Map fields) { + String fieldName = "endField"; + + FieldVTwo field = new FieldVTwo(); + field.setName(fieldName); + + List validators = new ArrayList(); + field.setValidators(validators); + + //Set edit element + field.setEditElement( + new DateTimeWithPrecisionVTwo(field, + VitroVocabulary.Precision.YEAR.uri(), + VitroVocabulary.Precision.NONE.uri())); + + fields.put(field.getName(), field); + + } + + /** + * Prepare edit configuration for update + * @param vreq + * @param session + * @param editConfiguration + */ + + private void prepareForUpdate(VitroRequest vreq, HttpSession session, EditConfigurationVTwo editConfiguration) { + //Here, retrieve model from + OntModel model = ModelAccess.on(session.getServletContext()).getJenaOntModel(); + //Object property by definition + String objectUri = EditConfigurationUtils.getObjectUri(vreq); + if(objectUri != null) { + //update existing object + editConfiguration.prepareForObjPropUpdate(model); + } else { + //new object to be created + editConfiguration.prepareForNonUpdate( model ); + } + } + + /**Methods for checking edit mode ** + * + */ + public EditMode getEditMode(VitroRequest vreq) { + List roleToGrantPredicates = getPossibleRoleToGrantPredicates(); + return EditModeUtils.getEditMode(vreq, roleToGrantPredicates); + } + + private boolean isAddMode(VitroRequest vreq) { + return EditModeUtils.isAddMode(getEditMode(vreq)); + } + + private boolean isEditMode(VitroRequest vreq) { + return EditModeUtils.isEditMode(getEditMode(vreq)); + } + + private boolean isRepairMode(VitroRequest vreq) { + return EditModeUtils.isRepairMode(getEditMode(vreq)); + } + + /** + * Methods that are REQUIRED to be implemented in subclasses + **/ + //role type will always be set based on particular form + public String getRoleType(VitroRequest vreq) { + String rangeUri = EditConfigurationUtils.getRangeUri(vreq); + if(rangeUri.equals(getPrincipalInvestigatorURI())) { + return getVivoOntologyCoreNamespace() + "PrincipalInvestigatorRole"; + } + else if(predicateUri.equals(getCoPrincipalInvestigatorURI())) { + return getVivoOntologyCoreNamespace() + "CoPrincipalInvestigatorRole"; + } else { + return getVivoOntologyCoreNamespace() + "InvestigatorRole"; + } + } + + private Object getCoPrincipalInvestigatorURI() { + return getVivoOntologyCoreNamespace() + "CoPrincipalInvestigatorRole"; + } + + + //TODO: More dynamic way of getting this or standard mechanism + private String getVivoOntologyCoreNamespace() { + return "http://vivoweb.org/ontology/core#"; + } + + private Object getPrincipalInvestigatorURI() { + return getVivoOntologyCoreNamespace() + "PrincipalInvestigatorRole"; + + } + + /** + * Methods with default values that may be overwritten when required by a subclass + * Both Default value and method that can be overwritten are included below + **/ + + public boolean isShowRoleLabelField(VitroRequest vreq) { + return true; + } + + + //This has a default value, but note that even that will not be used + //in the update with realized in or contributes to + //Overridden when need be in subclassed generator + //Also note that for now we're going to actually going to return a + //placeholder value by default + public String getRoleToGrantPredicate(VitroRequest vreq) { + ObjectProperty predicate = ModelUtils.getPropertyForRoleInClass(getGrantType(), vreq.getWebappDaoFactory()); + return predicate.getURI(); + } + + public String getGrantToRolePredicate(VitroRequest vreq) { + ObjectProperty predicate = ModelUtils.getPropertyForRoleInClass(getGrantType(), vreq.getWebappDaoFactory()); + return predicate.getURIInverse(); + } + + public String getGrantType() { + return "http://vivoweb.org/ontology/core#Grant"; + } + //Ensure when overwritten that this includes the <> b/c otherwise the query won't work + + //Some values will have a default value + //grantToRolePredicate + public String getDefaultgrantToRolePredicate() { + return "http://vivoweb.org/ontology/core#relatedRole"; + } + + //roleToGrantPredicate + public String getDefaultroleToGrantPredicate() { + return "http://vivoweb.org/ontology/core#roleIn"; + + } + + public List getPossibleRoleToGrantPredicates() { + return ModelUtils.getPossiblePropertiesForRole(); + } + + public List getPossibleGrantToRolePredicates() { + return ModelUtils.getPossibleInversePropertiesForRole(); + } + + + /** + * Methods to return URIS for various predicates + **/ + public String getVivoCoreNamespace() { + return "http://vivoweb.org/ontology/core#"; + } + + public String getRoleToIntervalURI() { + return getVivoCoreNamespace() + "dateTimeInterval"; + } + + public String getIntervalTypeURI() { + return getVivoCoreNamespace() + "DateTimeInterval"; + } + + public String getIntervalToStartURI() { + return getVivoCoreNamespace() + "start"; + } + + public String getIntervalToEndURI() { + return getVivoCoreNamespace() + "end"; + } + + public String getStartYearPredURI() { + return getVivoCoreNamespace() + "startYear"; + } + + public String getEndYearPredURI() { + return getVivoCoreNamespace() + "endYear"; + } + + public String getDateTimeValueTypeURI() { + return getVivoCoreNamespace() + "DateTimeValue"; + } + + public String getDateTimePrecisionURI() { + return getVivoCoreNamespace() + "dateTimePrecision"; + } + + public String getDateTimeValueURI() { + return getVivoCoreNamespace() + "dateTime"; + } + + //Form specific data + public void addFormSpecificData(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { + HashMap formSpecificData = new HashMap(); + formSpecificData.put("editMode", getEditMode(vreq).name().toLowerCase()); + //In this case, passing back a sparql query + formSpecificData.put("sparqlForAcFilter", getSparqlForAcFilter(vreq)); + //Put in the fact that we require field + editConfiguration.setFormSpecificData(formSpecificData); + } + + public String getSparqlForAcFilter(VitroRequest vreq) { + String subject = EditConfigurationUtils.getSubjectUri(vreq); + String predicate = EditConfigurationUtils.getPredicateUri(vreq); + + + String query = "PREFIX core:<" + getVivoCoreNamespace() + "> " + + "SELECT ?grantUri WHERE { " + + "<" + subject + "> <" + predicate + "> ?grantRole ." + + "?grantRole <" + getRoleToGrantPredicate(vreq) + "> ?grantUri . }"; + return query; + } + + + + + +} diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPresenterRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPresenterRoleToPersonGenerator.java index 1cab984d..78a1f6ce 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPresenterRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPresenterRoleToPersonGenerator.java @@ -1,311 +1,311 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; - -import java.util.Arrays; - -import javax.servlet.http.HttpSession; - -import com.hp.hpl.jena.vocabulary.XSD; - -import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; -import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesWithParent; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaVClassOptions; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; - -public class AddPresenterRoleToPersonGenerator extends VivoBaseGenerator implements - EditConfigurationGenerator { - - final static String presentationClass = vivoCore + "Presentation"; - final static String roleClass = vivoCore + "PresenterRole"; - final static String conferenceClass = bibo + "Conference"; - final static String hasRolePred = vivoCore + "hasPresenterRole"; - final static String roleOfPred = vivoCore + "presenterRoleOf"; - final static String roleRealizedInPred = vivoCore + "roleRealizedIn"; - final static String realizedRolePred = vivoCore + "realizedRole"; - final static String includesEventPred = vivoCore + "includesEvent"; - final static String eventWithinPred = vivoCore + "eventWithin"; - final static String roleToInterval = vivoCore + "dateTimeInterval"; - final static String intervalType = vivoCore + "DateTimeInterval"; - final static String intervalToStart = vivoCore + "start"; - final static String intervalToEnd = vivoCore + "end"; - final static String dateTimeValueType = vivoCore + "DateTimeValue"; - final static String dateTimeValue = vivoCore + "dateTime"; - final static String dateTimePrecision = vivoCore + "dateTimePrecision"; - - public AddPresenterRoleToPersonGenerator() {} - - @Override - public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, - HttpSession session) throws Exception { - - EditConfigurationVTwo conf = new EditConfigurationVTwo(); - - initBasics(conf, vreq); - initPropertyParameters(vreq, session, conf); - initObjectPropForm(conf, vreq); - - conf.setTemplate("addPresenterRoleToPerson.ftl"); - - conf.setVarNameForSubject("person"); - conf.setVarNameForPredicate("predicate"); - conf.setVarNameForObject("role"); - - conf.setN3Required( Arrays.asList( n3ForNewRole, - roleLabelAssertion) ); - conf.setN3Optional( Arrays.asList( n3ForNewPresentation, - n3ForExistingPresentation, - n3ForNewConferenceNewPres, - n3ForNewConferenceExistingPres, - n3ForExistingConferenceNewPres, - n3ForExistingConferenceExistingPres, - n3ForStart, - n3ForEnd ) ); - - conf.addNewResource("presentation", DEFAULT_NS_FOR_NEW_RESOURCE); - conf.addNewResource("newConference", DEFAULT_NS_FOR_NEW_RESOURCE); - conf.addNewResource("role", DEFAULT_NS_FOR_NEW_RESOURCE); - conf.addNewResource("intervalNode", DEFAULT_NS_FOR_NEW_RESOURCE); - conf.addNewResource("startNode", DEFAULT_NS_FOR_NEW_RESOURCE); - conf.addNewResource("endNode", DEFAULT_NS_FOR_NEW_RESOURCE); - - //uris in scope: none - //literals in scope: none - - conf.setUrisOnform(Arrays.asList("existingPresentation", "existingConference", "presentationType")); - conf.setLiteralsOnForm(Arrays.asList("presentationLabel", "presentationLabelDisplay", "conferenceLabel", "conferenceLabelDisplay", "roleLabel")); - - conf.addSparqlForExistingLiteral("presentationLabel", presentationLabelQuery); - conf.addSparqlForExistingLiteral("conferenceLabel", conferenceLabelQuery); - conf.addSparqlForExistingLiteral("roleLabel", roleLabelQuery); - conf.addSparqlForExistingUris("existingPresentation", presentationQuery); - conf.addSparqlForExistingUris("existingConference", existingConferenceQuery); - conf.addSparqlForExistingUris("presentationType", presentationTypeQuery); - conf.addSparqlForExistingLiteral( - "startField-value", existingStartDateQuery); - conf.addSparqlForExistingLiteral( - "endField-value", existingEndDateQuery); - conf.addSparqlForExistingUris( - "intervalNode", existingIntervalNodeQuery); - conf.addSparqlForExistingUris("startNode", existingStartNodeQuery); - conf.addSparqlForExistingUris("endNode", existingEndNodeQuery); - conf.addSparqlForExistingUris("startField-precision", - existingStartPrecisionQuery); - conf.addSparqlForExistingUris("endField-precision", - existingEndPrecisionQuery); - - conf.addField( new FieldVTwo(). // an autocomplete field - setName("existingPresentation") - ); - - conf.addField( new FieldVTwo(). - setName("presentationLabelDisplay") - .setRangeDatatypeUri( XSD.xstring.toString() ). - setValidators( list("datatype:" + XSD.xstring.toString()) ) - ); - - conf.addField( new FieldVTwo(). - setName("presentationLabel") - .setRangeDatatypeUri( XSD.xstring.toString() ). - setValidators( list("datatype:" + XSD.xstring.toString()) ) - ); - - conf.addField( new FieldVTwo(). - setName("presentationType"). - setValidators( list("nonempty") ). - setOptions( new ChildVClassesWithParent( - presentationClass)) - ); - - conf.addField( new FieldVTwo(). - setName("roleLabel") - .setRangeDatatypeUri( XSD.xstring.toString() ). - setValidators( list("nonempty") ) - ); - - conf.addField( new FieldVTwo(). // an autocomplete field - setName("existingConference") - ); - - conf.addField( new FieldVTwo(). - setName("conferenceLabel"). - setRangeDatatypeUri(XSD.xstring.toString() ) - ); - - conf.addField( new FieldVTwo(). - setName("conferenceLabelDisplay"). - setRangeDatatypeUri(XSD.xstring.toString() ) - ); - - conf.addField( new FieldVTwo().setName("startField"). - setEditElement( - new DateTimeWithPrecisionVTwo(null, - VitroVocabulary.Precision.YEAR.uri(), - VitroVocabulary.Precision.NONE.uri()) - ) - ); - - conf.addField( new FieldVTwo().setName("endField"). - setEditElement( - new DateTimeWithPrecisionVTwo(null, - VitroVocabulary.Precision.YEAR.uri(), - VitroVocabulary.Precision.NONE.uri()) - ) - ); - - conf.addValidator(new DateTimeIntervalValidationVTwo("startField","endField")); - conf.addValidator(new AntiXssValidation()); - conf.addValidator(new AutocompleteRequiredInputValidator("existingPresentation", "presentationLabel")); - prepare(vreq, conf); - return conf; - } - - /* N3 assertions */ - final static String n3ForNewRole = - "@prefix core: <" + vivoCore + "> . \n\n" + - "?person <" + hasRolePred + "> ?role . \n" + - "?role a <" + roleClass + "> . \n" + - "?role <" + roleOfPred + "> ?person . "; - - final static String roleLabelAssertion = - "?role <" + label + "> ?roleLabel ."; - - final static String n3ForNewPresentation = - "?role <" + roleRealizedInPred + "> ?presentation . \n" + - "?presentation <" + realizedRolePred + "> ?role . \n" + - "?presentation <" + label + "> ?presentationLabel . \n" + - "?presentation a ?presentationType ."; - - final static String n3ForExistingPresentation = - "?role <" + roleRealizedInPred + "> ?existingPresentation . \n" + - "?existingPresentation <" + realizedRolePred + "> ?role . \n" + - "?existingPresentation a ?presentationType ."; - - final static String n3ForNewConferenceNewPres = - "?presentation <" + eventWithinPred + "> ?newConference . \n" + - "?newConference <" + includesEventPred + "> ?presentation . \n" + - "?newConference a <" + conferenceClass + "> . \n" + - "?newConference <" + label + "> ?conferenceLabel ."; - - final static String n3ForNewConferenceExistingPres = - "?existingPresentation <" + eventWithinPred + "> ?newConference . \n" + - "?newConference <" + includesEventPred + "> ?existingPresentation . \n" + - "?newConference a <" + conferenceClass + "> . \n" + - "?newConference <" + label + "> ?conferenceLabel ."; - - final static String n3ForExistingConferenceNewPres = - "?existingConference <" + includesEventPred + "> ?presentation . \n" + - "?presentation <" + eventWithinPred + "> ?existingConference . \n" + - "?presentation <" + label + "> ?presentationLabel . "; - - final static String n3ForExistingConferenceExistingPres = - "?existingConference <" + includesEventPred + "> ?existingPresentation . \n" + - "?existingPresentation <" + eventWithinPred + "> ?existingConference . "; - - final static String n3ForStart = - "?role <" + roleToInterval + "> ?intervalNode . \n" + - "?intervalNode a <" + intervalType + "> . \n" + - "?intervalNode <" + intervalToStart + "> ?startNode . \n" + - "?startNode a <" + dateTimeValueType + "> . \n" + - "?startNode <" + dateTimeValue + "> ?startField-value . \n" + - "?startNode <" + dateTimePrecision + "> ?startField-precision . \n"; - - final static String n3ForEnd = - "?role <" + roleToInterval + "> ?intervalNode . \n" + - "?intervalNode a <" + intervalType + "> . \n" + - "?intervalNode <" + intervalToEnd + "> ?endNode . \n" + - "?endNode a <" + dateTimeValueType + "> . \n" + - "?endNode <" + dateTimeValue + "> ?endField-value . \n" + - "?endNode <" + dateTimePrecision + "> ?endField-precision . \n"; - - /* Queries for editing an existing entry */ - final static String roleLabelQuery = - "SELECT ?existingRoleLabel WHERE { \n" + - "?role <" + label + "> ?existingRoleLabel . }"; - - final static String presentationQuery = - "SELECT ?existingPresentation WHERE { \n" + - "?role <" + roleRealizedInPred + "> ?existingPresentation . }"; - - final static String presentationLabelQuery = - "SELECT ?existingPresentationLabel WHERE { \n" + - "?role <" + roleRealizedInPred + "> ?existingPresentation . " + - "?existingPresentation <" + label + "> ?existingPresentationLabel . }"; - - final static String presentationTypeQuery = - "PREFIX vitro: <" + VitroVocabulary.vitroURI + "> \n" + - "SELECT ?existingPresentationType WHERE { \n" + - "?role <" + roleRealizedInPred + "> ?existingPresentation . " + - "?existingPresentation vitro:mostSpecificType ?existingPresentationType . }"; - - final static String existingConferenceQuery = - "SELECT ?existingConference WHERE { \n" + - "?role <" + roleRealizedInPred + "> ?existingPresentation . " + - "?existingPresentation <" + eventWithinPred + "> ?existingConference . }"; - - final static String conferenceLabelQuery = - "SELECT ?existingConferenceLabel WHERE { \n" + - "?role <" + roleRealizedInPred + "> ?existingPresentation . " + - "?existingPresentation <" + eventWithinPred + "> ?existingConference . \n" + - "?existingConference <" + label + "> ?existingConferenceLabel . }"; - - final static String existingStartDateQuery = - "SELECT ?existingDateStart WHERE { \n" + - " ?role <" + roleToInterval + "> ?intervalNode . \n" + - " ?intervalNode a <" + intervalType + "> . \n" + - " ?intervalNode <" + intervalToStart + "> ?startNode . \n" + - " ?startNode a <" + dateTimeValueType +"> . \n" + - " ?startNode <" + dateTimeValue + "> ?existingDateStart . }"; - - final static String existingEndDateQuery = - "SELECT ?existingEndDate WHERE { \n" + - " ?role <" + roleToInterval + "> ?intervalNode . \n" + - " ?intervalNode a <" + intervalType + "> . \n " + - " ?intervalNode <" + intervalToEnd + "> ?endNode . \n" + - " ?endNode a <" + dateTimeValueType + "> . \n" + - " ?endNode <" + dateTimeValue + "> ?existingEndDate . }"; - - final static String existingIntervalNodeQuery = - "SELECT ?existingIntervalNode WHERE { \n" + - " ?role <" + roleToInterval + "> ?existingIntervalNode . \n" + - " ?existingIntervalNode a <" + intervalType + "> . }"; - - final static String existingStartNodeQuery = - "SELECT ?existingStartNode WHERE { \n" + - " ?role <" + roleToInterval + "> ?intervalNode . \n" + - " ?intervalNode a <" + intervalType + "> . \n" + - " ?intervalNode <" + intervalToStart + "> ?existingStartNode . \n" + - " ?existingStartNode a <" + dateTimeValueType + "> . } "; - - final static String existingEndNodeQuery = - "SELECT ?existingEndNode WHERE { \n" + - " ?role <" + roleToInterval + "> ?intervalNode . \n" + - " ?intervalNode a <" + intervalType + "> . \n" + - " ?intervalNode <" + intervalToEnd + "> ?existingEndNode . \n" + - " ?existingEndNode a <" + dateTimeValueType + "> .} "; - - final static String existingStartPrecisionQuery = - "SELECT ?existingStartPrecision WHERE { \n" + - " ?role <" + roleToInterval + "> ?intervalNode . \n" + - " ?intervalNode a <" + intervalType + "> . \n" + - " ?intervalNode <" + intervalToStart + "> ?startNode . \n" + - " ?startNode a <" + dateTimeValueType + "> . \n" + - " ?startNode <" + dateTimePrecision + "> ?existingStartPrecision . }"; - - final static String existingEndPrecisionQuery = - "SELECT ?existingEndPrecision WHERE { \n" + - " ?role <" + roleToInterval + "> ?intervalNode . \n" + - " ?intervalNode a <" + intervalType + "> . \n" + - " ?intervalNode <" + intervalToEnd + "> ?endNode . \n" + - " ?endNode a <" + dateTimeValueType + "> . \n" + - " ?endNode <" + dateTimePrecision + "> ?existingEndPrecision . }"; - -} - +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; + +import java.util.Arrays; + +import javax.servlet.http.HttpSession; + +import com.hp.hpl.jena.vocabulary.XSD; + +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.AutocompleteRequiredInputValidator; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeWithPrecisionVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesWithParent; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaVClassOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; + +public class AddPresenterRoleToPersonGenerator extends VivoBaseGenerator implements + EditConfigurationGenerator { + + final static String presentationClass = vivoCore + "Presentation"; + final static String roleClass = vivoCore + "PresenterRole"; + final static String conferenceClass = bibo + "Conference"; + final static String hasRolePred = "http://purl.obolibrary.org/obo/RO_0000053"; + final static String roleOfPred = "http://purl.obolibrary.org/obo/RO_0000052"; + final static String roleRealizedInPred = "http://purl.obolibrary.org/obo/BFO_0000054"; + final static String realizedRolePred = "http://purl.obolibrary.org/obo/BFO_0000055"; + final static String includesEventPred = "http://purl.obolibrary.org/obo/BFO_0000051"; + final static String eventWithinPred = "http://purl.obolibrary.org/obo/BFO_0000050"; + final static String roleToInterval = vivoCore + "dateTimeInterval"; + final static String intervalType = vivoCore + "DateTimeInterval"; + final static String intervalToStart = vivoCore + "start"; + final static String intervalToEnd = vivoCore + "end"; + final static String dateTimeValueType = vivoCore + "DateTimeValue"; + final static String dateTimeValue = vivoCore + "dateTime"; + final static String dateTimePrecision = vivoCore + "dateTimePrecision"; + + public AddPresenterRoleToPersonGenerator() {} + + @Override + public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, + HttpSession session) throws Exception { + + EditConfigurationVTwo conf = new EditConfigurationVTwo(); + + initBasics(conf, vreq); + initPropertyParameters(vreq, session, conf); + initObjectPropForm(conf, vreq); + + conf.setTemplate("addPresenterRoleToPerson.ftl"); + + conf.setVarNameForSubject("person"); + conf.setVarNameForPredicate("predicate"); + conf.setVarNameForObject("role"); + + conf.setN3Required( Arrays.asList( n3ForNewRole, + roleLabelAssertion) ); + conf.setN3Optional( Arrays.asList( n3ForNewPresentation, + n3ForExistingPresentation, + n3ForNewConferenceNewPres, + n3ForNewConferenceExistingPres, + n3ForExistingConferenceNewPres, + n3ForExistingConferenceExistingPres, + n3ForStart, + n3ForEnd ) ); + + conf.addNewResource("presentation", DEFAULT_NS_FOR_NEW_RESOURCE); + conf.addNewResource("newConference", DEFAULT_NS_FOR_NEW_RESOURCE); + conf.addNewResource("role", DEFAULT_NS_FOR_NEW_RESOURCE); + conf.addNewResource("intervalNode", DEFAULT_NS_FOR_NEW_RESOURCE); + conf.addNewResource("startNode", DEFAULT_NS_FOR_NEW_RESOURCE); + conf.addNewResource("endNode", DEFAULT_NS_FOR_NEW_RESOURCE); + + //uris in scope: none + //literals in scope: none + + conf.setUrisOnform(Arrays.asList("existingPresentation", "existingConference", "presentationType")); + conf.setLiteralsOnForm(Arrays.asList("presentationLabel", "presentationLabelDisplay", "conferenceLabel", "conferenceLabelDisplay", "roleLabel")); + + conf.addSparqlForExistingLiteral("presentationLabel", presentationLabelQuery); + conf.addSparqlForExistingLiteral("conferenceLabel", conferenceLabelQuery); + conf.addSparqlForExistingLiteral("roleLabel", roleLabelQuery); + conf.addSparqlForExistingUris("existingPresentation", presentationQuery); + conf.addSparqlForExistingUris("existingConference", existingConferenceQuery); + conf.addSparqlForExistingUris("presentationType", presentationTypeQuery); + conf.addSparqlForExistingLiteral( + "startField-value", existingStartDateQuery); + conf.addSparqlForExistingLiteral( + "endField-value", existingEndDateQuery); + conf.addSparqlForExistingUris( + "intervalNode", existingIntervalNodeQuery); + conf.addSparqlForExistingUris("startNode", existingStartNodeQuery); + conf.addSparqlForExistingUris("endNode", existingEndNodeQuery); + conf.addSparqlForExistingUris("startField-precision", + existingStartPrecisionQuery); + conf.addSparqlForExistingUris("endField-precision", + existingEndPrecisionQuery); + + conf.addField( new FieldVTwo(). // an autocomplete field + setName("existingPresentation") + ); + + conf.addField( new FieldVTwo(). + setName("presentationLabelDisplay") + .setRangeDatatypeUri( XSD.xstring.toString() ). + setValidators( list("datatype:" + XSD.xstring.toString()) ) + ); + + conf.addField( new FieldVTwo(). + setName("presentationLabel") + .setRangeDatatypeUri( XSD.xstring.toString() ). + setValidators( list("datatype:" + XSD.xstring.toString()) ) + ); + + conf.addField( new FieldVTwo(). + setName("presentationType"). + setValidators( list("nonempty") ). + setOptions( new ChildVClassesWithParent( + presentationClass)) + ); + + conf.addField( new FieldVTwo(). + setName("roleLabel") + .setRangeDatatypeUri( XSD.xstring.toString() ). + setValidators( list("nonempty") ) + ); + + conf.addField( new FieldVTwo(). // an autocomplete field + setName("existingConference") + ); + + conf.addField( new FieldVTwo(). + setName("conferenceLabel"). + setRangeDatatypeUri(XSD.xstring.toString() ) + ); + + conf.addField( new FieldVTwo(). + setName("conferenceLabelDisplay"). + setRangeDatatypeUri(XSD.xstring.toString() ) + ); + + conf.addField( new FieldVTwo().setName("startField"). + setEditElement( + new DateTimeWithPrecisionVTwo(null, + VitroVocabulary.Precision.YEAR.uri(), + VitroVocabulary.Precision.NONE.uri()) + ) + ); + + conf.addField( new FieldVTwo().setName("endField"). + setEditElement( + new DateTimeWithPrecisionVTwo(null, + VitroVocabulary.Precision.YEAR.uri(), + VitroVocabulary.Precision.NONE.uri()) + ) + ); + + conf.addValidator(new DateTimeIntervalValidationVTwo("startField","endField")); + conf.addValidator(new AntiXssValidation()); + conf.addValidator(new AutocompleteRequiredInputValidator("existingPresentation", "presentationLabel")); + prepare(vreq, conf); + return conf; + } + + /* N3 assertions */ + final static String n3ForNewRole = + "@prefix core: <" + vivoCore + "> . \n\n" + + "?person <" + hasRolePred + "> ?role . \n" + + "?role a <" + roleClass + "> . \n" + + "?role <" + roleOfPred + "> ?person . "; + + final static String roleLabelAssertion = + "?role <" + label + "> ?roleLabel ."; + + final static String n3ForNewPresentation = + "?role <" + roleRealizedInPred + "> ?presentation . \n" + + "?presentation <" + realizedRolePred + "> ?role . \n" + + "?presentation <" + label + "> ?presentationLabel . \n" + + "?presentation a ?presentationType ."; + + final static String n3ForExistingPresentation = + "?role <" + roleRealizedInPred + "> ?existingPresentation . \n" + + "?existingPresentation <" + realizedRolePred + "> ?role . \n" + + "?existingPresentation a ?presentationType ."; + + final static String n3ForNewConferenceNewPres = + "?presentation <" + eventWithinPred + "> ?newConference . \n" + + "?newConference <" + includesEventPred + "> ?presentation . \n" + + "?newConference a <" + conferenceClass + "> . \n" + + "?newConference <" + label + "> ?conferenceLabel ."; + + final static String n3ForNewConferenceExistingPres = + "?existingPresentation <" + eventWithinPred + "> ?newConference . \n" + + "?newConference <" + includesEventPred + "> ?existingPresentation . \n" + + "?newConference a <" + conferenceClass + "> . \n" + + "?newConference <" + label + "> ?conferenceLabel ."; + + final static String n3ForExistingConferenceNewPres = + "?existingConference <" + includesEventPred + "> ?presentation . \n" + + "?presentation <" + eventWithinPred + "> ?existingConference . \n" + + "?presentation <" + label + "> ?presentationLabel . "; + + final static String n3ForExistingConferenceExistingPres = + "?existingConference <" + includesEventPred + "> ?existingPresentation . \n" + + "?existingPresentation <" + eventWithinPred + "> ?existingConference . "; + + final static String n3ForStart = + "?role <" + roleToInterval + "> ?intervalNode . \n" + + "?intervalNode a <" + intervalType + "> . \n" + + "?intervalNode <" + intervalToStart + "> ?startNode . \n" + + "?startNode a <" + dateTimeValueType + "> . \n" + + "?startNode <" + dateTimeValue + "> ?startField-value . \n" + + "?startNode <" + dateTimePrecision + "> ?startField-precision . \n"; + + final static String n3ForEnd = + "?role <" + roleToInterval + "> ?intervalNode . \n" + + "?intervalNode a <" + intervalType + "> . \n" + + "?intervalNode <" + intervalToEnd + "> ?endNode . \n" + + "?endNode a <" + dateTimeValueType + "> . \n" + + "?endNode <" + dateTimeValue + "> ?endField-value . \n" + + "?endNode <" + dateTimePrecision + "> ?endField-precision . \n"; + + /* Queries for editing an existing entry */ + final static String roleLabelQuery = + "SELECT ?existingRoleLabel WHERE { \n" + + "?role <" + label + "> ?existingRoleLabel . }"; + + final static String presentationQuery = + "SELECT ?existingPresentation WHERE { \n" + + "?role <" + roleRealizedInPred + "> ?existingPresentation . }"; + + final static String presentationLabelQuery = + "SELECT ?existingPresentationLabel WHERE { \n" + + "?role <" + roleRealizedInPred + "> ?existingPresentation . " + + "?existingPresentation <" + label + "> ?existingPresentationLabel . }"; + + final static String presentationTypeQuery = + "PREFIX vitro: <" + VitroVocabulary.vitroURI + "> \n" + + "SELECT ?existingPresentationType WHERE { \n" + + "?role <" + roleRealizedInPred + "> ?existingPresentation . " + + "?existingPresentation vitro:mostSpecificType ?existingPresentationType . }"; + + final static String existingConferenceQuery = + "SELECT ?existingConference WHERE { \n" + + "?role <" + roleRealizedInPred + "> ?existingPresentation . " + + "?existingPresentation <" + eventWithinPred + "> ?existingConference . }"; + + final static String conferenceLabelQuery = + "SELECT ?existingConferenceLabel WHERE { \n" + + "?role <" + roleRealizedInPred + "> ?existingPresentation . " + + "?existingPresentation <" + eventWithinPred + "> ?existingConference . \n" + + "?existingConference <" + label + "> ?existingConferenceLabel . }"; + + final static String existingStartDateQuery = + "SELECT ?existingDateStart WHERE { \n" + + " ?role <" + roleToInterval + "> ?intervalNode . \n" + + " ?intervalNode a <" + intervalType + "> . \n" + + " ?intervalNode <" + intervalToStart + "> ?startNode . \n" + + " ?startNode a <" + dateTimeValueType +"> . \n" + + " ?startNode <" + dateTimeValue + "> ?existingDateStart . }"; + + final static String existingEndDateQuery = + "SELECT ?existingEndDate WHERE { \n" + + " ?role <" + roleToInterval + "> ?intervalNode . \n" + + " ?intervalNode a <" + intervalType + "> . \n " + + " ?intervalNode <" + intervalToEnd + "> ?endNode . \n" + + " ?endNode a <" + dateTimeValueType + "> . \n" + + " ?endNode <" + dateTimeValue + "> ?existingEndDate . }"; + + final static String existingIntervalNodeQuery = + "SELECT ?existingIntervalNode WHERE { \n" + + " ?role <" + roleToInterval + "> ?existingIntervalNode . \n" + + " ?existingIntervalNode a <" + intervalType + "> . }"; + + final static String existingStartNodeQuery = + "SELECT ?existingStartNode WHERE { \n" + + " ?role <" + roleToInterval + "> ?intervalNode . \n" + + " ?intervalNode a <" + intervalType + "> . \n" + + " ?intervalNode <" + intervalToStart + "> ?existingStartNode . \n" + + " ?existingStartNode a <" + dateTimeValueType + "> . } "; + + final static String existingEndNodeQuery = + "SELECT ?existingEndNode WHERE { \n" + + " ?role <" + roleToInterval + "> ?intervalNode . \n" + + " ?intervalNode a <" + intervalType + "> . \n" + + " ?intervalNode <" + intervalToEnd + "> ?existingEndNode . \n" + + " ?existingEndNode a <" + dateTimeValueType + "> .} "; + + final static String existingStartPrecisionQuery = + "SELECT ?existingStartPrecision WHERE { \n" + + " ?role <" + roleToInterval + "> ?intervalNode . \n" + + " ?intervalNode a <" + intervalType + "> . \n" + + " ?intervalNode <" + intervalToStart + "> ?startNode . \n" + + " ?startNode a <" + dateTimeValueType + "> . \n" + + " ?startNode <" + dateTimePrecision + "> ?existingStartPrecision . }"; + + final static String existingEndPrecisionQuery = + "SELECT ?existingEndPrecision WHERE { \n" + + " ?role <" + roleToInterval + "> ?intervalNode . \n" + + " ?intervalNode a <" + intervalType + "> . \n" + + " ?intervalNode <" + intervalToEnd + "> ?endNode . \n" + + " ?endNode a <" + dateTimeValueType + "> . \n" + + " ?endNode <" + dateTimePrecision + "> ?existingEndPrecision . }"; + +} + From cae4fe03c17b72ef2d1a86b19dded4f4c600f7f1 Mon Sep 17 00:00:00 2001 From: tworrall Date: Thu, 29 Aug 2013 12:35:35 -0400 Subject: [PATCH 23/66] VIVO-112: more changes for role related forms and addAuthorToPub --- .../app/loadedAtStartup/PropertyConfig.n3 | 16 ++++++------- .../listViewConfig-hasInvestigatorRole.xml | 2 +- productMods/config/listViewConfig-hasRole.xml | 7 +++--- ...Config-informationResourceInAuthorship.xml | 23 ++++++++++++------- 4 files changed, 27 insertions(+), 21 deletions(-) diff --git a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 index c7ea9e42..8b237c6b 100644 --- a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 +++ b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 @@ -52,7 +52,7 @@ local:authorInAuthorshipConfig a :ObjectPropertyDisplayConfig ; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddPublicationToPersonGenerator"^^xsd:string ; - :propertyGroup . + :propertyGroup . local:hasServiceProviderRoleContext a :ConfigContext ; :hasConfiguration local:hasServiceProviderRoleConfig ; @@ -65,7 +65,7 @@ local:hasServiceProviderRoleConfig a :ObjectPropertyDisplayConfig ; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddServiceProviderRoleToPersonGenerator"^^ ; - :propertyGroup . + :propertyGroup . local:hasClinicalRoleContext a :ConfigContext ; :hasConfiguration local:hasClinicalRoleConfig ; @@ -130,7 +130,7 @@ local:hasEditorRoleConfig a :ObjectPropertyDisplayConfig ; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddEditorRoleToPersonGenerator"^^ ; - :propertyGroup . + :propertyGroup . local:hasReviewerRoleContext a :ConfigContext ; :hasConfiguration local:hasReviewerRoleConfig ; @@ -143,7 +143,7 @@ local:hasReviewerRoleConfig a :ObjectPropertyDisplayConfig ; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddReviewerRoleToPersonGenerator"^^ ; - :propertyGroup . + :propertyGroup . local:hasOrganizerRoleContext a :ConfigContext ; :hasConfiguration local:hasOrganizerRoleConfig ; @@ -156,7 +156,7 @@ local:hasOrganizerRoleConfig a :ObjectPropertyDisplayConfig ; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddOrganizerRoleToPersonGenerator"^^ ; - :propertyGroup . + :propertyGroup . local:hasOutreachProviderRoleContext a :ConfigContext ; :hasConfiguration local:hasOutreachProviderRoleConfig ; @@ -169,7 +169,7 @@ local:hasOutreachProviderRoleConfig a :ObjectPropertyDisplayConfig ; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddOutreachProviderRoleToPersonGenerator"^^ ; - :propertyGroup . + :propertyGroup . local:hasAttendeeRoleContext a :ConfigContext ; :hasConfiguration local:hasAttendeeRoleConfig ; @@ -247,7 +247,7 @@ local:hasPresenterRoleConfig a :ObjectPropertyDisplayConfig ; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddPresenterRoleToPersonGenerator"^^ ; - :propertyGroup . + :propertyGroup . local:awardOrHonorContext a :ConfigContext ; :hasConfiguration local:awardOrHonorConfig ; @@ -273,7 +273,7 @@ local:educationalTrainingConfig a :ObjectPropertyDisplayConfig ; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasEducationalTraining"^^ ; - :propertyGroup . + :propertyGroup . local:informationResourceInAuthorshipContext a :ConfigContext ; :hasConfiguration local:informationResourceInAuthorshipConfig ; diff --git a/productMods/config/listViewConfig-hasInvestigatorRole.xml b/productMods/config/listViewConfig-hasInvestigatorRole.xml index 54131a60..98344214 100644 --- a/productMods/config/listViewConfig-hasInvestigatorRole.xml +++ b/productMods/config/listViewConfig-hasInvestigatorRole.xml @@ -82,7 +82,7 @@ { ?subject ?property ?role . ?role a ?objectType . - ?role <http://purl.obolibrary.org/obo/BFO_0000054>n ?activity . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity . ?activity rdfs:label ?activityLabel } } diff --git a/productMods/config/listViewConfig-hasRole.xml b/productMods/config/listViewConfig-hasRole.xml index 0d66740f..a3383212 100644 --- a/productMods/config/listViewConfig-hasRole.xml +++ b/productMods/config/listViewConfig-hasRole.xml @@ -22,7 +22,8 @@ ?objectType WHERE { ?subject ?property ?role . - ?role a ?objectType + ?role a ?objectType . + ?role vitro:mostSpecificType ?roleSubclass OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity LET (?activityName := afn:localname(?activity)) @@ -53,9 +54,7 @@ } } # NOT EXISTS { ?role core:hideFromDisplay ?hideThis } - - FILTER ( bound(?activity) ) - + FILTER ( bound(?activity) && ?objectType = ?roleSubclass ) } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName diff --git a/productMods/config/listViewConfig-informationResourceInAuthorship.xml b/productMods/config/listViewConfig-informationResourceInAuthorship.xml index ff635393..d7af9d7f 100644 --- a/productMods/config/listViewConfig-informationResourceInAuthorship.xml +++ b/productMods/config/listViewConfig-informationResourceInAuthorship.xml @@ -13,11 +13,13 @@ SELECT DISTINCT ?subclass ?authorship - ?person ?personName WHERE { - ?subject ?property ?authorship . - ?subject a core:Authorship - OPTIONAL { ?authorship core:authorRank ?rank } - OPTIONAL { ?authorship core:relates ?person . + ?person ?personName + WHERE { + ?subject ?property ?authorship . + ?authorship a core:Authorship + OPTIONAL { ?authorship core:authorRank ?rank } + OPTIONAL { ?authorship core:relates ?person . + ?person a foaf:Person . ?person rdfs:label ?personName OPTIONAL { ?person vitro:mostSpecificType ?subclass . @@ -44,10 +46,13 @@ PREFIX core: <http://vivoweb.org/ontology/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + PREFIX foaf: <http://xmlns.com/foaf/0.1/> CONSTRUCT { ?subject ?property ?authorship . ?authorship ?authorshipProperty ?authorshipValue . + ?authorship core:relates ?person . + ?person a foaf:Person . ?person rdfs:label ?personName . ?person vitro:mostSpecificType ?subclass } WHERE { @@ -58,11 +63,13 @@ ?authorship ?authorshipProperty ?authorshipValue } UNION { ?subject ?property ?authorship . - ?authorship core:relates ?person . + ?authorship core:relates ?person . + ?person a foaf:Person . ?person rdfs:label ?personName } UNION { ?subject ?property ?authorship . - ?authorship core:relates ?person . + ?authorship core:relates ?person . + ?person a foaf:Person . ?person rdfs:label ?personName . ?person vitro:mostSpecificType ?subclass } From 1743dc6dd54c3835350a67371505b437b583ce50 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Fri, 30 Aug 2013 17:04:59 -0400 Subject: [PATCH 24/66] support for edit permissions for qualified properties --- .../policy/SelfEditorRelationshipPolicy.java | 4 +- .../SelfEditorRelationshipPolicyTest.java | 45 ++++++++++--------- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/src/edu/cornell/mannlib/vivo/auth/policy/SelfEditorRelationshipPolicy.java b/src/edu/cornell/mannlib/vivo/auth/policy/SelfEditorRelationshipPolicy.java index 862c5fa9..9ac81ea7 100644 --- a/src/edu/cornell/mannlib/vivo/auth/policy/SelfEditorRelationshipPolicy.java +++ b/src/edu/cornell/mannlib/vivo/auth/policy/SelfEditorRelationshipPolicy.java @@ -70,8 +70,8 @@ public class SelfEditorRelationshipPolicy extends AbstractRelationshipPolicy return inconclusiveDecision("Not self-editing."); } - if (!canModifyPredicate(action.getPredicateUri())) { - return cantModifyPredicate(action.getPredicateUri()); + if (!canModifyPredicate(action.getPredicate())) { + return cantModifyPredicate(action.getPredicate().getURI()); } for (String resourceUri : action.getResourceUris()) { diff --git a/test/edu/cornell/mannlib/vivo/auth/policy/SelfEditorRelationshipPolicyTest.java b/test/edu/cornell/mannlib/vivo/auth/policy/SelfEditorRelationshipPolicyTest.java index 2abd52d6..855dd32d 100644 --- a/test/edu/cornell/mannlib/vivo/auth/policy/SelfEditorRelationshipPolicyTest.java +++ b/test/edu/cornell/mannlib/vivo/auth/policy/SelfEditorRelationshipPolicyTest.java @@ -38,6 +38,7 @@ import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestedAct import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.AddDataPropertyStatement; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.AddObjectPropertyStatement; import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.resource.AddResource; +import edu.cornell.mannlib.vitro.webapp.beans.Property; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; /** @@ -68,8 +69,12 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { private static final String URI_PERMITTED_PREDICATE = NS_PERMITTED + "permittedPredicate"; + private static final Property PERMITTED_PREDICATE = new Property( + URI_PERMITTED_PREDICATE); private static final String URI_RESTRICTED_PREDICATE = NS_RESTRICTED + "restrictedPredicate"; + private static final Property RESTRICTED_PREDICATE = new Property( + URI_RESTRICTED_PREDICATE); /** * Where the model statements are stored for this test. @@ -195,7 +200,7 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropSubjectIsRestricted() { action = new AddObjectPropertyStatement(ontModel, - URI_RESTRICTED_RESOURCE, URI_PERMITTED_PREDICATE, + URI_RESTRICTED_RESOURCE, PERMITTED_PREDICATE, URI_JOE_EDITED_IT); assertDecision(INCONCLUSIVE, policy.isAuthorized(idJoe, action)); } @@ -203,7 +208,7 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropPredicateIsRestricted() { action = new AddObjectPropertyStatement(ontModel, - URI_PERMITTED_RESOURCE, URI_RESTRICTED_PREDICATE, + URI_PERMITTED_RESOURCE, RESTRICTED_PREDICATE, URI_JOE_EDITED_IT); assertDecision(INCONCLUSIVE, policy.isAuthorized(idJoe, action)); } @@ -211,7 +216,7 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropObjectIsRestricted() { action = new AddObjectPropertyStatement(ontModel, URI_JOE_EDITED_IT, - URI_PERMITTED_PREDICATE, URI_RESTRICTED_RESOURCE); + PERMITTED_PREDICATE, URI_RESTRICTED_RESOURCE); assertDecision(INCONCLUSIVE, policy.isAuthorized(idJoe, action)); } @@ -282,14 +287,14 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropSubjectIsInfoResourceButNobodyIsSelfEditing() { action = new AddObjectPropertyStatement(ontModel, URI_JOE_EDITED_IT, - URI_PERMITTED_PREDICATE, URI_PERMITTED_RESOURCE); + PERMITTED_PREDICATE, URI_PERMITTED_RESOURCE); assertDecision(INCONCLUSIVE, policy.isAuthorized(idNobody, action)); } @Test public void objectPropSubjectIsInfoResourceButNoAuthorsOrEditorsOrFeatured() { action = new AddObjectPropertyStatement(ontModel, URI_NOBODY_WROTE_IT, - URI_PERMITTED_PREDICATE, URI_PERMITTED_RESOURCE); + PERMITTED_PREDICATE, URI_PERMITTED_RESOURCE); assertDecision(INCONCLUSIVE, policy.isAuthorized(idJoe, action)); assertDecision(INCONCLUSIVE, policy.isAuthorized(idBozoAndJoe, action)); } @@ -297,21 +302,21 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropSubjectIsInfoResourceButWrongAuthor() { action = new AddObjectPropertyStatement(ontModel, URI_BOZO_WROTE_IT, - URI_PERMITTED_PREDICATE, URI_PERMITTED_RESOURCE); + PERMITTED_PREDICATE, URI_PERMITTED_RESOURCE); assertDecision(INCONCLUSIVE, policy.isAuthorized(idJoe, action)); } @Test public void objectPropSubjectIsInfoResourceButWrongEditor() { action = new AddObjectPropertyStatement(ontModel, URI_BOZO_EDITED_IT, - URI_PERMITTED_PREDICATE, URI_PERMITTED_RESOURCE); + PERMITTED_PREDICATE, URI_PERMITTED_RESOURCE); assertDecision(INCONCLUSIVE, policy.isAuthorized(idJoe, action)); } @Test public void objectPropSubjectIsInfoResourceButWrongFeatured() { action = new AddObjectPropertyStatement(ontModel, - URI_BOZO_FEATURED_IN_IT, URI_PERMITTED_PREDICATE, + URI_BOZO_FEATURED_IN_IT, PERMITTED_PREDICATE, URI_PERMITTED_RESOURCE); assertDecision(INCONCLUSIVE, policy.isAuthorized(idJoe, action)); } @@ -319,7 +324,7 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropSubjectIsInfoResourceWithSelfEditingAuthor() { action = new AddObjectPropertyStatement(ontModel, URI_JOE_WROTE_IT, - URI_PERMITTED_PREDICATE, URI_PERMITTED_RESOURCE); + PERMITTED_PREDICATE, URI_PERMITTED_RESOURCE); assertDecision(AUTHORIZED, policy.isAuthorized(idJoe, action)); assertDecision(AUTHORIZED, policy.isAuthorized(idBozoAndJoe, action)); } @@ -327,7 +332,7 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropSubjectIsInfoResourceWithSelfEditingEditor() { action = new AddObjectPropertyStatement(ontModel, URI_JOE_EDITED_IT, - URI_PERMITTED_PREDICATE, URI_PERMITTED_RESOURCE); + PERMITTED_PREDICATE, URI_PERMITTED_RESOURCE); assertDecision(AUTHORIZED, policy.isAuthorized(idJoe, action)); assertDecision(AUTHORIZED, policy.isAuthorized(idBozoAndJoe, action)); } @@ -335,7 +340,7 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropSubjectIsInfoResourceWithSelfEditingFeatured() { action = new AddObjectPropertyStatement(ontModel, - URI_JOE_FEATURED_IN_IT, URI_PERMITTED_PREDICATE, + URI_JOE_FEATURED_IN_IT, PERMITTED_PREDICATE, URI_PERMITTED_RESOURCE); assertDecision(AUTHORIZED, policy.isAuthorized(idJoe, action)); assertDecision(AUTHORIZED, policy.isAuthorized(idBozoAndJoe, action)); @@ -344,7 +349,7 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropObjectIsInfoResourcebutNobodyIsSelfEditing() { action = new AddObjectPropertyStatement(ontModel, - URI_PERMITTED_RESOURCE, URI_PERMITTED_PREDICATE, + URI_PERMITTED_RESOURCE, PERMITTED_PREDICATE, URI_JOE_EDITED_IT); assertDecision(INCONCLUSIVE, policy.isAuthorized(idNobody, action)); } @@ -352,7 +357,7 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropObjectIsInfoResourceButNoAuthorsOrEditors() { action = new AddObjectPropertyStatement(ontModel, - URI_PERMITTED_RESOURCE, URI_PERMITTED_PREDICATE, + URI_PERMITTED_RESOURCE, PERMITTED_PREDICATE, URI_NOBODY_WROTE_IT); assertDecision(INCONCLUSIVE, policy.isAuthorized(idJoe, action)); assertDecision(INCONCLUSIVE, policy.isAuthorized(idBozoAndJoe, action)); @@ -361,7 +366,7 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropObjectIsInfoResourceButWrongAuthor() { action = new AddObjectPropertyStatement(ontModel, - URI_PERMITTED_RESOURCE, URI_PERMITTED_PREDICATE, + URI_PERMITTED_RESOURCE, PERMITTED_PREDICATE, URI_BOZO_WROTE_IT); assertDecision(INCONCLUSIVE, policy.isAuthorized(idJoe, action)); } @@ -369,7 +374,7 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropObjectIsInfoResourceButWrongEditor() { action = new AddObjectPropertyStatement(ontModel, - URI_PERMITTED_RESOURCE, URI_PERMITTED_PREDICATE, + URI_PERMITTED_RESOURCE, PERMITTED_PREDICATE, URI_BOZO_EDITED_IT); assertDecision(INCONCLUSIVE, policy.isAuthorized(idJoe, action)); } @@ -377,7 +382,7 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropObjectIsInfoResourceButWrongFeatured() { action = new AddObjectPropertyStatement(ontModel, - URI_PERMITTED_RESOURCE, URI_PERMITTED_PREDICATE, + URI_PERMITTED_RESOURCE, PERMITTED_PREDICATE, URI_BOZO_FEATURED_IN_IT); assertDecision(INCONCLUSIVE, policy.isAuthorized(idJoe, action)); } @@ -385,7 +390,7 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropObjectIsInfoResourceWithSelfEditingAuthor() { action = new AddObjectPropertyStatement(ontModel, - URI_PERMITTED_RESOURCE, URI_PERMITTED_PREDICATE, + URI_PERMITTED_RESOURCE, PERMITTED_PREDICATE, URI_JOE_WROTE_IT); assertDecision(AUTHORIZED, policy.isAuthorized(idJoe, action)); assertDecision(AUTHORIZED, policy.isAuthorized(idBozoAndJoe, action)); @@ -394,7 +399,7 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropObjectIsInfoResourceWithSelfEditingEditor() { action = new AddObjectPropertyStatement(ontModel, - URI_PERMITTED_RESOURCE, URI_PERMITTED_PREDICATE, + URI_PERMITTED_RESOURCE, PERMITTED_PREDICATE, URI_JOE_EDITED_IT); assertDecision(AUTHORIZED, policy.isAuthorized(idJoe, action)); assertDecision(AUTHORIZED, policy.isAuthorized(idBozoAndJoe, action)); @@ -403,7 +408,7 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropObjectIsInfoResourceWithSelfEditingFeatured() { action = new AddObjectPropertyStatement(ontModel, - URI_PERMITTED_RESOURCE, URI_PERMITTED_PREDICATE, + URI_PERMITTED_RESOURCE, PERMITTED_PREDICATE, URI_JOE_FEATURED_IN_IT); assertDecision(AUTHORIZED, policy.isAuthorized(idJoe, action)); assertDecision(AUTHORIZED, policy.isAuthorized(idBozoAndJoe, action)); @@ -423,7 +428,7 @@ public class SelfEditorRelationshipPolicyTest extends AbstractTestClass { @Test public void objectPropNeitherSubjectOrObjectIsInfoResource() { action = new AddObjectPropertyStatement(ontModel, - URI_PERMITTED_RESOURCE, URI_PERMITTED_PREDICATE, + URI_PERMITTED_RESOURCE, PERMITTED_PREDICATE, URI_PERMITTED_RESOURCE); assertDecision(INCONCLUSIVE, policy.isAuthorized(idJoe, action)); } From 722307358f505042e3ef986e1c52d5710d9384e0 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Tue, 3 Sep 2013 09:01:22 -0400 Subject: [PATCH 25/66] subclasses of skos:Concept --- .../WEB-INF/filegraph/tbox/skos-vivo.owl | 266 ++++++++++++++++++ 1 file changed, 266 insertions(+) create mode 100644 productMods/WEB-INF/filegraph/tbox/skos-vivo.owl diff --git a/productMods/WEB-INF/filegraph/tbox/skos-vivo.owl b/productMods/WEB-INF/filegraph/tbox/skos-vivo.owl new file mode 100644 index 00000000..8d3d1b3e --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/skos-vivo.owl @@ -0,0 +1,266 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + document status + + The status of a document with respect to its publication. + The status of a document with respect to its publication. The statuses are represented as individuals of this class. Use the "show all individuals of this class" button on the class control panel to see the currently defined statuses. + http://purl.org/ontology/bibo/ + submitted; accepted; in-press; published; invited; refereed. + stable + The status of the publication of a document. + + + + + + + + Thesis Degree + + Different from general academic degree, thesis degree is achieved through one's completed thesis. Thesis is a document submitted in support of candidature for a degree or professional qualification presenting the author's research and findings(http://en.wikipedia.org/wiki/Thesis_or_dissertation). + Doctor of Philosophy (Ph.D.) + The academic degree of a Thesis. + http://purl.org/ontology/bibo/ + The academic degree of a Thesis + stable + + + + + + + + academic degree + + An academic degree at any level, both as reported by individuals for employment and as offered by academic degree programs. + B.A. Bachelor of Arts + This list may have multiple abbreviations for some degrees. + + + + + + + + award or honor + + An Award or Honor + An Award or Honor + Wiley Prize in Biomedical Sciences + + + + + + + + Certificate + + A document confirming certain characteristics of a person or organization, usually provided by some form of external review, education, or assessment. + A document confirming certain characteristics of a person or organization, usually provided by some form of external review, education, or assessment. + + + + + + + + credential + + An attestation of qualification, competence, or authority issued to an individual by a third party with a relevant or de facto authority or assumed competence to do so. + An attestation of qualification, competence, or authority issued to an individual by a third party with a relevant or de facto authority or assumed competence to do so. + + + + + + + + date/time value precision + + Indicates the precision of the value of a DateTimeValue instance. + + + + + + + + License + + Licenses are usually issued in order to regulate some activity that is deemed to be dangerous or a threat to the person or the public or which involves a high level of specialized skill. See also core:Licensure. + Official or legal permission to do something + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 508f88a7c55bc6d0343723e113d4f6f3602244c0 Mon Sep 17 00:00:00 2001 From: j2blake Date: Tue, 3 Sep 2013 17:07:31 -0400 Subject: [PATCH 26/66] VIVO-272 Refactor scripts: get_permission_and_go() --- utilities/releaseScripts/2_create_branches.rb | 11 +---- utilities/releaseScripts/3_create_tags.rb | 10 +---- utilities/releaseScripts/4_extract_files.rb | 14 ++---- .../releaseScripts/5_insert_revision_info.rb | 14 ++---- .../6_create_distribution_files.rb | 15 +------ utilities/releaseScripts/7_merge_to_master.rb | 10 +---- utilities/releaseScripts/_common.rb | 44 +++++++++++++++++-- 7 files changed, 52 insertions(+), 66 deletions(-) diff --git a/utilities/releaseScripts/2_create_branches.rb b/utilities/releaseScripts/2_create_branches.rb index f938b8cb..b5eb1215 100644 --- a/utilities/releaseScripts/2_create_branches.rb +++ b/utilities/releaseScripts/2_create_branches.rb @@ -38,21 +38,14 @@ begin vivo_path = Settings.vivo_path vitro_path = Settings.vitro_path + raise BadState.new("Branches are not created for test candidates.") if is_test_candidate?() raise BadState.new("Branch #{branch} already exists in VIVO.") if branch_exists?(vivo_path, branch) raise BadState.new("Branch #{branch} already exists in Vitro.") if branch_exists?(vitro_path, branch) - puts - yn = prompt("OK to create branches named '#{branch}' (y/n)") - if yn.downcase == 'y' - puts + get_permission_and_go("OK to create branches named '#{branch}'?") do puts "Creating branches" create_branch(vivo_path, branch) create_branch(vitro_path, branch) - puts - else - puts - puts "OK - forget it." - puts end rescue BadState puts "#{$!.message} - Aborting." diff --git a/utilities/releaseScripts/3_create_tags.rb b/utilities/releaseScripts/3_create_tags.rb index e19c7c01..f20cf77e 100644 --- a/utilities/releaseScripts/3_create_tags.rb +++ b/utilities/releaseScripts/3_create_tags.rb @@ -52,18 +52,10 @@ begin raise BadState.new("Tag #{tag} already exists in VIVO.") if tag_exists?(vivo_path, tag) raise BadState.new("Tag #{tag} already exists in Vitro.") if tag_exists?(vitro_path, tag) - puts - yn = prompt("OK to create tags named '#{tag}' '#{message}' (y/n)") - if yn.downcase == 'y' - puts + get_permission_and_go("OK to create tags named '#{tag}' '#{message}'?") do puts "Creating tags" create_tag(vivo_path, branch, tag, message) create_tag(vitro_path, branch, tag, message) - puts - else - puts - puts "OK - forget it." - puts end rescue BadState puts "#{$!.message} - Aborting." diff --git a/utilities/releaseScripts/4_extract_files.rb b/utilities/releaseScripts/4_extract_files.rb index 6ae3c478..6b480338 100644 --- a/utilities/releaseScripts/4_extract_files.rb +++ b/utilities/releaseScripts/4_extract_files.rb @@ -47,22 +47,14 @@ begin raise BadState.new("Tag #{tag} doesn't exist in Vitro.") unless tag_exists?(vitro_path, tag) if File.directory?(export_dir) - p = "OK to overwrite export area at #{export_dir} ? (y/n)" + p = "OK to overwrite export area at #{export_dir} ?" else - p = "OK to create export area at #{export_dir} ? (y/n)" + p = "OK to create export area at #{export_dir} ?" end - puts - yn = prompt(p) - if yn.downcase == 'y' - puts + get_permission_and_go(p) do puts "Building export area" export_files(vivo_path, vitro_path, tag, export_dir) - puts - else - puts - puts "OK - forget it." - puts end rescue BadState puts "#{$!.message} - Aborting." diff --git a/utilities/releaseScripts/5_insert_revision_info.rb b/utilities/releaseScripts/5_insert_revision_info.rb index 92672421..ada08700 100644 --- a/utilities/releaseScripts/5_insert_revision_info.rb +++ b/utilities/releaseScripts/5_insert_revision_info.rb @@ -47,23 +47,15 @@ begin raise BadState.new("Files have not been exported to #{export_dir}") unless File.directory?(export_dir) if File.exist?(vivo_revision_info_path) || File.exist?(vitro_revision_info_path) - p = "OK to overwrite revision_info at these paths? \n #{vivo_revision_info_path} \n #{vitro_revision_info_path} ? (y/n)" + p = "OK to overwrite revision_info at these paths? \n #{vivo_revision_info_path} \n #{vitro_revision_info_path} ?" else - p = "OK to write revision_info at these paths? \n #{vivo_revision_info_path} \n #{vitro_revision_info_path} ? (y/n)" + p = "OK to write revision_info at these paths? \n #{vivo_revision_info_path} \n #{vitro_revision_info_path} ?" end - puts - yn = prompt(p) - if yn.downcase == 'y' - puts + get_permission_and_go(p) do puts "Building revision info" create_revision_info(vivo_path, vivo_revision_info_path, tag) create_revision_info(vitro_path, vitro_revision_info_path, tag) - puts - else - puts - puts "OK - forget it." - puts end rescue BadState puts "#{$!.message} - Aborting." diff --git a/utilities/releaseScripts/6_create_distribution_files.rb b/utilities/releaseScripts/6_create_distribution_files.rb index 1bd67d77..8c4e9013 100644 --- a/utilities/releaseScripts/6_create_distribution_files.rb +++ b/utilities/releaseScripts/6_create_distribution_files.rb @@ -50,23 +50,10 @@ begin raise BadState.new("Revision information file does not exist at #{vivo_revision_info_path}") unless File.exist?(vivo_revision_info_path) raise BadState.new("Revision information file does not exist at #{vitro_revision_info_path}") unless File.exist?(vitro_revision_info_path) - if File.exist?(vivo_revision_info_path) || File.exist?(vitro_revision_info_path) - p = "OK to overwrite revision_info at these paths? \n #{vivo_revision_info_path} \n #{vitro_revision_info_path} ? (y/n)" - else - p = "OK to write revision_info at these paths? \n #{vivo_revision_info_path} \n #{vitro_revision_info_path} ? (y/n)" - end - puts - yn = prompt("OK to create distribution files in #{export_dir} ? (y/n)") - if yn.downcase == 'y' - puts + get_permission_and_go("OK to create distribution files in #{export_dir} ?") do puts "Creating distribution files" create_distribution_files(export_dir, vivo_filename, vitro_filename) - puts - else - puts - puts "OK - forget it." - puts end rescue BadState puts "#{$!.message} - Aborting." diff --git a/utilities/releaseScripts/7_merge_to_master.rb b/utilities/releaseScripts/7_merge_to_master.rb index 1e7ea1df..674013f0 100644 --- a/utilities/releaseScripts/7_merge_to_master.rb +++ b/utilities/releaseScripts/7_merge_to_master.rb @@ -47,18 +47,10 @@ begin raise BadState.new("Branch #{branch} doesn't exist in VIVO.") unless branch_exists?(vivo_path, branch) raise BadState.new("Branch #{branch} doesn't exist in Vitro.") unless branch_exists?(vitro_path, branch) - puts - yn = prompt("OK to merge the #{tag} tags to the master branches? (y/n)") - if yn.downcase == 'y' - puts + get_permission_and_go("OK to merge the #{tag} tags to the master branches?") do puts "Merging tags" merge_branch_to_master(branch, tag, message, vivo_path) merge_branch_to_master(branch, tag, message, vitro_path) - puts - else - puts - puts "OK - forget it." - puts end rescue BadState puts "#{$!.message} - Aborting." diff --git a/utilities/releaseScripts/_common.rb b/utilities/releaseScripts/_common.rb index 9b891415..b175b3e1 100644 --- a/utilities/releaseScripts/_common.rb +++ b/utilities/releaseScripts/_common.rb @@ -23,6 +23,10 @@ end # class Settings + # + # The settings themselves: getters, setters, and validators. + # + def self.base_directory `git config --get --global vivo.release.basedirectory`.strip end @@ -102,10 +106,15 @@ class Settings # # The name of the maintenance branch. Looks like "maint-rel-4.2" even for releases like "4.2.1" + # Test candidates for major releases are built on the develop branch. def self.branch_name - label = Settings.confirm_release_label(Settings.release_label) - major_release = label[0..2] - "maint-rel-#{major_release}" + if is_test_candidate?() + "develop" + else + release_label = Settings.confirm_release_label(Settings.release_label) + major_release = release_label[0..2] + "maint-rel-#{major_release}" + end end # The name of the Git tag. Looks like "rel-1.9-tc2" or "rel-1.9" (for final) @@ -165,6 +174,20 @@ class Settings end end +# +# ------------------------------------------------------------------------------------ +# Confirmation methods. +# ------------------------------------------------------------------------------------ +# + +def is_test_candidate?() + Settings.confirm_candidate_label(Settings.candidate_label)[0..0] == 't' +end + +def is_final_release?() + Settings.confirm_candidate_label(Settings.candidate_label) == 'final' +end + # # ------------------------------------------------------------------------------------ # General-purpose methods. @@ -181,6 +204,20 @@ def echo_command(c) `#{c}` end +def get_permission_and_go(p) + puts + yn = prompt("#{p} (y/n)") + if yn.downcase == 'y' + puts + yield + puts + else + puts + puts "OK - forget it." + puts + end +end + def approve_and_execute(cmds, prompt="") if prompt.empty? puts "Execute these commands?" @@ -211,3 +248,4 @@ def tag_exists?(dir, tag) !`git tag --list #{tag}`.strip.empty? end end + From 5d2e44c08f36e55f9f421b565275f147b048fd93 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Wed, 4 Sep 2013 10:01:11 -0400 Subject: [PATCH 27/66] property link suppression annotations --- .../WEB-INF/filegraph/tbox/linkSuppression.n3 | 12 ++++++++++ .../app/loadedAtStartup/PropertyConfigSupp.n3 | 22 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 productMods/WEB-INF/filegraph/tbox/linkSuppression.n3 create mode 100644 productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfigSupp.n3 diff --git a/productMods/WEB-INF/filegraph/tbox/linkSuppression.n3 b/productMods/WEB-INF/filegraph/tbox/linkSuppression.n3 new file mode 100644 index 00000000..74cf53bd --- /dev/null +++ b/productMods/WEB-INF/filegraph/tbox/linkSuppression.n3 @@ -0,0 +1,12 @@ +@prefix core: . +@prefix config: . +@prefix xsd: . + +core:webpageOf config:addLinkSuppressed "true"^^xsd:boolean . +core:webpageOf config:editLinkSuppressed "true"^^xsd:boolean . +core:webpageOf config:deleteLinkSuppressed "true"^^xsd:boolean . +core:webpage config:deleteLinkSuppressed "true"^^xsd:boolean . +core:hasResearchArea config:deleteLinkSuppressed "true"^^xsd:boolean . +core:researchAreaOf config:deleteLinkSuppressed "true"^^xsd:boolean . +core:hasSubjectArea config:deleteLinkSuppressed "true"^^xsd:boolean . +core:subjectAreaFor config:deleteLinkSuppressed "true"^^xsd:boolean . diff --git a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfigSupp.n3 b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfigSupp.n3 new file mode 100644 index 00000000..86a5fcbe --- /dev/null +++ b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfigSupp.n3 @@ -0,0 +1,22 @@ +@prefix xsd: . +@prefix owl: . +@prefix : . +@prefix display: . +@prefix rdf: . +@prefix rdfs: . +@prefix datagetter: . +@prefix vitro: . +@prefix role: . +@prefix local: . +@prefix vivo: . + +@base . + + +# warning: don't use blank nodes; the display model doesn't currently support them. + +local:authorInAuthorshipConfig a :ObjectPropertyDisplayConfig ; + :deleteLinkSuppressed "true"^^xsd:boolean . + +local:informationResourceInAuthorshipConfig a :ObjectPropertyDisplayConfig ; + :deleteLinkSuppressed "true"^^xsd:boolean . From 14ddc381772e9541c3547116075f152806f3fb36 Mon Sep 17 00:00:00 2001 From: hudajkhan Date: Wed, 4 Sep 2013 12:21:54 -0400 Subject: [PATCH 28/66] updates for concept semantic type in external vocab search --- .../AddAssociatedConceptGenerator.java | 70 ++++++++++++++++--- .../AddAssociatedConceptsPreprocessor.java | 10 +-- 2 files changed, 66 insertions(+), 14 deletions(-) diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java index a867a91e..9b9ce7f5 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java @@ -17,8 +17,16 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.hp.hpl.jena.ontology.OntModel; +import com.hp.hpl.jena.query.Query; +import com.hp.hpl.jena.query.QueryExecution; +import com.hp.hpl.jena.query.QueryExecutionFactory; +import com.hp.hpl.jena.query.QueryFactory; +import com.hp.hpl.jena.query.QuerySolution; +import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.Resource; +import com.hp.hpl.jena.vocabulary.OWL; import com.hp.hpl.jena.vocabulary.RDF; import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.XSD; @@ -34,6 +42,7 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUti import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.AddAssociatedConceptsPreprocessor; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.ConceptSemanticTypesPreprocessor; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; import edu.cornell.mannlib.vitro.webapp.utils.ConceptSearchService.ConceptSearchServiceUtils; /** @@ -86,7 +95,9 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements setTemplate(editConfiguration, vreq); // No validators required here // Add preprocessors - addPreprocessors(editConfiguration, ModelAccess.on(vreq).getJenaOntModel()); + addPreprocessors(editConfiguration, + ModelAccess.on(vreq).getJenaOntModel(), + ModelAccess.on(vreq).getOntModelSelector().getTBoxModel()); // Adding additional data, specifically edit mode addFormSpecificData(editConfiguration, vreq); // One override for basic functionality, changing url pattern @@ -324,7 +335,7 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements //Add preprocessor - private void addPreprocessors(EditConfigurationVTwo editConfiguration, OntModel ontModel) { + private void addPreprocessors(EditConfigurationVTwo editConfiguration, OntModel ontModel, OntModel modelChangeModel) { //An Edit submission preprocessor for enabling addition of multiple terms for a single search //TODO: Check if this is the appropriate way of getting model @@ -332,6 +343,8 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements editConfiguration.addEditSubmissionPreprocessor( new AddAssociatedConceptsPreprocessor(editConfiguration, ontModel)); + editConfiguration.addModelChangePreprocessor(new ConceptSemanticTypesPreprocessor( + modelChangeModel)); } @@ -417,14 +430,15 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements String conceptSemanticTypeURI = null; String conceptSemanticTypeLabel = null; //Can a concept have multiple semantic types? Currently we are only returning the first one + //TODO: Change this into a sparql query that returns all types for the concept that are subclasses of SKOS concepts + HashMap typeAndLabel = this.getConceptSemanticTypeQueryResults(conceptIndividual.getURI(), ModelAccess.on(vreq).getJenaOntModel()); + if(typeAndLabel.containsKey("semanticTypeURI")) { + conceptSemanticTypeURI = typeAndLabel.get("semanticTypeURI"); + } + if(typeAndLabel.containsKey("semanticTypeLabel")) { + conceptSemanticTypeLabel = typeAndLabel.get("semanticTypeLabel"); + } - List semanticTypeStatements = conceptIndividual.getObjectPropertyStatements(VIVOCore + "hasConceptSemanticType"); - if(semanticTypeStatements.size() > 0) { - conceptSemanticTypeURI = semanticTypeStatements.get(0).getObjectURI(); - Individual conceptSemanticTypeIndividual = EditConfigurationUtils.getIndividual(vreq, conceptSemanticTypeURI); - conceptSemanticTypeLabel = conceptSemanticTypeIndividual.getName(); - } - //get label //Assuming this is from an external vocabulary source info.add(new AssociatedConceptInfo(conceptLabel, conceptUri, vocabSource, vocabLabel, null, conceptSemanticTypeURI, conceptSemanticTypeLabel)); @@ -434,6 +448,44 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements return info; } + private HashMap getConceptSemanticTypeQueryResults(String conceptURI, OntModel ontModel) { + HashMap typeAndLabel = new HashMap(); + String queryStr = "SELECT ?semanticTypeURI ?semanticTypeLabel WHERE { " + + "<" + conceptURI + "> <" + RDF.type.getURI() + "> ?semanticTypeURI . " + + "?semanticTypeURI <" + RDFS.subClassOf.getURI() + "> <" + this.SKOSConceptType + ">. " + + "?semanticTypeURI <" + RDFS.label.getURI() + "> ?semanticTypeLabel ." + + "}"; + QueryExecution qe = null; + try{ + Query query = QueryFactory.create(queryStr); + qe = QueryExecutionFactory.create(query, ontModel); + ResultSet results = null; + results = qe.execSelect(); + + while( results.hasNext()){ + QuerySolution qs = results.nextSolution(); + if(qs.get("semanticTypeURI") != null) { + Resource semanticTypeURI = qs.getResource("semanticTypeURI"); + log.debug("Semantic Type URI returned " + semanticTypeURI.getURI()); + typeAndLabel.put("semanticTypeURI", semanticTypeURI.getURI()); + } + if(qs.get("semanticTypeLabel") != null) { + Literal semanticTypeLabel = qs.getLiteral("semanticTypeLabel"); + log.debug("Semantic Type label returned " + semanticTypeLabel.getString()); + typeAndLabel.put("semanticTypeLabel", semanticTypeLabel.getString()); + } + + + } + }catch(Exception ex){ + throw new Error("Error in executing query string: \n" + queryStr + '\n' + ex.getMessage()); + }finally{ + if( qe != null) + qe.close(); + } + return typeAndLabel; + } + public class AssociatedConceptInfo { private String conceptLabel; private String conceptURI; diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java index d3fbea33..b4429094 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java @@ -21,6 +21,7 @@ import com.hp.hpl.jena.query.QuerySolution; import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.rdf.model.Resource; +import com.hp.hpl.jena.vocabulary.OWL; import com.hp.hpl.jena.vocabulary.RDF; import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.XSD; @@ -469,10 +470,9 @@ public class AddAssociatedConceptsPreprocessor extends n3String += node + " <" + RDFS.label.getURI() + "> " + label + " .\n" + node + " <" + RDFS.isDefinedBy.getURI() + "> " + source + " ."; String n3ConceptTypeString = prefixStr; - n3ConceptTypeString += node + " core:hasConceptSemanticType " + conceptSemanticTypeURI + " ." + - conceptSemanticTypeURI + " core:isConceptSemanticTypeOf " + node + ". " + - conceptSemanticTypeURI + " <" + RDFS.label.getURI() + "> " + conceptSemanticTypeLabel + " .\n" + - conceptSemanticTypeURI + " <" + RDF.type.getURI() + "> core:ConceptSemanticType .\n" ; + n3ConceptTypeString += node + " <" + RDF.type.getURI() + "> " + conceptSemanticTypeURI + " ." + + conceptSemanticTypeURI + " <" + RDFS.label.getURI() + "> " + conceptSemanticTypeLabel + " .\n" + + conceptSemanticTypeURI + " <" + RDFS.subClassOf.getURI() + "> .\n" ; n3Optional.add(n3String); //adding separately so their resolution does not depend on each other @@ -630,7 +630,7 @@ public class AddAssociatedConceptsPreprocessor extends } private String getExistingSemanticTypeURI(String label) { - String queryStr = "SELECT ?semanticType WHERE { ?semanticType <" + RDF.type.getURI() + "> . " + + String queryStr = "SELECT ?semanticType WHERE { ?semanticType <" + RDF.type.getURI() + "> <" + OWL.Class.getURI() + "> . " + "?semanticType <" + RDFS.label.getURI() + "> \"" + label + "\"^^ . }"; QueryExecution qe = null; try{ From a9ebf8f94b2cd439a94ffba35a5fa16c58d2e5dd Mon Sep 17 00:00:00 2001 From: hudajkhan Date: Thu, 5 Sep 2013 15:45:49 -0400 Subject: [PATCH 29/66] updates for concept search and label management --- .../filegraph/tbox/ConceptSemanticType.owl | 47 ------- productMods/images/individual/manage-icon.png | Bin 442 -> 0 bytes .../individual--foaf-person-2column.ftl | 5 +- .../individual--foaf-person-quickview.ftl | 5 +- .../manageLabelsForIndividualTerms.ftl | 4 + .../edit/forms/addAssociatedConcept.ftl | 3 + rdf/abox/filegraph/vocabularySource.n3 | 5 +- rdf/abox/firsttime/vocabularySource-labels.n3 | 3 - .../AddAssociatedConceptGenerator.java | 42 +++--- .../AddAssociatedConceptsPreprocessor.java | 2 + .../ConceptSemanticTypesPreprocessor.java | 125 ++++++++++++++++++ themes/wilma/i18n/all.properties | 1 - .../templates/individual--foaf-person.ftl | 5 +- 13 files changed, 171 insertions(+), 76 deletions(-) delete mode 100644 productMods/WEB-INF/filegraph/tbox/ConceptSemanticType.owl delete mode 100644 productMods/images/individual/manage-icon.png create mode 100644 productMods/templates/freemarker/body/individual/manageLabelsForIndividualTerms.ftl delete mode 100644 rdf/abox/firsttime/vocabularySource-labels.n3 create mode 100644 src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ConceptSemanticTypesPreprocessor.java diff --git a/productMods/WEB-INF/filegraph/tbox/ConceptSemanticType.owl b/productMods/WEB-INF/filegraph/tbox/ConceptSemanticType.owl deleted file mode 100644 index 04ab3d10..00000000 --- a/productMods/WEB-INF/filegraph/tbox/ConceptSemanticType.owl +++ /dev/null @@ -1,47 +0,0 @@ - - - 0.7 - - - - Semantic Type for given concept, for example UMLS's type returned for concepts - Semantic Type for given concept, for example UMLS's type returned for concepts. - - Concept Semantic Type - - - - - - - - diff --git a/productMods/images/individual/manage-icon.png b/productMods/images/individual/manage-icon.png deleted file mode 100644 index 18ab57568ac41b966310fb3d4a49d01ec26b1007..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 442 zcmV;r0Y(0aP)II%X%=)f=|b;ts6j8F*SVX<{f~-$7it|P;nuY{f7cOVRrNb@grg^ z)&*iGDn{!rWQ(!JF(V@*%@P&NJ{BDD5ecL;f%rQW?c@aF>p;95Ur=WPF+UAFY!9=T z35SAEG{2qv3 zQrY55$R!{Po?y8N#7anFYoV@Y2I6QSmcXJ9Bamu_vs+0pb}z z{0ho9#9=YWSBs!*K_K>rIurzMBP(RWWAOvzQWRRX2|yjAheMAMw0s8@K2=DTenU^N z_$+>kUQGkB5D@zTu?P-5!ccV}-?|}*zXswr#0K?qAf5umvPfbdfp{;}AY9-S5Pt&V kjYwkqf%qS?B7gt`051qma(^>G%m4rY07*qoM6N<$f}_l>>Hq)$ diff --git a/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl b/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl index d3a63df8..b50f47af 100644 --- a/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl +++ b/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl @@ -10,6 +10,9 @@ <#if !labelCount??> <#assign labelCount = 0 > +<#if !localesCount??> + <#assign localesCount = 1> + <#assign qrCodeIcon = "qr-code-icon.png"> <#assign visRequestingTemplate = "foaf-person-2column">
@@ -40,7 +43,7 @@ <#else>

style="float:left;border-right:1px solid #A6B1B0;"> <#-- Label --> - <@p.label individual editable labelCount/> + <@p.label individual editable labelCount localesCount/>

<#-- Display preferredTitle if it exists; otherwise mostSpecificTypes --> <#assign title = propertyGroups.pullProperty("${core}preferredTitle")!> diff --git a/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl b/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl index 810250b5..006f1f8e 100644 --- a/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl +++ b/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl @@ -12,6 +12,9 @@ <#if !labelCount??> <#assign labelCount = 0 > +<#if !localesCount??> + <#assign localesCount = 1> + <#assign qrCodeIcon = "qr-code-icon.png"> <#assign individualImage> <@p.image individual=individual @@ -52,7 +55,7 @@
${individualImage}

style="float:left;border-right:1px solid #A6B1B0;"> <#-- Label --> - <@p.label individual editable labelCount/> + <@p.label individual editable labelCount localesCount/>

<#-- Display preferredTitle if it exists; otherwise mostSpecificTypes --> <#assign title = propertyGroups.pullProperty("${core}preferredTitle")!> diff --git a/productMods/templates/freemarker/body/individual/manageLabelsForIndividualTerms.ftl b/productMods/templates/freemarker/body/individual/manageLabelsForIndividualTerms.ftl new file mode 100644 index 00000000..cca1dcb6 --- /dev/null +++ b/productMods/templates/freemarker/body/individual/manageLabelsForIndividualTerms.ftl @@ -0,0 +1,4 @@ +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> + +<#--Some values for labels etc. may be different between vitro and other systems --> +<#assign returnText = "${i18n().return_to_profile}" /> \ No newline at end of file diff --git a/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl b/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl index f08e0f35..bacdf43f 100644 --- a/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl +++ b/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl @@ -51,6 +51,9 @@ <#if existingConcept.vocabURI?has_content && existingConcept.vocabLabel?has_content> (${existingConcept.vocabLabel}) + <#if existingConcept.conceptSemanticTypeLabel?has_content> + ${existingConcept.conceptSemanticTypeLabel} +  ${i18n().remove_capitalized} diff --git a/rdf/abox/filegraph/vocabularySource.n3 b/rdf/abox/filegraph/vocabularySource.n3 index 97690dd7..a111d896 100644 --- a/rdf/abox/filegraph/vocabularySource.n3 +++ b/rdf/abox/filegraph/vocabularySource.n3 @@ -1,3 +1,6 @@ . . - . \ No newline at end of file + . + "UMLS"^^ . + "AGROVOC"^^ . + "GEMET"^^ . \ No newline at end of file diff --git a/rdf/abox/firsttime/vocabularySource-labels.n3 b/rdf/abox/firsttime/vocabularySource-labels.n3 deleted file mode 100644 index a0a7966e..00000000 --- a/rdf/abox/firsttime/vocabularySource-labels.n3 +++ /dev/null @@ -1,3 +0,0 @@ - "UMLS"^^ . - "AGROVOC"^^ . - "GEMET"^^ . \ No newline at end of file diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java index 9b9ce7f5..23f4e1bf 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java @@ -396,37 +396,38 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements } + //To determine whether or not a concept is a user generated or one from an external vocab source. + //we cannot rely on whether or not it is a skos concept because incorporating UMLS semantic network classes as + //SKOS concept subclasses means that even concepts from an external vocab source might be considered SKOS concepts + //Instead, we will simply determine whether a concept is defined by an external vocabulary source and use that + //as the primary indicator of whether a concept is from an external vocabulary source or a user generated concept private List getAssociatedConceptInfo( List concepts, VitroRequest vreq) { List info = new ArrayList(); for ( Individual conceptIndividual : concepts ) { - boolean isSKOSConcept = false; + boolean userGenerated = true; + //Note that this isn't technically String conceptUri = conceptIndividual.getURI(); String conceptLabel = conceptIndividual.getName(); - //Check if SKOS Concept type - List osl = conceptIndividual.getObjectPropertyStatements(RDF.type.getURI()); - for(ObjectPropertyStatement os: osl) { - if(os.getObjectURI().equals(SKOSConceptType)) { - isSKOSConcept = true; - break; - } - } + //Check if defined by an external vocabulary source + List vocabList = conceptIndividual.getObjectPropertyStatements(RDFS.isDefinedBy.getURI()); + String vocabSource = null; + String vocabLabel = null; + if(vocabList != null && vocabList.size() > 0) { + userGenerated = false; + vocabSource = vocabList.get(0).getObjectURI(); + Individual sourceIndividual = EditConfigurationUtils.getIndividual(vreq, vocabSource); + //Assuming name will get label + vocabLabel = sourceIndividual.getName(); + } + - if(isSKOSConcept) { + + if(userGenerated) { //if the concept in question is skos - which would imply a user generated concept info.add(new AssociatedConceptInfo(conceptLabel, conceptUri, null, null, SKOSConceptType, null, null)); } else { - //Get the vocab source and vocab label - List vocabList = conceptIndividual.getObjectPropertyStatements(RDFS.isDefinedBy.getURI()); - String vocabSource = null; - String vocabLabel = null; - if(vocabList != null && vocabList.size() > 0) { - vocabSource = vocabList.get(0).getObjectURI(); - Individual sourceIndividual = EditConfigurationUtils.getIndividual(vreq, vocabSource); - //Assuming name will get label - vocabLabel = sourceIndividual.getName(); - } String conceptSemanticTypeURI = null; String conceptSemanticTypeLabel = null; //Can a concept have multiple semantic types? Currently we are only returning the first one @@ -438,7 +439,6 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements if(typeAndLabel.containsKey("semanticTypeLabel")) { conceptSemanticTypeLabel = typeAndLabel.get("semanticTypeLabel"); } - //Assuming this is from an external vocabulary source info.add(new AssociatedConceptInfo(conceptLabel, conceptUri, vocabSource, vocabLabel, null, conceptSemanticTypeURI, conceptSemanticTypeLabel)); diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java index b4429094..1b81dbf1 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java @@ -84,6 +84,8 @@ public class AddAssociatedConceptsPreprocessor extends //This will put the URI value in scope for the first semantic type label //and generate the rest if need be processConceptSemanticValues(); + //Also need to see if any broader or narrower uris for the concepts that already exist in the system + //and set up the appropriate relationships between this concept and the broader/narrower uri if (numberConcepts > 1) { processConceptNodes(numberConcepts); } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ConceptSemanticTypesPreprocessor.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ConceptSemanticTypesPreprocessor.java new file mode 100644 index 00000000..b95733b4 --- /dev/null +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ConceptSemanticTypesPreprocessor.java @@ -0,0 +1,125 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import com.hp.hpl.jena.ontology.OntModel; +import com.hp.hpl.jena.query.Dataset; +import com.hp.hpl.jena.query.Query; +import com.hp.hpl.jena.query.QueryExecution; +import com.hp.hpl.jena.query.QueryExecutionFactory; +import com.hp.hpl.jena.query.QueryFactory; +import com.hp.hpl.jena.query.QuerySolutionMap; +import com.hp.hpl.jena.query.Syntax; +import com.hp.hpl.jena.rdf.model.Literal; +import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelFactory; +import com.hp.hpl.jena.rdf.model.Property; +import com.hp.hpl.jena.rdf.model.ResIterator; +import com.hp.hpl.jena.rdf.model.Resource; +import com.hp.hpl.jena.rdf.model.ResourceFactory; +import com.hp.hpl.jena.rdf.model.Statement; +import com.hp.hpl.jena.shared.Lock; +import com.hp.hpl.jena.vocabulary.RDF; +import com.hp.hpl.jena.vocabulary.RDFS; + +import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.dao.jena.DatasetWrapper; +import edu.cornell.mannlib.vitro.webapp.dao.jena.DatasetWrapperFactory; + +//We are representing semantic types from the UMLS Semantic Network as OWL Classes +//and this preprocessor will add the appropriate class information to the TBox + +public class ConceptSemanticTypesPreprocessor implements ModelChangePreprocessor { + + private static String VIVOCore = "http://vivoweb.org/ontology/core#"; + private static String SKOSConceptType = "http://www.w3.org/2004/02/skos/core#Concept"; + private Log log = LogFactory.getLog(ConceptSemanticTypesPreprocessor.class); + + private OntModel toUpdateModel = null; + + //Custom constructor + public ConceptSemanticTypesPreprocessor(OntModel updateModel) { + this.toUpdateModel = updateModel; + } + + @Override + public void preprocess(Model retractionsModel, Model additionsModel, + HttpServletRequest request) { + //Run a construct query against the additions model + String prefixes = "PREFIX rdfs:<" + RDFS.getURI() + "> " + + "PREFIX owl: " + + "PREFIX rdf:<" + RDF.getURI() + ">" + + "PREFIX skos:"; + String constructQuery = prefixes + " CONSTRUCT { " + + "?semanticType rdf:type owl:Class. " + + "?semanticType rdfs:subClassOf skos:Concept . " + + "?semanticType rdfs:label ?label. " + + "} WHERE { " + + "?concept rdf:type ?semanticType. " + + "?semanticType rdfs:label ?label . " + + "?semanticType rdfs:subClassOf skos:Concept . " + + "}"; + + //Execute construct query + Model constructedModel = ModelFactory.createDefaultModel(); + + + log.debug("CONSTRUCT query string " + constructQuery); + + Query query = null; + try { + query = QueryFactory.create(constructQuery, Syntax.syntaxARQ); + } catch(Throwable th){ + log.error("Could not create CONSTRUCT SPARQL query for query " + + "string. " + th.getMessage()); + log.error(constructQuery); + return; + } + + + + additionsModel.getLock().enterCriticalSection(Lock.READ); + QueryExecution qe = null; + try { + qe = QueryExecutionFactory.create( + query, additionsModel); + qe.execConstruct(constructedModel); + } catch (Exception e) { + log.error("Error getting constructed model for query string " + constructQuery); + } finally { + if (qe != null) { + qe.close(); + } + additionsModel.getLock().leaveCriticalSection(); + } + + //Add constructed model to the designated update model + toUpdateModel.enterCriticalSection(Lock.WRITE); + try { + toUpdateModel.add(constructedModel); + } catch (Exception e) { + log.error("Error adding statements to update model for " + constructQuery); + } finally { + toUpdateModel.leaveCriticalSection(); + } + + //Take this constructed model and remove from the additions model + additionsModel.enterCriticalSection(Lock.WRITE); + try { + additionsModel.remove(constructedModel.listStatements().toList()); + } catch (Exception e) { + log.error("Error removing statements from additions model for " + constructQuery); + } finally { + additionsModel.leaveCriticalSection(); + } + + } + + + +} diff --git a/themes/wilma/i18n/all.properties b/themes/wilma/i18n/all.properties index 38583523..a0f2585f 100644 --- a/themes/wilma/i18n/all.properties +++ b/themes/wilma/i18n/all.properties @@ -280,7 +280,6 @@ change_selection = change selection # custom form templates ( /templates/freemarker/edit/forms ) # manage_concepts = Manage Concepts -remove_capitalized = Remove no_concepts_specified = There are currently no concepts specified. return_to_profile = Return to Profile Page external_vocabulary_services = External Vocabulary Services diff --git a/themes/wilma/templates/individual--foaf-person.ftl b/themes/wilma/templates/individual--foaf-person.ftl index 6e2161fb..761333be 100644 --- a/themes/wilma/templates/individual--foaf-person.ftl +++ b/themes/wilma/templates/individual--foaf-person.ftl @@ -11,6 +11,9 @@ <#if !labelCount??> <#assign labelCount = 0 > +<#if !localesCount??> + <#assign localesCount = 1> + <#assign visRequestingTemplate = "foaf-person-wilma">
@@ -55,7 +58,7 @@ <#else>

<#-- Label --> - <@p.label individual editable labelCount/> + <@p.label individual editable labelCount localesCount/> <#-- Display preferredTitle if it exists; otherwise mostSpecificTypes --> <#assign title = propertyGroups.pullProperty("${core}preferredTitle")!> From 42fd5bee012ad196a4f16efab1073d637fa0003e Mon Sep 17 00:00:00 2001 From: j2blake Date: Fri, 6 Sep 2013 10:19:09 -0400 Subject: [PATCH 30/66] Clarify instructions on setting up runtime.properties --- doc/install.html | 4 ++-- doc/upgrade-1.6.html | 11 ++++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/doc/install.html b/doc/install.html index 33423d77..da502ae8 100644 --- a/doc/install.html +++ b/doc/install.html @@ -321,13 +321,13 @@

5. Specify runtime properties

- In Step 4, you defined the location of the Vitro home directory, + In Step 4, you defined the location of the VIVO home directory, by specifying vitro.home in the build.properties file. Create that directory now.

At the top level of the VIVO distribution directory, you will find a file called - example.runtime.properties. Copy this to the Vitro home directory you have created, + example.runtime.properties. Copy this to the VIVO home directory you have created, renaming the copy to runtime.properties. Edit the file to suit your installation, as described in the following table.

diff --git a/doc/upgrade-1.6.html b/doc/upgrade-1.6.html index 39a6e0f3..181888a7 100644 --- a/doc/upgrade-1.6.html +++ b/doc/upgrade-1.6.html @@ -394,7 +394,7 @@ rdf/tbox/filegraph/tbox/vivo-skos-1.5.owl -

III. Upgrade Instructions

+

III. Upgrade Instructions

1. Download the new distribution file and unpack it into a new @@ -402,9 +402,9 @@ rdf/tbox/filegraph/tbox/vivo-skos-1.5.owl

2. Separate your existing deploy.properties file into two files, - as described below. The new build.properties file is stored in - the top level of the VIVO distribution directory. The new runtime.properties - file is stored in your Vitro home directory. + as described below. Store the new build.properties file in + the top level of the VIVO distribution directory. Store the new runtime.properties + file in your VIVO home directory.

@@ -441,7 +441,8 @@ rdf/tbox/filegraph/tbox/vivo-skos-1.5.owl

If you prefer, you may start with example.build.properties and example.runtime.properties, make copies, - and edit them to suit your installation. + and edit them to suit your installation. Remember, the runtime.properties file + goes into your VIVO home directory.

From 1c60c24002af2d05e6701f74b187cb9b768216ff Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Fri, 6 Sep 2013 16:41:15 -0400 Subject: [PATCH 31/66] VCard migration --- .../sparqlConstructs/additions/vcard.sparql | 83 ------------------- .../additions/vcard1-1.sparql | 20 +++++ .../additions/vcard1-2.sparql | 20 +++++ .../sparqlConstructs/additions/vcard1.sparql | 23 +++++ .../sparqlConstructs/additions/vcard2.sparql | 27 ++++++ .../sparqlConstructs/additions/vcard3.sparql | 13 +++ .../sparqlConstructs/additions/vcard4.sparql | 14 ++++ .../sparqlConstructs/additions/vcard5.sparql | 14 ++++ .../sparqlConstructs/additions/vcard6.sparql | 21 +++++ .../sparqlConstructs/additions/vcard7.sparql | 16 ++++ .../sparqlConstructs/additions/vcard8.sparql | 37 +++++++++ .../deletions/vcardDel.sparql | 48 +++++++++++ 12 files changed, 253 insertions(+), 83 deletions(-) delete mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard3.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard4.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard5.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard6.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard7.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard.sparql deleted file mode 100644 index 70d69df3..00000000 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard.sparql +++ /dev/null @@ -1,83 +0,0 @@ -PREFIX arg: . -PREFIX foaf: . -PREFIX v: . -PREFIX vivo: . - -CONSTRUCT { - ?s arg:ARG_2000028 _:vcard . - _:vcard arg:ARG_2000029 ?s . - _:vcard a v:Individual . - _:vcard v:hasName _:name . - _:name a v:Name . - _:name v:givenName ?firstName . - _:name vivo:middleName ?middleName . - _:name v:familyName ?lastName . - _:name v:hasEmail _:email . - _:email a v:Email . - _:email v:email ?email . - _:name v:hasEmail _:primaryEmail . - _:primaryEmail a v:Email . - _:primaryEmail a v:Work . - _:primaryEmail v:email ?primaryEmail . - _:name v:hasTelephone _:telephone . - _:telephone a v:Telephone . - _:telephone a v:Voice . - _:telephone v:telephone ?phoneNumber . - _:name v:hasTelephone _:primaryTelephone . - _:primaryTelephone a v:Telephone . - _:primaryTelephone a v:Voice . - _:primaryTelephone a v:Work . - _:primaryTelephone v:telephone ?primaryPhoneNumber . - _:name v:hasTelephone _:fax . - _:fax a v:Telephone . - _:fax a v:Fax. - _:fax v:telephone ?faxNumber . - _:name v:hasAddress _:address . - _:address v:streetAddress ? -} WHERE { - ?s a foaf:Person - { - ?s foaf:firstName ?firstName . - } UNION { - ?s foaf:lastName ?lastName . - } UNION { - ?s vivo:middleName ?middleName - } UNION { - ?s vivo:email ?email - } UNION { - ?s vivo:primaryEmail ?primaryEmail - } UNION { - ?s vivo:phoneNumber ?phoneNumber - } UNION { - ?s vivo:primaryPhoneNumber ?primaryPhoneNumber - } UNION { - ?s vivo:faxNumber ?faxNumber - } UNION { - ?s vivo:mailingAddress ?address . - ?address vivo:addressCity ?addressCity . - ?address vivo:addressState ?addressState . - ?address vivo:addressCountry ?addressCountry . - ?address vivo:addressPostalCode ?addressPostalCode . - ?address vivo:address1 ?address1 . - BIND (?address1 AS ?streetAddress) - } UNION { - ?s vivo:mailingAddress ?address . - ?address vivo:addressCity ?addressCity . - ?address vivo:addressState ?addressState . - ?address vivo:addressCountry ?addressCountry . - ?address vivo:addressPostalCode ?addressPostalCode . - ?address vivo:address1 ?address1 . - ?address vivo:address2 ?address2 . - BIND (CONCAT(?address1, ", ", ?address2) AS ?streetAddress) - } UNION { - ?s vivo:mailingAddress ?address . - ?address vivo:addressCity ?addressCity . - ?address vivo:addressState ?addressState . - ?address vivo:addressCountry ?addressCountry . - ?address vivo:addressPostalCode ?addressPostalCode . - ?address vivo:address1 ?address1 . - ?address vivo:address2 ?address2 . - ?address vivo:address3 ?address3 . - BIND (CONCAT(?address1, ", ", ?address2, ", ", ?address3) AS ?streetAddress) - } -} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql new file mode 100644 index 00000000..cc320ed1 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql @@ -0,0 +1,20 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?s arg:ARG_2000028 _:vcard . + _:vcard arg:ARG_2000029 ?s . + _:vcard a v:Organization . +} WHERE { + ?s a foaf:Organization + FILTER ( + EXISTS { ?s vivo:email ?email } || + EXISTS { ?s vivo:primaryEmail ?primaryEmail } || + EXISTS { ?s vivo:phoneNumber ?phoneNumber } || + EXISTS { ?s vivo:primaryPhoneNumber ?primaryPhoneNumber } || + EXISTS { ?s vivo:faxNumber ?faxNumber } || + EXISTS { ?s vivo:mailingAddress ?address } + ) +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql new file mode 100644 index 00000000..c899a29f --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql @@ -0,0 +1,20 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?s arg:ARG_2000028 _:vcard . + _:vcard arg:ARG_2000029 ?s . + _:vcard a v:Group . +} WHERE { + ?s a foaf:Group + FILTER ( + EXISTS { ?s vivo:email ?email } || + EXISTS { ?s vivo:primaryEmail ?primaryEmail } || + EXISTS { ?s vivo:phoneNumber ?phoneNumber } || + EXISTS { ?s vivo:primaryPhoneNumber ?primaryPhoneNumber } || + EXISTS { ?s vivo:faxNumber ?faxNumber } || + EXISTS { ?s vivo:mailingAddress ?address } + ) +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1.sparql new file mode 100644 index 00000000..3af689b1 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1.sparql @@ -0,0 +1,23 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?s arg:ARG_2000028 _:vcard . + _:vcard arg:ARG_2000029 ?s . + _:vcard a v:Individual . +} WHERE { + ?s a foaf:Person + FILTER ( + EXISTS { ?s foaf:firstName ?firstName } || + EXISTS { ?s foaf:lastName ?lastName } || + EXISTS { ?s vivo:middleName ?middleName } || + EXISTS { ?s vivo:email ?email } || + EXISTS { ?s vivo:primaryEmail ?primaryEmail } || + EXISTS { ?s vivo:phoneNumber ?phoneNumber } || + EXISTS { ?s vivo:primaryPhoneNumber ?primaryPhoneNumber } || + EXISTS { ?s vivo:faxNumber ?faxNumber } || + EXISTS { ?s vivo:mailingAddress ?address } + ) +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2.sparql new file mode 100644 index 00000000..ae21fbab --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2.sparql @@ -0,0 +1,27 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?vcard v:hasName _:name . + _:name a v:Name . + _:name v:givenName ?firstName . + _:name vivo:middleName ?middleName . + _:name v:familyName ?lastName . +} WHERE { + ?s arg:ARG_2000028 ?vcard . + OPTIONAL { + ?s foaf:firstName ?firstName . + BIND("yes" as ?test) + } + OPTIONAL { + ?s foaf:lastName ?lastName . + BIND("yes" as ?test) + } + OPTIONAL { + ?s vivo:middleName ?middleName + BIND("yes" as ?test) + } + FILTER(bound(?test)) +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard3.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard3.sparql new file mode 100644 index 00000000..91991c9e --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard3.sparql @@ -0,0 +1,13 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?vcard v:hasEmail _:email . + _:email a v:Email . + _:email v:email ?email . +} WHERE { + ?s arg:ARG_2000028 ?vcard . + ?s vivo:email ?email +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard4.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard4.sparql new file mode 100644 index 00000000..b6f9409f --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard4.sparql @@ -0,0 +1,14 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?vcard v:hasEmail _:primaryEmail . + _:primaryEmail a v:Email . + _:primaryEmail a v:Work . + _:primaryEmail v:email ?primaryEmail . +} WHERE { + ?s arg:ARG_2000028 ?vcard . + ?s vivo:primaryEmail ?primaryEmail +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard5.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard5.sparql new file mode 100644 index 00000000..6deedc83 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard5.sparql @@ -0,0 +1,14 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?vcard v:hasTelephone _:telephone . + _:telephone a v:Telephone . + _:telephone a v:Voice . + _:telephone v:telephone ?phoneNumber . +} WHERE { + ?s arg:ARG_2000028 ?vcard . + ?s vivo:phoneNumber ?phoneNumber +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard6.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard6.sparql new file mode 100644 index 00000000..766faa3e --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard6.sparql @@ -0,0 +1,21 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?vcard v:hasTelephone _:primaryTelephone . + _:primaryTelephone a v:Telephone . + _:primaryTelephone a v:Voice . + _:primaryTelephone a v:Work . + _:primaryTelephone v:telephone ?primaryPhoneNumber . + _:name v:hasTelephone _:fax . + _:fax a v:Telephone . + _:fax a v:Fax. + _:fax v:telephone ?faxNumber . + _:name v:hasAddress _:address . + _:address v:streetAddress ?streetAddress . +} WHERE { + ?s arg:ARG_2000028 ?vcard . + ?s vivo:primaryPhoneNumber ?primaryPhoneNumber +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard7.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard7.sparql new file mode 100644 index 00000000..95c15654 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard7.sparql @@ -0,0 +1,16 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?vcard v:hasTelephone _:fax . + _:fax a v:Telephone . + _:fax a v:Fax. + _:fax v:telephone ?faxNumber . + _:name v:hasAddress _:address . + _:address v:streetAddress ?streetAddress . +} WHERE { + ?s arg:ARG_2000028 ?vcard . + ?s vivo:faxNumber ?faxNumber +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql new file mode 100644 index 00000000..eb88f650 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard8.sparql @@ -0,0 +1,37 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?vcard v:hasAddress _:address . + _:address a v:Address . + _:address v:streetAddress ?streetAddress . + _:address v:locality ?addressCity . + _:address v:region ?addressState . + _:address v:postalCode ?addressPostalCode . + _:address v:country ?addressCountry . +} WHERE { + ?s arg:ARG_2000028 ?vcard . + ?s vivo:mailingAddress ?address . + ?address vivo:addressCity ?addressCity . + ?address vivo:addressState ?addressState . + ?address vivo:addressCountry ?addressCountry . + ?address vivo:addressPostalCode ?addressPostalCode . + OPTIONAL { + ?address vivo:address1 ?address1 . + ?address vivo:address2 ?address2 . + ?address vivo:address3 ?address3 . + BIND (CONCAT(?address1, ", ", ?address2, ", ", ?address3) AS ?streetAddress) + } + OPTIONAL { + ?address vivo:address1 ?address1 . + ?address vivo:address2 ?address2 . + FILTER NOT EXISTS { ?address vivo:address3 ?address3 } + BIND (CONCAT(?address1, ", ", ?address2) AS ?streetAddress) + } + OPTIONAL { + ?address vivo:address1 ?address1 + BIND(?address1 as ?streetAddress) + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql new file mode 100644 index 00000000..901c706a --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql @@ -0,0 +1,48 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?s foaf:firstName ?firstName . + ?s foaf:lastName ?lastName . + ?s vivo:middleName ?middleName . + ?s vivo:email ?email . + ?s vivo:primaryEmail ?primaryEmail . + ?s vivo:phoneNumber ?phoneNumber . + ?s vivo:primaryPhoneNumber ?primaryPhoneNumber . + ?s vivo:faxNumber ?faxNumber . + ?s vivo:mailingAddress ?address . + ?address ?addressP ?addressO . +} WHERE { + ?s a foaf:Agent + OPTIONAL { + ?s foaf:firstName ?firstName . + } + OPTIONAL { + ?s foaf:lastName ?lastName . + } + OPTIONAL { + ?s vivo:middleName ?middleName + } + OPTIONAL { + ?s vivo:email ?email + } + OPTIONAL { + ?s vivo:primaryEmail ?primaryEmail + } + OPTIONAL { + ?s vivo:phoneNumber ?phoneNumber + } + OPTIONAL { + ?s vivo:primaryPhoneNumber ?primaryPhoneNumber + } + OPTIONAL { + ?s vivo:faxNumber ?faxNumber + } OPTIONAL { + ?s vivo:mailingAddress ?address . + OPTIONAL { + ?address ?addressP ?addressO + } + } +} From 15168eb8eae4f21bf8c1b6118341b25a3732042d Mon Sep 17 00:00:00 2001 From: tworrall Date: Fri, 6 Sep 2013 17:02:43 -0400 Subject: [PATCH 32/66] VIVO-112: updates for educational training and awards --- .../app/loadedAtStartup/PropertyConfig.n3 | 30 +- .../config/listViewConfig-awardOrHonor.xml | 314 ++++++++++-------- .../listViewConfig-educationalTraining.xml | 48 ++- .../individual/propStatement-awardOrHonor.ftl | 8 +- .../edit/forms/addOrganizerRoleToPerson.ftl | 54 +-- .../edit/forms/js/awardReceiptUtils.js | 8 +- .../edit/forms/js/educationalTrainingUtils.js | 31 ++ .../forms/personHasEducationalTraining.ftl | 26 +- .../PersonHasAwardOrHonorGenerator.java | 15 +- .../PersonHasEducationalTraining.java | 121 ++++--- .../generators/VivoBaseGenerator.java | 9 +- src/org/vivoweb/webapp/util/ModelUtils.java | 2 +- 12 files changed, 417 insertions(+), 249 deletions(-) create mode 100644 productMods/templates/freemarker/edit/forms/js/educationalTrainingUtils.js diff --git a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 index 8b237c6b..a467236d 100644 --- a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 +++ b/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfig.n3 @@ -25,6 +25,7 @@ local:personInPositionConfig a :ObjectPropertyDisplayConfig ; :displayName "positions" ; :listViewConfigFile "listViewConfig-personInPosition.xml"^^xsd:string ; :propertyGroup ; + vitro:displayRankAnnot 40; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasPositionHistoryGenerator"^^xsd:string . @@ -38,17 +39,20 @@ local:organizationForPositionConfig a :ObjectPropertyDisplayConfig ; :displayName "people" ; :listViewConfigFile "listViewConfig-organizationForPosition.xml"^^xsd:string ; :propertyGroup ; + vitro:displayRankAnnot 15; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.OrganizationHasPositionHistoryGenerator"^^xsd:string . local:authorInAuthorshipContext a :ConfigContext ; :hasConfiguration local:authorInAuthorshipConfig ; :configContextFor vivo:relatedBy ; + :qualifiedByDomain ; :qualifiedBy vivo:Authorship . local:authorInAuthorshipConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-authorInAuthorship.xml"^^xsd:string ; :displayName "selected publications" ; + vitro:displayRankAnnot 1; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddPublicationToPersonGenerator"^^xsd:string ; @@ -62,6 +66,7 @@ local:hasServiceProviderRoleContext a :ConfigContext ; local:hasServiceProviderRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; :displayName "service to the profession" ; + vitro:displayRankAnnot 1; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddServiceProviderRoleToPersonGenerator"^^ ; @@ -75,6 +80,7 @@ local:hasClinicalRoleContext a :ConfigContext ; local:hasClinicalRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; :displayName "clinical activities" ; + vitro:displayRankAnnot 70; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddClinicalRoleToPersonGenerator"^^ ; @@ -88,6 +94,7 @@ local:hasLeaderRoleContext a :ConfigContext ; local:hasLeaderRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; :displayName "head of" ; + vitro:displayRankAnnot 30; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddHeadOfRoleToPersonGenerator"^^ ; @@ -101,6 +108,7 @@ local:hasMemberRoleContext a :ConfigContext ; local:hasMemberRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; :displayName "member of" ; + vitro:displayRankAnnot 50; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddMemberRoleToPersonGenerator"^^ ; @@ -114,6 +122,7 @@ local:hasTeacherRoleContext a :ConfigContext ; local:hasTeacherRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; :displayName "teaching activities" ; + vitro:displayRankAnnot 1; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddTeacherRoleToPersonGenerator"^^ ; @@ -127,6 +136,7 @@ local:hasEditorRoleContext a :ConfigContext ; local:hasEditorRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; :displayName "collection or series editor for" ; + vitro:displayRankAnnot 2; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddEditorRoleToPersonGenerator"^^ ; @@ -140,6 +150,7 @@ local:hasReviewerRoleContext a :ConfigContext ; local:hasReviewerRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; :displayName "reviewer of" ; + vitro:displayRankAnnot 3; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddReviewerRoleToPersonGenerator"^^ ; @@ -153,6 +164,7 @@ local:hasOrganizerRoleContext a :ConfigContext ; local:hasOrganizerRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; :displayName "organizer of" ; + vitro:displayRankAnnot 4; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddOrganizerRoleToPersonGenerator"^^ ; @@ -166,6 +178,7 @@ local:hasOutreachProviderRoleContext a :ConfigContext ; local:hasOutreachProviderRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; :displayName "outreach and community service" ; + vitro:displayRankAnnot 50; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddOutreachProviderRoleToPersonGenerator"^^ ; @@ -179,6 +192,7 @@ local:hasAttendeeRoleContext a :ConfigContext ; local:hasAttendeeRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; :displayName "attended" ; + vitro:displayRankAnnot 1; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddAttendeeRoleToPersonGenerator"^^ ; @@ -192,6 +206,7 @@ local:hasResearcherRoleContext a :ConfigContext ; local:hasResearcherRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; :displayName "research activities" ; + vitro:displayRankAnnot 10; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddResearcherRoleToPersonGenerator"^^ ; @@ -205,6 +220,7 @@ local:hasInvestigatorRoleContext a :ConfigContext ; local:hasInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasInvestigatorRole.xml"^^xsd:string ; :displayName "investigator on" ; + vitro:displayRankAnnot 25; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddGrantRoleToPersonGenerator"^^ ; @@ -218,6 +234,7 @@ local:hasPrincipalInvestigatorRoleContext a :ConfigContext ; local:hasPrincipalInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasInvestigatorRole.xml"^^xsd:string ; :displayName "principal investigator on" ; + vitro:displayRankAnnot 15; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddGrantRoleToPersonGenerator"^^ ; @@ -231,6 +248,7 @@ local:hasCo-PrincipalInvestigatorRoleContext a :ConfigContext ; local:hasCo-PrincipalInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasInvestigatorRole.xml"^^xsd:string ; :displayName "co-principal investigator on" ; + vitro:displayRankAnnot 20; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddGrantRoleToPersonGenerator"^^ ; @@ -244,6 +262,7 @@ local:hasPresenterRoleContext a :ConfigContext ; local:hasPresenterRoleConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-hasPresenterRole.xml"^^xsd:string ; :displayName "presentations" ; + vitro:displayRankAnnot 30; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddPresenterRoleToPersonGenerator"^^ ; @@ -251,25 +270,27 @@ local:hasPresenterRoleConfig a :ObjectPropertyDisplayConfig ; local:awardOrHonorContext a :ConfigContext ; :hasConfiguration local:awardOrHonorConfig ; - :configContextFor ; + :configContextFor ; :qualifiedBy . local:awardOrHonorConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-awardOrHonor.xml"^^xsd:string ; :displayName "awards and honors" ; + vitro:displayRankAnnot 20; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasAwardOrHonorGenerator"^^ ; - :propertyGroup . + :propertyGroup . local:educationalTrainingContext a :ConfigContext ; :hasConfiguration local:educationalTrainingConfig ; - :configContextFor ; - :qualifiedBy . + :configContextFor ; + :qualifiedBy . local:educationalTrainingConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-educationalTraining.xml"^^xsd:string ; :displayName "education and training" ; + vitro:displayRankAnnot 10; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasEducationalTraining"^^ ; @@ -284,6 +305,7 @@ local:informationResourceInAuthorshipContext a :ConfigContext ; local:informationResourceInAuthorshipConfig a :ObjectPropertyDisplayConfig ; :listViewConfigFile "listViewConfig-informationResourceInAuthorship.xml"^^xsd:string ; :displayName "authors" ; + vitro:displayRankAnnot 10; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddAuthorsToInformationResourceGenerator"^^ ; diff --git a/productMods/config/listViewConfig-awardOrHonor.xml b/productMods/config/listViewConfig-awardOrHonor.xml index d118b4fd..14e49603 100644 --- a/productMods/config/listViewConfig-awardOrHonor.xml +++ b/productMods/config/listViewConfig-awardOrHonor.xml @@ -1,147 +1,167 @@ - - - - - - - - PREFIX foaf: <http://xmlns.com/foaf/0.1/> - PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX owl: <http://www.w3.org/2002/07/owl#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - - SELECT DISTINCT ?awardReceipt - ?receiptLabel - ?award - ?awardLabel - ?conferredBy - ?conferredByLabel - ?dateTimeStart - ?dateTimeEnd - ?dateTime - - WHERE { - ?subject ?property ?awardReceipt . - OPTIONAL { ?awardReceipt rdfs:label ?receiptLabel } - OPTIONAL { ?awardReceipt core:receiptOf ?award . - ?award core:receipt ?awardReceipt - OPTIONAL { ?award rdfs:label ?awardLabel } - OPTIONAL { ?award core:awardConferredBy ?conferredBy - OPTIONAL { ?conferredBy rdfs:label ?conferredByLabel } - } - } - OPTIONAL { ?awardReceipt core:dateTimeInterval ?dateTimeInterval - OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart - } - } - OPTIONAL { ?awardReceipt core:dateTimeInterval ?dateTimeInterval - OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd - } - } - OPTIONAL { ?awardReceipt core:dateTimeValue ?dateTimeValue - OPTIONAL { ?dateTimeValue core:dateTime ?dateTime } - } - } ORDER BY DESC(?dateTime) DESC(?dateTimeEnd) - - - - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX foaf: <http://xmlns.com/foaf/0.1/> - - CONSTRUCT { - ?subject ?property ?awardReceipt . - ?awardReceipt rdfs:label ?receiptLabel . - ?awardReceipt core:receiptOf ?award . - ?award core:receipt ?awardReceipt . - ?award rdfs:label ?awardLabel . - ?award core:awardConferredBy ?conferredBy . - ?conferredBy rdfs:label ?conferredByLabel - } WHERE { - { - ?subject ?property ?awardReceipt - } UNION { - ?subject ?property ?awardReceipt . - ?awardReceipt rdfs:label ?receiptLabel - } UNION { - ?subject ?property ?awardReceipt . - ?awardReceipt rdfs:label ?receiptLabel . - ?awardReceipt core:receiptOf ?award . - ?award core:receipt ?awardReceipt - } UNION { - ?subject ?property ?awardReceipt . - ?awardReceipt rdfs:label ?receiptLabel . - ?awardReceipt core:receiptOf ?award . - ?award core:receipt ?awardReceipt . - ?award rdfs:label ?awardLabel - } UNION { - ?subject ?property ?awardReceipt . - ?awardReceipt rdfs:label ?receiptLabel . - ?awardReceipt core:receiptOf ?award . - ?award core:receipt ?awardReceipt . - ?award rdfs:label ?awardLabel . - ?award core:awardConferredBy ?conferredBy - } UNION { - ?subject ?property ?awardReceipt . - ?awardReceipt rdfs:label ?receiptLabel . - ?awardReceipt core:receiptOf ?award . - ?award core:receipt ?awardReceipt . - ?award rdfs:label ?awardLabel . - ?award core:awardConferredBy ?conferredBy . - ?conferredBy rdfs:label ?conferredByLabel - } - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?awardReceipt . - ?awardReceipt core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart - } WHERE { - ?subject ?property ?awardReceipt . - ?awardReceipt core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?awardReceipt . - ?awardReceipt core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd - } WHERE { - ?subject ?property ?awardReceipt . - ?awardReceipt core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - CONSTRUCT { - ?subject ?property ?awardReceipt . - ?awardReceipt core:dateTimeValue ?dateTimeValue . - ?dateTimeValue core:dateTime ?dateTime - } WHERE { - ?subject ?property ?awardReceipt . - ?awardReceipt core:dateTimeValue ?dateTimeValue . - ?dateTimeValue core:dateTime ?dateTime - } - - - - + + + + + + + + PREFIX foaf: <http://xmlns.com/foaf/0.1/> + PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX owl: <http://www.w3.org/2002/07/owl#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + SELECT DISTINCT ?awardReceipt + ?receiptLabel + ?award + ?awardLabel + ?assignedBy + ?assignedByLabel + ?dateTimeStart + ?dateTimeEnd + ?dateTime + + WHERE { + ?subject ?property ?awardReceipt . + ?awardReceipt a core:AwardReceipt . + OPTIONAL { ?awardReceipt rdfs:label ?receiptLabel } + OPTIONAL { ?awardReceipt core:relates ?award . + ?award a core:Award . + ?award core:relatedBy ?awardReceipt + OPTIONAL { ?award rdfs:label ?awardLabel } + OPTIONAL { ?award core:assignedBy ?assignedBy + OPTIONAL { ?assignedBy rdfs:label ?assignedByLabel } + } + } + OPTIONAL { ?awardReceipt core:dateTimeInterval ?dateTimeInterval + OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } + } + OPTIONAL { ?awardReceipt core:dateTimeInterval ?dateTimeInterval + OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } + } + OPTIONAL { ?awardReceipt core:dateTimeValue ?dateTimeValue + OPTIONAL { ?dateTimeValue core:dateTime ?dateTime } + } + } ORDER BY DESC(?dateTime) DESC(?dateTimeEnd) + + + + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX foaf: <http://xmlns.com/foaf/0.1/> + + CONSTRUCT { + ?subject ?property ?awardReceipt . + ?awardReceipt a core:AwardReceipt . + ?awardReceipt rdfs:label ?receiptLabel . + ?awardReceipt core:relates ?award . + ?award a core:Award . + ?award core:relatedBy ?awardReceipt . + ?award rdfs:label ?awardLabel . + ?award core:assignedBy ?assignedBy . + ?assignedBy rdfs:label ?assignedByLabel + } WHERE { + { + ?subject ?property ?awardReceipt . + ?awardReceipt a core:AwardReceipt . + } UNION { + ?subject ?property ?awardReceipt . + ?awardReceipt a core:AwardReceipt . + ?awardReceipt rdfs:label ?receiptLabel + } UNION { + ?subject ?property ?awardReceipt . + ?awardReceipt a core:AwardReceipt . + ?awardReceipt rdfs:label ?receiptLabel . + ?awardReceipt core:relates ?award . + ?award a core:Award . + ?award core:relatedBy ?awardReceipt + } UNION { + ?subject ?property ?awardReceipt . + ?awardReceipt a core:AwardReceipt . + ?awardReceipt rdfs:label ?receiptLabel . + ?awardReceipt core:relates ?award . + ?award a core:Award . + ?award core:relatedBy ?awardReceipt . + ?award rdfs:label ?awardLabel + } UNION { + ?subject ?property ?awardReceipt . + ?awardReceipt a core:AwardReceipt . + ?awardReceipt rdfs:label ?receiptLabel . + ?awardReceipt core:relates ?award . + ?award a core:Award . + ?award core:relatedBy ?awardReceipt . + ?award rdfs:label ?awardLabel . + ?award core:assignedBy ?assignedBy + } UNION { + ?subject ?property ?awardReceipt . + ?awardReceipt a core:AwardReceipt . + ?awardReceipt rdfs:label ?receiptLabel . + ?awardReceipt core:relates ?award . + ?award a core:Award . + ?award core:relatedBy ?awardReceipt . + ?award rdfs:label ?awardLabel . + ?award core:assignedBy ?assignedBy . + ?assignedBy rdfs:label ?assignedByLabel + } + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?awardReceipt . + ?awardReceipt a core:AwardReceipt . + ?awardReceipt core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } WHERE { + ?subject ?property ?awardReceipt . + ?awardReceipt a core:AwardReceipt . + ?awardReceipt core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?awardReceipt . + ?awardReceipt a core:AwardReceipt . + ?awardReceipt core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } WHERE { + ?subject ?property ?awardReceipt . + ?awardReceipt a core:AwardReceipt . + ?awardReceipt core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + CONSTRUCT { + ?subject ?property ?awardReceipt . + ?awardReceipt a core:AwardReceipt . + ?awardReceipt core:dateTimeValue ?dateTimeValue . + ?dateTimeValue core:dateTime ?dateTime + } WHERE { + ?subject ?property ?awardReceipt . + ?awardReceipt a core:AwardReceipt . + ?awardReceipt core:dateTimeValue ?dateTimeValue . + ?dateTimeValue core:dateTime ?dateTime + } + + + + diff --git a/productMods/config/listViewConfig-educationalTraining.xml b/productMods/config/listViewConfig-educationalTraining.xml index 986356f3..810c1e95 100644 --- a/productMods/config/listViewConfig-educationalTraining.xml +++ b/productMods/config/listViewConfig-educationalTraining.xml @@ -20,12 +20,13 @@ ?majorField ?deptOrSchool ?info ?dateTimeStart ?dateTimeEnd WHERE { - ?subject ?property ?edTraining + ?subject ?property ?edTraining . + ?edTraining a core:EducationalProcess OPTIONAL {?edTraining vitro:mostSpecificType ?trainingType . - ?trainingType rdfs:subClassOf core:EducationalTraining . + ?trainingType rdfs:subClassOf core:EducationalProcess . ?trainingType rdfs:label ?typeName } - OPTIONAL { ?edTraining core:trainingAtOrganization ?org . + OPTIONAL { ?edTraining core:relates ?org . ?org rdfs:label ?orgName OPTIONAL { ?org vitro:mostSpecificType ?subclass . @@ -33,7 +34,9 @@ } } - OPTIONAL { ?edTraining core:degreeEarned ?degree + OPTIONAL { ?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree . + ?awardedDegree core:relates ?degree . + ?degree a core:AcademicDegree OPTIONAL { ?degree rdfs:label ?degreeName } OPTIONAL { ?degree core:abbreviation ?degreeAbbr } } @@ -69,30 +72,43 @@ CONSTRUCT { ?subject ?property ?edTraining . + ?edTraining a core:EducationalProcess . ?edTraining ?edTrainingProp ?edTrainingValue . - ?edTraining core:trainingAtOrganization ?org . + ?edTraining core:relates ?org . ?org rdfs:label ?orgName . - ?edTraining core:degreeEarned ?degree . + ?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree . + ?awardedDegree core:relates ?degree . ?edTraining core:dateTimeInterval ?dateTimeInterval } WHERE { { ?subject ?property ?edTraining . + ?edTraining a core:EducationalProcess } UNION { ?subject ?property ?edTraining . + ?edTraining a core:EducationalProcess . ?edTraining ?edTrainingProp ?edTrainingValue } UNION { ?subject ?property ?edTraining . - ?edTraining core:trainingAtOrganization ?org . + ?edTraining a core:EducationalProcess . + ?edTraining core:relates ?org . ?org rdfs:label ?orgName } UNION { ?subject ?property ?edTraining . - ?edTraining core:degreeEarned ?degree . + ?edTraining a core:EducationalProcess . + ?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree . + } + UNION { + ?subject ?property ?edTraining . + ?edTraining a core:EducationalProcess . + ?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree . + ?awardedDegree core:relates ?degree } UNION { ?subject ?property ?edTraining . + ?edTraining a core:EducationalProcess . ?edTraining core:dateTimeInterval ?dateTimeInterval } } @@ -104,17 +120,20 @@ PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> CONSTRUCT { ?subject ?property ?edTraining . + ?edTraining a core:EducationalProcess . ?edTraining vitro:mostSpecificType ?trainingType . ?trainingType rdfs:subClassOf core:EducationalTraining . ?trainingType rdfs:label ?typeName } WHERE { { ?subject ?property ?edTraining . + ?edTraining a core:EducationalProcess . ?edTraining vitro:mostSpecificType ?trainingType . ?trainingType rdfs:subClassOf core:EducationalTraining } UNION { ?subject ?property ?edTraining . + ?edTraining a core:EducationalProcess . ?edTraining vitro:mostSpecificType ?trainingType . ?trainingType rdfs:subClassOf core:EducationalTraining . ?trainingType rdfs:label ?typeName @@ -127,16 +146,23 @@ PREFIX core: <http://vivoweb.org/ontology/core#> CONSTRUCT { + ?degree a core:AcademicDegree . ?degree rdfs:label ?degreeName . ?degree core:abbreviation ?degreeAbbr } WHERE { { ?subject ?property ?edTraining . - ?edTraining core:degreeEarned ?degree . + ?edTraining a core:EducationalProcess . + ?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree . + ?awardedDegree core:relates ?degree . + ?degree a core:AcademicDegree . ?degree rdfs:label ?degreeName } UNION { ?subject ?property ?edTraining . - ?edTraining core:degreeEarned ?degree . + ?edTraining a core:EducationalProcess . + ?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree . + ?awardedDegree core:relates ?degree . + ?degree a core:AcademicDegree . ?degree core:abbreviation ?degreeAbbr } } @@ -151,6 +177,7 @@ ?dateTimeStartValue core:dateTime ?dateTimeStart . } WHERE { ?subject ?property ?edTraining . + ?edTraining a core:EducationalProcess . ?edTraining core:dateTimeInterval ?dateTimeInterval . ?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeStartValue core:dateTime ?dateTimeStart . @@ -166,6 +193,7 @@ ?dateTimeEndValue core:dateTime ?dateTimeEnd } WHERE { ?subject ?property ?edTraining . + ?edTraining a core:EducationalProcess . ?edTraining core:dateTimeInterval ?dateTimeInterval . ?dateTimeInterval core:end ?dateTimeEndValue . ?dateTimeEndValue core:dateTime ?dateTimeEnd diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-awardOrHonor.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-awardOrHonor.ftl index 49ce2f9e..937c930b 100644 --- a/productMods/templates/freemarker/body/partials/individual/propStatement-awardOrHonor.ftl +++ b/productMods/templates/freemarker/body/partials/individual/propStatement-awardOrHonor.ftl @@ -29,12 +29,12 @@ - <#local conferredByOrg> - <#if statement.conferredBy?has_content && statement.conferredByLabel?has_content> - ${i18n().conferred_by} ${statement.conferredByLabel} + <#local assignedByOrg> + <#if statement.assignedBy?has_content && statement.assignedByLabel?has_content> + ${i18n().conferred_by} ${statement.assignedByLabel} - <@s.join [ linkedIndividual, conferredByOrg!, dateTimeVal! ] /> + <@s.join [ linkedIndividual, assignedByOrg!, dateTimeVal! ] /> diff --git a/productMods/templates/freemarker/edit/forms/addOrganizerRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addOrganizerRoleToPerson.ftl index e889d511..241b3c2a 100644 --- a/productMods/templates/freemarker/edit/forms/addOrganizerRoleToPerson.ftl +++ b/productMods/templates/freemarker/edit/forms/addOrganizerRoleToPerson.ftl @@ -1,28 +1,28 @@ -<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> -<#--Two stage form for service provider role--> - -<#-- -Required Values to be set for each form that includes addRoleToPersonTwoStage.ftl are: -roleDescriptor. -The other required values (roleType, optionsType, objectClassUri, and literalOptions are -set in the JAVA class corresponding to the form, e.g. AddOrganizerRoleToPersonGenerator.java. - -Optional values can be set, but each of these has default values -set in addRoleToPersonTwoStage.ftl: - -buttonText -typeSelectorLabel -numDateFields -showRoleLAbelField -roleExamples--> - - -<#--Variable assignments--> -<#assign roleDescriptor = "${i18n().organizer_of}" /> -<#assign typeSelectorLabel = "${i18n().organizer_of}" /> -<#assign genericLabel = "${i18n().event_capitalized}" /> -<#assign acMultipleTypes = "'true'" /> -<#assign acTypes = "{activity: 'http://vivoweb.org/ontology/core#EventSeries,http://purl.org/NET/c4dm/event.owl#Event'}" - -<#--Each of the two stage forms will include the form below--> +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> +<#--Two stage form for service provider role--> + +<#-- +Required Values to be set for each form that includes addRoleToPersonTwoStage.ftl are: +roleDescriptor. +The other required values (roleType, optionsType, objectClassUri, and literalOptions are +set in the JAVA class corresponding to the form, e.g. AddOrganizerRoleToPersonGenerator.java. + +Optional values can be set, but each of these has default values +set in addRoleToPersonTwoStage.ftl: + +buttonText +typeSelectorLabel +numDateFields +showRoleLAbelField +roleExamples--> + + +<#--Variable assignments--> +<#assign roleDescriptor = "${i18n().organizer_of}" /> +<#assign typeSelectorLabel = "${i18n().organizer_of}" /> +<#assign genericLabel = "${i18n().event_capitalized}" /> +<#assign acMultipleTypes = "'true'" /> +<#assign acTypes = "{activity: 'http://vivoweb.org/ontology/core#EventSeries,http://purl.org/NET/c4dm/event.owl#Event'}"> + +<#--Each of the two stage forms will include the form below--> <#include "addRoleToPersonTwoStage.ftl"> \ No newline at end of file diff --git a/productMods/templates/freemarker/edit/forms/js/awardReceiptUtils.js b/productMods/templates/freemarker/edit/forms/js/awardReceiptUtils.js index 518dc706..6a5ed540 100644 --- a/productMods/templates/freemarker/edit/forms/js/awardReceiptUtils.js +++ b/productMods/templates/freemarker/edit/forms/js/awardReceiptUtils.js @@ -91,8 +91,14 @@ var awardReceiptUtils = { buildAwardReceiptLabel: function() { var rdfsLabel = ""; + var $acSelection = $("div.acSelection[acGroupName='award']") if ( this.editMode == "edit" ) { - rdfsLabel = this.awardDisplay.val(); + if ( $acSelection.find("span.acSelectionInfo").text().length > 0 ) { + rdfsLabel = $("span.acSelectionInfo").text(); + } + else { + rdfsLabel = this.award.val(); + } } else { rdfsLabel = this.award.val(); diff --git a/productMods/templates/freemarker/edit/forms/js/educationalTrainingUtils.js b/productMods/templates/freemarker/edit/forms/js/educationalTrainingUtils.js new file mode 100644 index 00000000..85e6dc8d --- /dev/null +++ b/productMods/templates/freemarker/edit/forms/js/educationalTrainingUtils.js @@ -0,0 +1,31 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + + +var educationalTrainingUtils = { + + onLoad: function(href, blankSentinel) { + this.initObjectReferences(); + this.bindEventListeners(); + $.extend(this, customFormData); + }, + + initObjectReferences: function() { + + this.form = $('#personHasEducationalTraining'); + this.aDLabel = $('#awardedDegreeLabel'); + this.degreeSelector = $('#degreeUri'); + }, + + bindEventListeners: function() { + + this.degreeSelector.change(function() { + educationalTrainingUtils.setAwardedDegreeLabel(); + }); + + }, + + setAwardedDegreeLabel: function() { + var degreeLabel = this.subjectName + ": " + this.degreeSelector.find(":selected").text(); + this.aDLabel.val(degreeLabel); + } +} diff --git a/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl b/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl index b2e06895..b514b188 100644 --- a/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl +++ b/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl @@ -33,9 +33,11 @@ Set this flag on the input acUriReceiver where you would like this behavior to o <#assign deptValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "dept") /> <#assign infoValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "info") /> <#assign majorFieldValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "majorField") /> -<#assign degreeValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "degree") /> +<#assign degreeValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "degreeType") /> +<#assign awardedDegreeLabelValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "awardedDegreeLabel") /> <#assign existingOrgValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "existingOrg") /> <#assign trainingTypeValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "trainingType")/> +<#assign existingADLabelValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "existingAwardedDegreeLabel") /> <#--If edit submission exists, then retrieve validation errors if they exist--> <#if editSubmission?has_content && editSubmission.submissionExists = true && editSubmission.validationErrors?has_content> @@ -56,7 +58,7 @@ Set this flag on the input acUriReceiver where you would like this behavior to o <#assign yearHint = "(${i18n().year_hint_format})" /> -

${titleVerb} ${i18n().educational_training_for} ${subjectName}${editConfiguration.subjectName}

+

${titleVerb} ${i18n().educational_training_for} ${editConfiguration.subjectName}

<#--Display error messages if any--> <#if submissionErrors?has_content> @@ -155,13 +157,19 @@ Set this flag on the input acUriReceiver where you would like this behavior to o
- <#assign degreeOpts = editConfiguration.pageData.degree /> - <#list degreeOpts?keys as key> - + + <#if editMode == "edit"> + + + <#else> + +

@@ -208,13 +216,18 @@ var customFormData = { defaultTypeName: 'organization', baseHref: '${urls.base}/individual?uri=', blankSentinel: '${blankSentinel}', - flagClearLabelForExisting: '${flagClearLabelForExisting}' + flagClearLabelForExisting: '${flagClearLabelForExisting}', + subjectName: '${editConfiguration.subjectName}' }; var i18nStrings = { selectAnExisting: '${i18n().select_an_existing}', orCreateNewOne: '${i18n().or_create_new_one}', selectedString: '${i18n().selected}' }; + +$(document).ready(function() { + educationalTrainingUtils.onLoad(); +}); @@ -229,6 +242,7 @@ ${scripts.add('', '', '', + '', '')} diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAwardOrHonorGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAwardOrHonorGenerator.java index 0e911d07..862bceb4 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAwardOrHonorGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAwardOrHonorGenerator.java @@ -24,12 +24,12 @@ public class PersonHasAwardOrHonorGenerator extends VivoBaseGenerator implements final static String awardReceiptClass = vivoCore + "AwardReceipt"; final static String awardClass = vivoCore + "Award"; final static String orgClass = "http://xmlns.com/foaf/0.1/Organization"; - final static String awardReceiptPred = vivoCore + "awardOrHonor"; - final static String awardForPred = vivoCore + "awardOrHonorFor"; - final static String receiptPred =vivoCore+"receipt" ; - final static String receiptOfPred =vivoCore+"receiptOf" ; - final static String awardConferredByPred =vivoCore+"awardConferredBy" ; - final static String awardConferredPred =vivoCore+"awardConferred" ; + final static String awardReceiptPred = vivoCore + "relatedBy"; + final static String awardForPred = vivoCore + "relates"; + final static String receiptPred =vivoCore+"relatedBy" ; + final static String receiptOfPred =vivoCore+"relates" ; + final static String awardConferredByPred =vivoCore+"assignedBy" ; + final static String awardConferredPred =vivoCore+"assigns" ; final static String descriptionPred = vivoCore + "description"; final static String yearAwardedPred = vivoCore + "dateTimeValue"; final static String awardReceiptToInterval = vivoCore + "dateTimeInterval"; @@ -257,11 +257,13 @@ public class PersonHasAwardOrHonorGenerator extends VivoBaseGenerator implements final static String existingAwardQuery = "SELECT ?existingAward WHERE { \n" + " ?awardReceipt <" + receiptOfPred + "> ?existingAward . \n" + + " ?existingAward a <" + awardClass + "> . \n" + "}"; final static String existingOrgQuery = "SELECT ?existingOrg WHERE { \n" + " ?awardReceipt <" + receiptOfPred + "> ?existingAward . \n" + + " ?existingAward a <" + awardClass + "> . \n" + " ?existingAward<" + awardConferredByPred + "> ?existingOrg . \n" + " ?existingOrg <" + awardConferredPred + "> ?existingAward . }"; @@ -273,6 +275,7 @@ public class PersonHasAwardOrHonorGenerator extends VivoBaseGenerator implements final static String awardLabelQuery = "SELECT ?existingAwardLabel WHERE { \n" + " ?awardReceipt <" + receiptOfPred + "> ?existingAward . \n" + + " ?existingAward a <" + awardClass + "> . \n" + " ?existingAward <" + label + "> ?existingAwardLabel . \n" + "}"; diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java index 4af8ca41..762ff407 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java @@ -30,7 +30,7 @@ import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; core:EducationalTraining - primary new individual being created foaf:Person - existing individual foaf:Organization - new or existing individual - core:AcademicDegree - existing individual + core:AcademicdegreeType - existing individual Data properties of EducationalTraining: core:majorField @@ -42,10 +42,10 @@ import edu.cornell.mannlib.vitro.webapp.utils.generators.EditModeUtils; core:educationalTraining (Person : EducationalTraining) - inverse of core:educationalTrainingOf core:educationalTrainingOf (EducationalTraining : Person) - inverse of core:educationalTraining - core:degreeEarned (EducationalTraining : AcademicDegree) - inverse of core:degreeOutcomeOf - core:degreeOutcomeOf (AcademicDegree : EducationalTraining) - inverse of core:degreeEarned + core:degreeTypeEarned (EducationalTraining : AcademicdegreeType) - inverse of core:degreeTypeOutcomeOf + core:degreeTypeOutcomeOf (AcademicdegreeType : EducationalTraining) - inverse of core:degreeTypeEarned - core:organizationGrantingDegree (EducationalTraining : Organization) - no inverse + core:organizationGrantingdegreeType (EducationalTraining : Organization) - no inverse Future version -------------- @@ -90,10 +90,13 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements conf.setN3Required( Arrays.asList( n3ForNewEdTraining, trainingTypeAssertion ) ); conf.setN3Optional(Arrays.asList( - n3ForNewOrg, n3ForExistingOrg, majorFieldAssertion, degreeAssertion, - deptAssertion, infoAssertion, n3ForStart, n3ForEnd )); + n3ForNewOrg, n3ForExistingOrg, n3ForNewAwardedDegree, + majorFieldAssertion, + //existingDegreeTypeAssertion, + existingAwardedDegreeLabel, deptAssertion, infoAssertion, n3ForStart, n3ForEnd )); conf.addNewResource("edTraining", DEFAULT_NS_FOR_NEW_RESOURCE); + conf.addNewResource("newAwardedDegree",DEFAULT_NS_FOR_NEW_RESOURCE); conf.addNewResource("newOrg",DEFAULT_NS_FOR_NEW_RESOURCE); conf.addNewResource("intervalNode",DEFAULT_NS_FOR_NEW_RESOURCE); conf.addNewResource("startNode",DEFAULT_NS_FOR_NEW_RESOURCE); @@ -102,10 +105,12 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements //uris in scope: none //literals in scope: none - conf.setUrisOnform( Arrays.asList( "existingOrg", "orgType", "degree", "trainingType")); - conf.setLiteralsOnForm( Arrays.asList("orgLabel", "orgLabelDisplay", "majorField", "dept", "info")); + conf.setUrisOnform( Arrays.asList( "existingOrg", "orgType", "existingAwardedDegree", "degreeType", "trainingType")); + conf.setLiteralsOnForm( Arrays.asList("orgLabel", "orgLabelDisplay", "awardedDegreeLabel", "existingAwardedDegreeLabel", + "majorField", "dept", "info")); conf.addSparqlForExistingLiteral("orgLabel", orgLabelQuery); + conf.addSparqlForExistingLiteral("existingAwardedDegreeLabel", existingAwardedDegreeLabelQuery); conf.addSparqlForExistingLiteral("majorField", majorFieldQuery); conf.addSparqlForExistingLiteral("dept", deptQuery); conf.addSparqlForExistingLiteral("info", infoQuery); @@ -113,10 +118,11 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements conf.addSparqlForExistingLiteral("endField-value", existingEndDateQuery); + conf.addSparqlForExistingUris("existingAwardedDegree", existingAwardedDegreeQuery); conf.addSparqlForExistingUris("existingOrg", existingOrgQuery); conf.addSparqlForExistingUris("orgType", orgTypeQuery); conf.addSparqlForExistingUris("trainingType", trainingTypeQuery); - conf.addSparqlForExistingUris("degree", degreeQuery); + conf.addSparqlForExistingUris("degreeType", degreeTypeQuery); conf.addSparqlForExistingUris("intervalNode",existingIntervalNodeQuery); conf.addSparqlForExistingUris("startNode", existingStartNodeQuery); conf.addSparqlForExistingUris("endNode", existingEndNodeQuery); @@ -126,9 +132,9 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements conf.addSparqlForAdditionalUrisInScope("inverseTrainingAtOrg", inverseTrainingAtOrgQuery); conf.addField( new FieldVTwo(). - setName("degree"). + setName("degreeType"). setOptions( new IndividualsViaVClassOptions( - degreeClass))); + degreeTypeClass))); conf.addField( new FieldVTwo(). setName("majorField"). @@ -140,11 +146,26 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements //options will be added in browser by auto complete JS ); + conf.addField( new FieldVTwo(). + setName("existingAwardedDegree") + //options will be added in browser by auto complete JS + ); + conf.addField( new FieldVTwo(). setName("orgLabel"). setRangeDatatypeUri(XSD.xstring.toString() ). setValidators( list("datatype:" + XSD.xstring.toString()))); - + + conf.addField( new FieldVTwo(). + setName("awardedDegreeLabel"). + setRangeDatatypeUri(XSD.xstring.toString() ). + setValidators( list("datatype:" + XSD.xstring.toString()))); + + conf.addField( new FieldVTwo(). + setName("existingAwardedDegreeLabel"). + setRangeDatatypeUri(XSD.xstring.toString() ). + setValidators( list("datatype:" + XSD.xstring.toString()))); + conf.addField( new FieldVTwo(). setName("orgLabelDisplay"). setRangeDatatypeUri(XSD.xstring.toString() )); @@ -159,7 +180,7 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements setName("trainingType"). setValidators( list("nonempty") ). setOptions( - new ChildVClassesWithParent(trainingClass))); + new ChildVClassesWithParent(edProcessClass))); conf.addField( new FieldVTwo(). setName("dept"). @@ -201,28 +222,44 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements final static String n3ForNewEdTraining = "@prefix core: <"+ vivoCore +"> .\n"+ - "?person core:educationalTraining ?edTraining .\n" + - "?edTraining a core:EducationalTraining .\n" + - "?edTraining core:educationalTrainingOf ?person ."; + "?person ?edTraining .\n" + + "?edTraining a core:EducationalProcess .\n" + + "?edTraining ?person ."; final static String trainingTypeAssertion = "?edTraining a ?trainingType ."; + final static String n3ForNewAwardedDegree = + "@prefix core: <"+ vivoCore +"> .\n"+ + "?edTraining ?newAwardedDegree . \n" + + "?newAwardedDegree ?edTraining . \n" + + "?newAwardedDegree ?person . \n" + + "?person ?newAwardedDegree . \n" + + "?newAwardedDegree <"+ label +"> ?awardedDegreeLabel . \n" + + "?newOrg ?newAwardedDegree . \n" + + "?newAwardedDegree ?newOrg . \n" + + "?newAwardedDegree ?degreeType .\n"+ + "?degreeType ?newAwardedDegree . \n"+ + "?newAwardedDegree a core:AwardedDegree ."; + + final static String existingAwardedDegreeLabel = + "?edTraining ?existingAwardedDegree . \n" + + "?existingAwardedDegree ?edTraining . \n" + + "?existingAwardedDegree ?degreeType .\n"+ + "?degreeType ?existingAwardedDegree . \n"+ + "?existingAwardedDegree <"+ label +"> ?existingAwardedDegreeLabel . " ; + final static String n3ForNewOrg = - "?edTraining <"+ trainingAtOrg +"> ?newOrg . \n" + - "?newOrg ?inverseTrainingAtOrg ?edTraining . \n" + + "?edTraining ?newOrg . \n" + + "?newOrg ?edTraining . \n" + "?newOrg <"+ label +"> ?orgLabel . \n" + "?newOrg a ?orgType ."; - + final static String n3ForExistingOrg = - "?edTraining <"+ trainingAtOrg +"> ?existingOrg . \n" + - "?existingOrg ?inverseTrainingAtOrg ?edTraining . \n" + + "?edTraining ?existingOrg . \n" + + "?existingOrg ?edTraining . \n" + "?existingOrg a ?orgType . "; - final static String degreeAssertion = - "?edTraining <"+ degreeEarned +"> ?degree .\n"+ - "?degree <"+ degreeOutcomeOf +"> ?edTraining ."; - final static String majorFieldAssertion = "?edTraining <"+ majorFieldPred +"> ?majorField ."; @@ -252,20 +289,29 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements final static String existingOrgQuery = "SELECT ?existingOrg WHERE {\n"+ - "?edTraining <"+ trainingAtOrg +"> ?existingOrg . }\n"; + "?edTraining ?existingOrg . }\n"; final static String orgLabelQuery = "SELECT ?existingOrgLabel WHERE {\n"+ - "?edTraining <"+ trainingAtOrg +"> ?existingOrg .\n"+ + "?edTraining ?existingOrg .\n"+ "?existingOrg <"+ label +"> ?existingOrgLabel .\n"+ "}"; + final static String existingAwardedDegreeQuery = + "SELECT ?existingAwardedDegree WHERE {\n"+ + "?edTraining ?existingAwardedDegree . }\n"; + + final static String existingAwardedDegreeLabelQuery = + "SELECT ?existingAwardedDegreeLabel WHERE {\n"+ + "?edTraining ?existingAwardedDegree . \n" + + "?existingAwardedDegree <"+ label +"> ?existingAwardedDegreeLabel }\n"; + /* Limit type to subclasses of foaf:Organization. Otherwise, sometimes owl:Thing or another type is returned and we don't get a match to the select element options. */ final static String orgTypeQuery = "PREFIX rdfs: <"+ rdfs +"> \n"+ "SELECT ?existingOrgType WHERE {\n"+ - "?edTraining <"+ trainingAtOrg +"> ?existingOrg .\n"+ + "?edTraining ?existingOrg .\n"+ "?existingOrg a ?existingOrgType .\n"+ "?existingOrgType rdfs:subClassOf <"+ orgClass +"> .\n"+ "}"; @@ -273,11 +319,15 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements final static String trainingTypeQuery = "PREFIX vitro: <" + VitroVocabulary.vitroURI + "> \n" + "SELECT ?existingTrainingType WHERE { \n" + - " ?edTraining vitro:mostSpecificType ?existingTrainingType . }"; + " ?edTraining vitro:mostSpecificType ?existingTrainingType . }"; - final static String degreeQuery = - "SELECT ?existingDegree WHERE {\n"+ - "?edTraining <"+ degreeEarned +"> ?existingDegree . }"; + final static String degreeTypeQuery = + "PREFIX core: <"+ vivoCore +"> \n"+ + "SELECT ?existingDegreeType WHERE {\n"+ + "?edTraining ?existingAwardedDegree . \n"+ + "?existingAwardedDegree a core:AwardedDegree . \n"+ + "?existingAwardedDegree core:relates ?existingDegreeType . \n" + + "?existingDegreeType a core:AcademicDegree }"; final static String majorFieldQuery = "SELECT ?existingMajorField WHERE {\n"+ @@ -346,7 +396,7 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements final static String inverseTrainingAtOrgQuery = "PREFIX owl: " + " SELECT ?inverseTrainingAtOrg " - + " WHERE { ?inverseTrainingAtOrg owl:inverseOf <"+ trainingAtOrg +"> . } "; + + " WHERE { ?inverseTrainingAtOrg owl:inverseOf . } "; //Adding form specific data such as edit mode @@ -358,10 +408,7 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements public EditMode getEditMode(VitroRequest vreq) { List predicates = new ArrayList(); - predicates.add(trainingAtOrg); + predicates.add("http://vivoweb.org/ontology/core#relates"); return EditModeUtils.getEditMode(vreq, predicates); } - - - } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/VivoBaseGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/VivoBaseGenerator.java index 7bd8818a..cab2f6b3 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/VivoBaseGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/VivoBaseGenerator.java @@ -18,16 +18,13 @@ public abstract class VivoBaseGenerator extends BaseEditConfigurationGenerator i final static String label =rdfs+"label" ; final static String bibo = "http://purl.org/ontology/bibo/"; - final static String trainingClass = vivoCore+"EducationalTraining" ; - final static String degreeClass =vivoCore+"AcademicDegree" ; + final static String edProcessClass = vivoCore+"EducationalProcess" ; + final static String degreeTypeClass =vivoCore+"AcademicDegree" ; final static String majorFieldPred =vivoCore+"majorField" ; final static String deptPred =vivoCore+"departmentOrSchool" ; final static String infoPred =vivoCore+"supplementalInformation" ; - final static String degreeEarned =vivoCore+"degreeEarned" ; - final static String degreeOutcomeOf =vivoCore+"degreeOutcomeOf" ; - final static String trainingAtOrg =vivoCore+"trainingAtOrganization" ; final static String authorRankPredicate = vivoCore + "authorRank"; - final static String linkedAuthorPredicate = vivoCore + "linkedAuthor"; + final static String linkedAuthorPredicate = vivoCore + "relates"; final static String dateTimeValue =vivoCore+"dateTime"; final static String dateTimeValueType =vivoCore+"DateTimeValue"; diff --git a/src/org/vivoweb/webapp/util/ModelUtils.java b/src/org/vivoweb/webapp/util/ModelUtils.java index 9b62e3c4..a7afab86 100644 --- a/src/org/vivoweb/webapp/util/ModelUtils.java +++ b/src/org/vivoweb/webapp/util/ModelUtils.java @@ -23,7 +23,7 @@ public class ModelUtils { private static final String processPropertyURI = "http://purl.obolibrary.org/obo/BFO_0000054"; private static final String processPropertyInverseURI = "http://purl.obolibrary.org/obo/BFO_0000055"; private static final String nonProcessPropertyURI = "http://vivoweb.org/ontology/core#relatedBy"; - private static final String nonProcessPropertyInverseURI = "http://vivoweb.org/ontology/core#contributingRole"; + private static final String nonProcessPropertyInverseURI = "http://purl.obolibrary.org/obo/RO_0000052"; private static Set processClass = new HashSet(); static { From 40cd735752f08df87e3bd5262cf64dff22f03b94 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Mon, 9 Sep 2013 11:49:23 -0400 Subject: [PATCH 33/66] last of the vcard migration (I hope) --- .../{vcard1.sparql => vcard1-0.sparql} | 3 +- .../additions/vcard1-1.sparql | 3 +- .../additions/vcard1-2.sparql | 3 +- .../additions/vcard1-3.sparql | 15 ++++++++ .../sparqlConstructs/additions/vcard9.sparql | 19 ++++++++++ .../deletions/vcardDel.sparql | 38 ++++++++++++------- 6 files changed, 64 insertions(+), 17 deletions(-) rename productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/{vcard1.sparql => vcard1-0.sparql} (88%) create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-3.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0.sparql similarity index 88% rename from productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1.sparql rename to productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0.sparql index 3af689b1..a9262a27 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-0.sparql @@ -18,6 +18,7 @@ CONSTRUCT { EXISTS { ?s vivo:phoneNumber ?phoneNumber } || EXISTS { ?s vivo:primaryPhoneNumber ?primaryPhoneNumber } || EXISTS { ?s vivo:faxNumber ?faxNumber } || - EXISTS { ?s vivo:mailingAddress ?address } + EXISTS { ?s vivo:mailingAddress ?address } || + EXISTS { ?s vivo:webpage ?webpage } ) } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql index cc320ed1..a15d4d0f 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-1.sparql @@ -15,6 +15,7 @@ CONSTRUCT { EXISTS { ?s vivo:phoneNumber ?phoneNumber } || EXISTS { ?s vivo:primaryPhoneNumber ?primaryPhoneNumber } || EXISTS { ?s vivo:faxNumber ?faxNumber } || - EXISTS { ?s vivo:mailingAddress ?address } + EXISTS { ?s vivo:mailingAddress ?address } || + EXISTS { ?s vivo:webpage ?webpage } ) } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql index c899a29f..b966a2a3 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-2.sparql @@ -15,6 +15,7 @@ CONSTRUCT { EXISTS { ?s vivo:phoneNumber ?phoneNumber } || EXISTS { ?s vivo:primaryPhoneNumber ?primaryPhoneNumber } || EXISTS { ?s vivo:faxNumber ?faxNumber } || - EXISTS { ?s vivo:mailingAddress ?address } + EXISTS { ?s vivo:mailingAddress ?address } || + EXISTS { ?s vivo:webpage ?webpage } ) } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-3.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-3.sparql new file mode 100644 index 00000000..96076c4f --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard1-3.sparql @@ -0,0 +1,15 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: +PREFIX owl: + +CONSTRUCT { + ?s arg:ARG_2000028 _:vcard . + _:vcard arg:ARG_2000029 ?s . + _:vcard a v:Individual . +} WHERE { + ?s vivo:webpage ?webpage + FILTER NOT EXISTS { ?s a foaf:Agent } + FILTER NOT EXISTS { ?s arg:ARG_2000028 ?existingvcard } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql new file mode 100644 index 00000000..d400de8f --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard9.sparql @@ -0,0 +1,19 @@ +PREFIX arg: +PREFIX foaf: +PREFIX rdfs: +PREFIX v: +PREFIX vivo: + +CONSTRUCT { + ?vcard v:hasURL _:url . + _:url a v:URL . + _:url v:url ?linkURI . + _:url rdfs:label ?linkAnchorText +} WHERE { + ?s arg:ARG_2000028 ?vcard . + ?s vivo:webpage ?webpage . + ?webpage vivo:linkURI ?linkURI . + OPTIONAL { + ?webpage vivo:linkAnchorText ?linkAnchorText + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql index 901c706a..7df305a2 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql @@ -14,35 +14,45 @@ CONSTRUCT { ?s vivo:faxNumber ?faxNumber . ?s vivo:mailingAddress ?address . ?address ?addressP ?addressO . + ?s vivo:webpage ?webpage . + ?webpage ?webpageP ?webpageO . } WHERE { - ?s a foaf:Agent - OPTIONAL { + { ?s foaf:firstName ?firstName . } - OPTIONAL { + UNION { ?s foaf:lastName ?lastName . } - OPTIONAL { + UNION { ?s vivo:middleName ?middleName } - OPTIONAL { + UNION { ?s vivo:email ?email } - OPTIONAL { + UNION { ?s vivo:primaryEmail ?primaryEmail } - OPTIONAL { + UNION { ?s vivo:phoneNumber ?phoneNumber } - OPTIONAL { + UNION { ?s vivo:primaryPhoneNumber ?primaryPhoneNumber } - OPTIONAL { + UNION { ?s vivo:faxNumber ?faxNumber - } OPTIONAL { - ?s vivo:mailingAddress ?address . - OPTIONAL { - ?address ?addressP ?addressO - } } + UNION { + ?s vivo:mailingAddress ?address . + } + UNION { + ?s vivo:mailingAddress ?address . + ?address ?addressP ?addressO + } + UNION { + ?s vivo:webpage ?webpage + } + UNION { + ?s vivo:webpage ?webpage . + ?webpage ?webpageP ?webpageO + } } From e3227af798b0fa5b1ce97308b942f3d87ca5022e Mon Sep 17 00:00:00 2001 From: j2blake Date: Mon, 9 Sep 2013 12:23:36 -0400 Subject: [PATCH 34/66] VIVO-262 Add languages to VIVO at build time. Move the language-specific files out of the default build area. Add a build property that will cause the selected language(s) to be copied into the build area. --- build.xml | 1 + .../firsttime/classgroups_labels_es.n3 | 0 .../firsttime/propertygroups_labels_es.n3 | 0 .../rdf/display/firsttime}/aboutPage_es.n3 | 0 .../example/rdf/display/firsttime}/menu_es.n3 | 0 .../tbox/firsttime/vivo-core-1.5-labels_es.n3 | 0 .../freemarker}/aboutMapOfScience_es.ftl | 0 .../templates/freemarker}/aboutQrCodes_es.ftl | 0 .../freemarker}/mapOfScienceTooltips_es.ftl | 0 .../example/themes}/wilma/i18n/all_es.properties | 0 .../wilma/i18n/images/select_locale_es_ES.GIF | Bin themes/wilma/i18n/images/select_locale_en_AU.GIF | Bin 1613 -> 0 bytes themes/wilma/i18n/images/select_locale_es_MX.GIF | Bin 1296 -> 0 bytes 13 files changed, 1 insertion(+) rename {rdf => languages/example/rdf}/applicationMetadata/firsttime/classgroups_labels_es.n3 (100%) rename {rdf => languages/example/rdf}/applicationMetadata/firsttime/propertygroups_labels_es.n3 (100%) rename {rdf/display/everytime => languages/example/rdf/display/firsttime}/aboutPage_es.n3 (100%) rename {rdf/display/everytime => languages/example/rdf/display/firsttime}/menu_es.n3 (100%) rename {rdf => languages/example/rdf}/tbox/firsttime/vivo-core-1.5-labels_es.n3 (100%) rename {productMods/templates/freemarker/visualization/mapOfScience => languages/example/templates/freemarker}/aboutMapOfScience_es.ftl (100%) rename {productMods/templates/freemarker/body => languages/example/templates/freemarker}/aboutQrCodes_es.ftl (100%) rename {productMods/templates/freemarker/visualization/mapOfScience => languages/example/templates/freemarker}/mapOfScienceTooltips_es.ftl (100%) rename {themes => languages/example/themes}/wilma/i18n/all_es.properties (100%) rename {themes => languages/example/themes}/wilma/i18n/images/select_locale_es_ES.GIF (100%) delete mode 100644 themes/wilma/i18n/images/select_locale_en_AU.GIF delete mode 100644 themes/wilma/i18n/images/select_locale_es_MX.GIF diff --git a/build.xml b/build.xml index 2100f27f..c19a9b9a 100644 --- a/build.xml +++ b/build.xml @@ -72,6 +72,7 @@ + diff --git a/rdf/applicationMetadata/firsttime/classgroups_labels_es.n3 b/languages/example/rdf/applicationMetadata/firsttime/classgroups_labels_es.n3 similarity index 100% rename from rdf/applicationMetadata/firsttime/classgroups_labels_es.n3 rename to languages/example/rdf/applicationMetadata/firsttime/classgroups_labels_es.n3 diff --git a/rdf/applicationMetadata/firsttime/propertygroups_labels_es.n3 b/languages/example/rdf/applicationMetadata/firsttime/propertygroups_labels_es.n3 similarity index 100% rename from rdf/applicationMetadata/firsttime/propertygroups_labels_es.n3 rename to languages/example/rdf/applicationMetadata/firsttime/propertygroups_labels_es.n3 diff --git a/rdf/display/everytime/aboutPage_es.n3 b/languages/example/rdf/display/firsttime/aboutPage_es.n3 similarity index 100% rename from rdf/display/everytime/aboutPage_es.n3 rename to languages/example/rdf/display/firsttime/aboutPage_es.n3 diff --git a/rdf/display/everytime/menu_es.n3 b/languages/example/rdf/display/firsttime/menu_es.n3 similarity index 100% rename from rdf/display/everytime/menu_es.n3 rename to languages/example/rdf/display/firsttime/menu_es.n3 diff --git a/rdf/tbox/firsttime/vivo-core-1.5-labels_es.n3 b/languages/example/rdf/tbox/firsttime/vivo-core-1.5-labels_es.n3 similarity index 100% rename from rdf/tbox/firsttime/vivo-core-1.5-labels_es.n3 rename to languages/example/rdf/tbox/firsttime/vivo-core-1.5-labels_es.n3 diff --git a/productMods/templates/freemarker/visualization/mapOfScience/aboutMapOfScience_es.ftl b/languages/example/templates/freemarker/aboutMapOfScience_es.ftl similarity index 100% rename from productMods/templates/freemarker/visualization/mapOfScience/aboutMapOfScience_es.ftl rename to languages/example/templates/freemarker/aboutMapOfScience_es.ftl diff --git a/productMods/templates/freemarker/body/aboutQrCodes_es.ftl b/languages/example/templates/freemarker/aboutQrCodes_es.ftl similarity index 100% rename from productMods/templates/freemarker/body/aboutQrCodes_es.ftl rename to languages/example/templates/freemarker/aboutQrCodes_es.ftl diff --git a/productMods/templates/freemarker/visualization/mapOfScience/mapOfScienceTooltips_es.ftl b/languages/example/templates/freemarker/mapOfScienceTooltips_es.ftl similarity index 100% rename from productMods/templates/freemarker/visualization/mapOfScience/mapOfScienceTooltips_es.ftl rename to languages/example/templates/freemarker/mapOfScienceTooltips_es.ftl diff --git a/themes/wilma/i18n/all_es.properties b/languages/example/themes/wilma/i18n/all_es.properties similarity index 100% rename from themes/wilma/i18n/all_es.properties rename to languages/example/themes/wilma/i18n/all_es.properties diff --git a/themes/wilma/i18n/images/select_locale_es_ES.GIF b/languages/example/themes/wilma/i18n/images/select_locale_es_ES.GIF similarity index 100% rename from themes/wilma/i18n/images/select_locale_es_ES.GIF rename to languages/example/themes/wilma/i18n/images/select_locale_es_ES.GIF diff --git a/themes/wilma/i18n/images/select_locale_en_AU.GIF b/themes/wilma/i18n/images/select_locale_en_AU.GIF deleted file mode 100644 index e4c2274c8deb7f9f33be2520d0cf3710fc114a60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1613 zcmeIx{ZA7I7zglc<)w!bt1zfKet426 zd6H5Rml^VmfEsWEdXE&h#O)D9k05w>3Gd+~oQIXL{|?h)$pZxYmcK_!V2loB=1i@X$?=AAT8*?E%U36jTf9>sZO6t7fsoWQX>=VUnq zIe}#*JWI1IL9sZ&VkCZt<*c6oYToV3A+=wJ2A@PVC{AZV<#OH#ZVMYkTgNiIPS!89K#$KN}-qo zMJ09%N?9y+3qm0lJAz0k1eTD9nLyMC3{x;n!Vn4TQCMMyU=o5Pgc%~uW(i?7VP+*{ zG7%;dZZJqNyIaou2l=#=u}O z+G^?tfNXie+l0oB7SLFgUb42aqr;eMq9$@f*Zk0y+!%gWTap$qGa|f~_^V*u-In+B zpP&2SWii``L4RbXRvt6jbC2A@y8=gdc~3KfA!*zE7dpVF{voNYNmF|pBO5d;D|(X^ zx79iTSXRBgh(PE(6t8f-GBPFN0EG4Wd?UfD8fN2{Tk{#47Yswo<*__rKJyVfqetoDT zm^=}o)Kt1M!@%m+nj?pIy}lj+?2#9qENwGd`@Ivto;5pc-@)~&vSq1;0(;#<&!t0f zbHcL)O?dlxS7(K`@X5YX-EBMwrqttk))nd+Rl2Ju!?9t^m=IL2N@~>XRNrfC_%wDT zC4%a7auL+7IcLy}g1v*OToJZ4WVQAC_LdhNLQ(7M!rx=&Sff)y=>+TY&Qn{12wPtB zkhU0kb$MrD+myD*(t)dqBivE&OO0<1c>Gd(pI7aQZ?DVR7W;+e_x23<7oQ9M`MP(G z>gBcJ%;&n0Sowplfq?0qfg5xuSAug47lhIwuj!R#x1tI)Nx_k0 z!*51#AHSt#w$Zy=_U!dds4w!LKwY*Tg*Lyc{G4-pR_B=ipD}-f_dH;1=i;B9*2}kq yu9%Yja+7Udi0+rz>Cw9THTQPwYUbaGyX2bo?zNZ))Xvr8rW3U>Z^vaaVEI1}_k(Nz diff --git a/themes/wilma/i18n/images/select_locale_es_MX.GIF b/themes/wilma/i18n/images/select_locale_es_MX.GIF deleted file mode 100644 index 11c25782ba3452ebcc14221e15137027ab8356ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1296 zcmeH`|4$r67{>Q(g#(H?!NxnJmJ7D!4r)BK%7KmTXHKA=a>% z&|@vMo!V9=E!C-9OQ#adB+zyfzhs*$)}^GnrL?S}>IQ>#K@-m!c`y?~TY$@AZe&CpF$L(>dZHB{LEf&qXY({w}AT^`-((w$D-ZerJMcJq)X6OCd`gsQHX zjjEbZRgqMMs+6iMtNQ(lt}2>|qNuW>Qbmyzg(|WMQ3#SXRn`<)B{IP>0x}FrnmJD- zg-9}%h$tZ-Azm_l$VviBRf#Hy%8+6}5uhSR1&*l5oF_6Q6cUjorX#R~_YuxTI44#p z{yW`_!xF@jh>3_X#3G9YKawz#5Rw3*2vLYcfJ{^HA>c*4i3h3_$^c3L5&|)T2tt8} zybE$R$l4)m6R99lAesW481#rirx>)0oKs|Ng5N6m8NtT@3IQenBOnF=YXvL={0uOC zFT)ds$CSq`4}*Nr#rqlF#{@;5Lw+-k<9+6RSb=4M-;aS4arOkP4YADs`p*j#B#fVy4V)S6&MQ|f z(R1YL@q(2{ay<2oU)=jdNL}VBB-gt01F4~uz}f44rF-W8{O!@1s#BY~{ne>m4?W*o z*?SRrtKHWIYKEHLyfyLT_~3?-;qSQlnVJuFKHFHG)*jk6&^-OtJ74`0wVc~?=;B2F z{i{1NYd^G34z3%VI^TMJzRuY{_TJN-^SIeDai?xr*ydg+Ty;<5=RNa}G){Vd-ZA`= zqxQt^tQ*d<3htKtM{!~Kl7iN`$QxH4|9*Y?izP~0@nhx7>s~MQrr(ASuD91eyykkz zPdKSEJNoO+jE3@E6+5_W&yDEe&Tm4W^qrjkwk-VQ_Lhikw{kSsw`FFk-JTY$Io1}S za~;Xm%^9T*{zA^CjH;!lEcT~vN-M%Ou7%5%&0hyb*F;*zyHaHtWtCGg Date: Mon, 9 Sep 2013 13:32:10 -0400 Subject: [PATCH 35/66] VIVO-112: updates to handle grant roles correctly --- productMods/config/listViewConfig-hasRole.xml | 37 ++++++++++++++++--- src/org/vivoweb/webapp/util/ModelUtils.java | 22 +++++++++-- 2 files changed, 51 insertions(+), 8 deletions(-) diff --git a/productMods/config/listViewConfig-hasRole.xml b/productMods/config/listViewConfig-hasRole.xml index a3383212..b4fe60ff 100644 --- a/productMods/config/listViewConfig-hasRole.xml +++ b/productMods/config/listViewConfig-hasRole.xml @@ -33,8 +33,15 @@ ?activity vitro:mostSpecificType ?subclass } - - OPTIONAL { ?role core:relatedBy ?activity + OPTIONAL { ?role core:relates ?activity + LET (?activityName := afn:localname(?activity)) + OPTIONAL { ?activity rdfs:label ?activityLabel } + + + ?activity vitro:mostSpecificType ?subclass + + } + OPTIONAL { ?role core:roleContributesTo ?activity LET (?activityName := afn:localname(?activity)) OPTIONAL { ?activity rdfs:label ?activityLabel } @@ -65,15 +72,31 @@ CONSTRUCT { ?subject ?property ?role . - ?role core:relatedBy ?activity . + ?role core:relates ?activity . ?activity vitro:mostSpecificType ?subclass . } WHERE { ?subject ?property ?role . - ?role core:relatedBy ?activity . + ?role core:relates ?activity . ?activity vitro:mostSpecificType ?subclass } + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + CONSTRUCT { + ?subject ?property ?role . + ?role core:roleContributesTo ?activity . + ?activity vitro:mostSpecificType ?subclass . + } WHERE { + ?subject ?property ?role . + ?role core:roleContributesTo ?activity . + ?activity vitro:mostSpecificType ?subclass + } + + PREFIX core: <http://vivoweb.org/ontology/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> @@ -105,12 +128,16 @@ ?role ?roleProperty ?roleValue } UNION { ?subject ?property ?role . - ?role core:relatedBy ?activity . + ?role core:relates ?activity . ?activity rdfs:label ?activityName } UNION { ?subject ?property ?role . ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?activity . ?activity rdfs:label ?activityName + } UNION { + ?subject ?property ?role . + ?role core:roleContributesTo ?activity . + ?activity rdfs:label ?activityName } } diff --git a/src/org/vivoweb/webapp/util/ModelUtils.java b/src/org/vivoweb/webapp/util/ModelUtils.java index a7afab86..b3df1d6b 100644 --- a/src/org/vivoweb/webapp/util/ModelUtils.java +++ b/src/org/vivoweb/webapp/util/ModelUtils.java @@ -22,8 +22,10 @@ public class ModelUtils { private static final String processPropertyURI = "http://purl.obolibrary.org/obo/BFO_0000054"; private static final String processPropertyInverseURI = "http://purl.obolibrary.org/obo/BFO_0000055"; - private static final String nonProcessPropertyURI = "http://vivoweb.org/ontology/core#relatedBy"; - private static final String nonProcessPropertyInverseURI = "http://purl.obolibrary.org/obo/RO_0000052"; + private static final String nonProcessPropertyURI = "http://vivoweb.org/ontology/core#roleContributesTo"; + private static final String nonProcessPropertyInverseURI = "http://vivoweb.org/ontology/core#contributingRole"; + private static final String grantPropertyURI = "http://vivoweb.org/ontology/core#relates"; + private static final String grantPropertyInverseURI = "http://vivoweb.org/ontology/core#relatedBy"; private static Set processClass = new HashSet(); static { @@ -32,6 +34,10 @@ public class ModelUtils { processClass.add("http://vivoweb.org/ontology/core#EventSeries"); } + private static Set grantClass = new HashSet(); + static { + grantClass.add("http://vivoweb.org/ontology/core#Grant"); + } /* * Given a class URI that represents the type of entity that a Role * is in (in, in any of its senses) this method returns the URIs of @@ -61,6 +67,7 @@ public class ModelUtils { ObjectProperty op = new ObjectProperty(); boolean isBFOProcess = false; + boolean isGrantClass = false; while (iter.hasNext()) { String superClassURI = iter.next(); @@ -69,12 +76,21 @@ public class ModelUtils { isBFOProcess = true; break; } + if (grantClass.contains(superClassURI)) { + isGrantClass = true; + break; + } } if (isBFOProcess) { op.setURI(processPropertyURI); op.setURIInverse(processPropertyInverseURI); - } else { + } + else if (isGrantClass){ + op.setURI(grantPropertyURI); + op.setURIInverse(grantPropertyInverseURI); + } + else { op.setURI(nonProcessPropertyURI); op.setURIInverse(nonProcessPropertyInverseURI); } From 4202f1a0a6ea66625ce9b937e85654b2b0ac00b6 Mon Sep 17 00:00:00 2001 From: j2blake Date: Mon, 9 Sep 2013 14:19:04 -0400 Subject: [PATCH 36/66] VIVO-262 Document the language support configuration --- doc/install.html | 17 ++++++++++++ doc/upgrade-1.6.html | 63 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) diff --git a/doc/install.html b/doc/install.html index da502ae8..7740fd0f 100644 --- a/doc/install.html +++ b/doc/install.html @@ -316,6 +316,23 @@ /usr/local/vivo/home +

+ + + + + +
+ Languages (in addition to American English) that will be built into your + VIVO site. The languages must be found in the + languages directory of the VIVO distribution. + See + the VIVO Wiki for more information. +
+ languages.addToBuild + + es_MX +
diff --git a/doc/upgrade-1.6.html b/doc/upgrade-1.6.html index 181888a7..1e25bdfe 100644 --- a/doc/upgrade-1.6.html +++ b/doc/upgrade-1.6.html @@ -49,6 +49,7 @@
  • Multiple foaf:Person Profile Pages
  • Home Page Re-design
  • Auto-loaded RDF files move to the Home directory
  • +
  • Support for additional languages
  • ANYTHING ELSE?
  • @@ -362,6 +363,30 @@ rdf/tbox/filegraph/tbox/vivo-skos-1.5.owl </patternset>

    +

    Support for additional languages

    +

    + VIVO 1.6 includes limited support for other languages, in addition to American English. + This limited support is described as read-only support on public-facing + pages. +

    +

    + Read-only means that there is no provision for editing multi-language + data or displays. Property values, ontology labels, etc. must all be provided in RDF files + and ingested or otherwise inserted into the data model. The Page Management user interface + does not support maintaining pages in multiple languages. +

    +

    + Public-facing means that most of the pages used for site adminstration + are only presented in American English. +

    +

    + These two pages in the VIVO Wiki describe how to + + Build VIVO with multiple languages and how to + + Add a new language to VIVO. +

    +

    ANYTHING ELSE?

    @@ -445,6 +470,44 @@ rdf/tbox/filegraph/tbox/vivo-skos-1.5.owl goes into your VIVO home directory.

    +

    + The properties below are new to build.properties. They are optional, + so you need not add them unless you want a value other than the default. +

    +

    + +

    + + + + + + + + + + + + + + + +
    + Property Name + + Example Value +
    + Languages (in addition to American English) that will be built into your + VIVO site. The languages must be found in the + languages directory of the VIVO distribution. + See + the VIVO Wiki for more information. +
    + languages.addToBuild + + es_MX +
    +

    The properties below are new to runtime.properties. They are optional, so you need not add them, unless you want a value other than the default. From 69a45e573a0bae0dde8f661b8b1d7b6c2122366e Mon Sep 17 00:00:00 2001 From: j2blake Date: Mon, 9 Sep 2013 14:24:07 -0400 Subject: [PATCH 37/66] VIVO-262 Document the language support configuration --- example.build.properties | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/example.build.properties b/example.build.properties index 16c2b598..64fb99f2 100644 --- a/example.build.properties +++ b/example.build.properties @@ -37,3 +37,10 @@ webapp.name = vivo # This includes uploaded files (usually images) and the search index. # vitro.home = /usr/local/vivo/home + +# +# Additional languages to be built into your VIVO site. The locales specified +# here must appear as sub-directories of [vivo]/languages in the distribution. +# Find more information on the VIVO Wiki (https://wiki.duraspace.org/display/VIVO). +# +#languages.addToBuild = From c367ce4fd6a1beb78015a9494af24d426023cd73 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Tue, 10 Sep 2013 10:24:28 -0400 Subject: [PATCH 38/66] moving PropertyConfigSupp.n3 to the right directory --- .../display/everytime}/PropertyConfigSupp.n3 | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {productMods/WEB-INF/ontologies/app/loadedAtStartup => rdf/display/everytime}/PropertyConfigSupp.n3 (100%) diff --git a/productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfigSupp.n3 b/rdf/display/everytime/PropertyConfigSupp.n3 similarity index 100% rename from productMods/WEB-INF/ontologies/app/loadedAtStartup/PropertyConfigSupp.n3 rename to rdf/display/everytime/PropertyConfigSupp.n3 From fbf2c4b65157b3cee9f6400cb4c9454884895ef8 Mon Sep 17 00:00:00 2001 From: tworrall Date: Tue, 10 Sep 2013 11:33:20 -0400 Subject: [PATCH 39/66] VIVO-112: more updates for educational training and a change for organizationHasPositionHistory --- .../listViewConfig-educationalTraining.xml | 27 +++++---- .../listViewConfig-hasInvestigatorRole.xml | 30 +++++----- ...listViewConfig-organizationForPosition.xml | 23 +++++-- .../forms/personHasEducationalTraining.ftl | 4 +- ...ganizationHasPositionHistoryGenerator.java | 16 ++--- .../PersonHasEducationalTraining.java | 60 ++++++++++++------- 6 files changed, 97 insertions(+), 63 deletions(-) diff --git a/productMods/config/listViewConfig-educationalTraining.xml b/productMods/config/listViewConfig-educationalTraining.xml index 810c1e95..5334d50d 100644 --- a/productMods/config/listViewConfig-educationalTraining.xml +++ b/productMods/config/listViewConfig-educationalTraining.xml @@ -26,7 +26,13 @@ ?trainingType rdfs:subClassOf core:EducationalProcess . ?trainingType rdfs:label ?typeName } - OPTIONAL { ?edTraining core:relates ?org . + OPTIONAL { ?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree . + ?awardedDegree core:relates ?degree . + ?degree a core:AcademicDegree + OPTIONAL { ?degree rdfs:label ?degreeName } + OPTIONAL { ?degree core:abbreviation ?degreeAbbr } + } + OPTIONAL { ?awardedDegree core:assignedBy ?org . ?org rdfs:label ?orgName OPTIONAL { ?org vitro:mostSpecificType ?subclass . @@ -34,12 +40,6 @@ } } - OPTIONAL { ?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree . - ?awardedDegree core:relates ?degree . - ?degree a core:AcademicDegree - OPTIONAL { ?degree rdfs:label ?degreeName } - OPTIONAL { ?degree core:abbreviation ?degreeAbbr } - } OPTIONAL { ?edTraining core:majorField ?majorField } OPTIONAL { ?edTraining core:departmentOrSchool ?deptOrSchool } OPTIONAL { ?edTraining core:supplementalInformation ?info } @@ -74,9 +74,9 @@ ?subject ?property ?edTraining . ?edTraining a core:EducationalProcess . ?edTraining ?edTrainingProp ?edTrainingValue . - ?edTraining core:relates ?org . - ?org rdfs:label ?orgName . ?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree . + ?awardedDegree core:assignedBy ?org . + ?org rdfs:label ?orgName . ?awardedDegree core:relates ?degree . ?edTraining core:dateTimeInterval ?dateTimeInterval } WHERE { @@ -92,14 +92,15 @@ UNION { ?subject ?property ?edTraining . ?edTraining a core:EducationalProcess . - ?edTraining core:relates ?org . - ?org rdfs:label ?orgName - } + ?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree . + } UNION { ?subject ?property ?edTraining . ?edTraining a core:EducationalProcess . ?edTraining <http://purl.obolibrary.org/obo/RO_0002234> ?awardedDegree . - } + ?awardedDegree core:assignedBy ?org . + ?org rdfs:label ?orgName + } UNION { ?subject ?property ?edTraining . ?edTraining a core:EducationalProcess . diff --git a/productMods/config/listViewConfig-hasInvestigatorRole.xml b/productMods/config/listViewConfig-hasInvestigatorRole.xml index 98344214..b8da33ce 100644 --- a/productMods/config/listViewConfig-hasInvestigatorRole.xml +++ b/productMods/config/listViewConfig-hasInvestigatorRole.xml @@ -31,7 +31,7 @@ LET (?activityName := afn:localname(?activity)) OPTIONAL { ?activity rdfs:label ?activityLabel } } - OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity + OPTIONAL { ?role <http://vivoweb.org/ontology/core#relates> ?activity LET (?activityName := afn:localname(?activity)) OPTIONAL { ?activity rdfs:label ?activityLabel } } @@ -49,7 +49,7 @@ ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole } } - OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant . + OPTIONAL { ?role <http://vivoweb.org/ontology/core#relates> ?grant . ?grant core:dateTimeInterval ?dateTimeIntervalGrant OPTIONAL { ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant @@ -77,7 +77,7 @@ { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity + ?role <http://vivoweb.org/ontology/core#relates> ?activity } UNION { ?subject ?property ?role . @@ -96,18 +96,18 @@ CONSTRUCT { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . + ?role <http://vivoweb.org/ontology/core#relates> ?activity . ?activity rdfs:label ?activityLabel } WHERE { { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity + ?role <http://vivoweb.org/ontology/core#relates> ?activity } UNION { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . + ?role <http://vivoweb.org/ontology/core#relates> ?activity . ?activity rdfs:label ?activityLabel } } @@ -135,7 +135,7 @@ } UNION { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . + ?role <http://vivoweb.org/ontology/core#relates> ?activity . ?activity rdfs:label ?activityName } UNION { ?subject ?property ?role . @@ -145,23 +145,23 @@ } UNION { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . + ?role <http://vivoweb.org/ontology/core#relates> ?activity . ?activity core:grantAwardedBy ?awardedBy } UNION { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . + ?role <http://vivoweb.org/ontology/core#relates> ?activity . ?activity core:grantAwardedBy ?awardedBy . ?awardedBy rdfs:label ?awardedByLabel } UNION { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . + ?role <http://vivoweb.org/ontology/core#relates> ?activity . ?activity core:administeredBy ?adminedBy } UNION { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . + ?role <http://vivoweb.org/ontology/core#relates> ?activity . ?activity core:administeredBy ?adminedBy . ?adminedBy rdfs:label ?adminedByLabel } @@ -206,14 +206,14 @@ CONSTRUCT { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant . + ?role <http://vivoweb.org/ontology/core#relates> ?grant . ?grant core:dateTimeInterval ?dateTimeIntervalGrant . ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant } WHERE { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant . + ?role <http://vivoweb.org/ontology/core#relates> ?grant . ?grant core:dateTimeInterval ?dateTimeIntervalGrant . ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant @@ -225,14 +225,14 @@ CONSTRUCT { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant . + ?role <http://vivoweb.org/ontology/core#relates> ?grant . ?grant core:dateTimeInterval ?dateTimeIntervalGrant . ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant . ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant } WHERE { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant . + ?role <http://vivoweb.org/ontology/core#relates> ?grant . ?grant core:dateTimeInterval ?dateTimeIntervalGrant . ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant . ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant diff --git a/productMods/config/listViewConfig-organizationForPosition.xml b/productMods/config/listViewConfig-organizationForPosition.xml index 9416110d..a49f0889 100644 --- a/productMods/config/listViewConfig-organizationForPosition.xml +++ b/productMods/config/listViewConfig-organizationForPosition.xml @@ -9,6 +9,7 @@ PREFIX core: <http://vivoweb.org/ontology/core#> PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT DISTINCT ?subclass ?position @@ -19,6 +20,7 @@ WHERE { ?subject ?property ?position OPTIONAL { ?position core:relates ?person . + ?person a foaf:Person . ?person rdfs:label ?personName } @@ -51,29 +53,38 @@ PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> CONSTRUCT { ?subject ?property ?position . + ?position a core:Position . ?position vitro:mostSpecificType ?subclass } WHERE { ?subject ?property ?position . + ?position a core:Position . ?position vitro:mostSpecificType ?subclass } PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX foaf: <http://xmlns.com/foaf/0.1/> CONSTRUCT { ?subject ?property ?position . + ?position a core:Position . ?position ?positionProperty ?positionValue . + ?position core:relates ?person . + ?person a foaf:Person . ?person rdfs:label ?personName } WHERE { { - ?subject ?property ?position + ?subject ?property ?position . + ?position a core:Position . } UNION { ?subject ?property ?position . + ?position a core:Position . ?position ?positionProperty ?positionValue } UNION { ?subject ?property ?position . - ?position core:positionForPerson ?person . + ?position core:relates ?person . + ?person a foaf:Person . ?person rdfs:label ?personName } } @@ -83,11 +94,13 @@ PREFIX core: <http://vivoweb.org/ontology/core#> CONSTRUCT { ?subject ?property ?position . + ?position a core:Position . ?position core:dateTimeInterval ?dateTimeInterval . ?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeStartValue core:dateTime ?dateTimeStart } WHERE { - ?subject ?property ?position . + ?subject ?property ?position . + ?position a core:Position . ?position core:dateTimeInterval ?dateTimeInterval . ?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeStartValue core:dateTime ?dateTimeStart @@ -98,11 +111,13 @@ PREFIX core: <http://vivoweb.org/ontology/core#> CONSTRUCT { ?subject ?property ?position . + ?position a core:Position . ?position core:dateTimeInterval ?dateTimeInterval . ?dateTimeInterval core:end ?dateTimeEndValue . ?dateTimeEndValue core:dateTime ?dateTimeEnd } WHERE { ?subject ?property ?position . + ?position a core:Position . ?position core:dateTimeInterval ?dateTimeInterval . ?dateTimeInterval core:end ?dateTimeEndValue . ?dateTimeEndValue core:dateTime ?dateTimeEnd diff --git a/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl b/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl index b514b188..d7ab5d20 100644 --- a/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl +++ b/productMods/templates/freemarker/edit/forms/personHasEducationalTraining.ftl @@ -44,7 +44,7 @@ Set this flag on the input acUriReceiver where you would like this behavior to o <#assign submissionErrors = editSubmission.validationErrors/> -<#if editMode == "edit"> +<#if editMode == "edit" || editMode == "repair"> <#assign titleVerb="${i18n().edit_capitalized}"> <#assign submitButtonText="${i18n().save_changes}"> <#assign disabledVal="disabled"> @@ -164,7 +164,7 @@ Set this flag on the input acUriReceiver where you would like this behavior to o - <#if editMode == "edit"> + <#if editMode == "edit" || editMode == "repair"> <#else> diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationHasPositionHistoryGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationHasPositionHistoryGenerator.java index 6364b3cc..ac562d48 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationHasPositionHistoryGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/OrganizationHasPositionHistoryGenerator.java @@ -43,13 +43,13 @@ public class OrganizationHasPositionHistoryGenerator extends VivoBaseGenerator + "PREFIX core: \n" + "PREFIX rdfs: \n" + "SELECT ?existingPerson WHERE { \n" - + " ?position core:positionForPerson ?existingPerson .}"; + + " ?position core:relates ?existingPerson .}"; private static final String QUERY_EXISTING_PERSON_LABEL = "" + "PREFIX core: \n" + "PREFIX rdfs: \n" + "SELECT ?existingPersonLabel WHERE { \n" - + " ?position core:positionForPerson ?existingPerson . \n" + + " ?position core:relates ?existingPerson . \n" + " ?existingPerson rdfs:label ?existingPersonLabel . }"; private static final String QUERY_EXISTING_INTERVAL_NODE = "" @@ -113,18 +113,18 @@ public class OrganizationHasPositionHistoryGenerator extends VivoBaseGenerator private static final String N3_NEW_POSITION = "" + "@prefix core: . \n" + "@prefix rdfs: . \n" - + "?organization core:organizationForPosition ?position . \n" + + "?organization core:relatedBy ?position . \n" + "?position a core:Position . \n" + "?position a ?positionType . \n" + "?position rdfs:label ?positionTitle . \n" - + "?position core:positionInOrganization ?organization . "; + + "?position core:relates ?organization . "; private static final String N3_NEW_PERSON = "" + "@prefix core: . \n" + "@prefix rdfs: . \n" + "@prefix foaf: . \n" - + "?position core:positionForPerson ?person . \n" - + "?person core:personInPosition ?position . \n" + + "?position core:relates ?person . \n" + + "?person core:relatedBy ?position . \n" + "?person a foaf:Person . \n" + "?person rdfs:label ?personLabel . "; @@ -138,8 +138,8 @@ public class OrganizationHasPositionHistoryGenerator extends VivoBaseGenerator private static final String N3_EXISTING_PERSON = "" + "@prefix core: . \n" - + "?position core:positionForPerson ?existingPerson . \n" - + "?existingPerson core:personInPosition ?position . \n"; + + "?position core:relates ?existingPerson . \n" + + "?existingPerson core:relatedBy ?position . \n"; private static final String N3_NEW_START_NODE = "" + "@prefix core: . \n" diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java index 762ff407..880dd0f8 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEducationalTraining.java @@ -90,8 +90,8 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements conf.setN3Required( Arrays.asList( n3ForNewEdTraining, trainingTypeAssertion ) ); conf.setN3Optional(Arrays.asList( - n3ForNewOrg, n3ForExistingOrg, n3ForNewAwardedDegree, - majorFieldAssertion, + n3ForNewOrgExistingAwardedDegree, n3ForExistingOrgExistingAwardedDegree, n3ForNewAwardedDegreeNewOrg, + majorFieldAssertion, n3ForNewAwardedDegreeExistingOrg, //existingDegreeTypeAssertion, existingAwardedDegreeLabel, deptAssertion, infoAssertion, n3ForStart, n3ForEnd )); @@ -229,15 +229,30 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements final static String trainingTypeAssertion = "?edTraining a ?trainingType ."; - final static String n3ForNewAwardedDegree = + final static String n3ForNewAwardedDegreeNewOrg = "@prefix core: <"+ vivoCore +"> .\n"+ "?edTraining ?newAwardedDegree . \n" + "?newAwardedDegree ?edTraining . \n" + "?newAwardedDegree ?person . \n" + "?person ?newAwardedDegree . \n" + "?newAwardedDegree <"+ label +"> ?awardedDegreeLabel . \n" + - "?newOrg ?newAwardedDegree . \n" + "?newAwardedDegree ?newOrg . \n" + + "?newOrg ?newAwardedDegree . \n" + + "?newOrg a ?orgType . \n" + + "?newOrg <"+ label +"> ?orgLabel . \n" + + "?newAwardedDegree ?degreeType .\n"+ + "?degreeType ?newAwardedDegree . \n"+ + "?newAwardedDegree a core:AwardedDegree ."; + + final static String n3ForNewAwardedDegreeExistingOrg = + "@prefix core: <"+ vivoCore +"> .\n"+ + "?edTraining ?newAwardedDegree . \n" + + "?newAwardedDegree ?edTraining . \n" + + "?newAwardedDegree ?person . \n" + + "?person ?newAwardedDegree . \n" + + "?newAwardedDegree <"+ label +"> ?awardedDegreeLabel . \n" + + "?existingOrg ?newAwardedDegree . \n" + + "?newAwardedDegree ?existingOrg . \n" + "?newAwardedDegree ?degreeType .\n"+ "?degreeType ?newAwardedDegree . \n"+ "?newAwardedDegree a core:AwardedDegree ."; @@ -249,15 +264,15 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements "?degreeType ?existingAwardedDegree . \n"+ "?existingAwardedDegree <"+ label +"> ?existingAwardedDegreeLabel . " ; - final static String n3ForNewOrg = - "?edTraining ?newOrg . \n" + - "?newOrg ?edTraining . \n" + + final static String n3ForNewOrgExistingAwardedDegree = + "?existingAwardedDegree ?newOrg . \n" + + "?newOrg ?existingAwardedDegree . \n" + "?newOrg <"+ label +"> ?orgLabel . \n" + "?newOrg a ?orgType ."; - final static String n3ForExistingOrg = - "?edTraining ?existingOrg . \n" + - "?existingOrg ?edTraining . \n" + + final static String n3ForExistingOrgExistingAwardedDegree = + "?existingAwardedDegree ?existingOrg . \n" + + "?existingOrg ?existingAwardedDegree . \n" + "?existingOrg a ?orgType . "; final static String majorFieldAssertion = @@ -287,16 +302,6 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements /* Queries for editing an existing educational training entry */ - final static String existingOrgQuery = - "SELECT ?existingOrg WHERE {\n"+ - "?edTraining ?existingOrg . }\n"; - - final static String orgLabelQuery = - "SELECT ?existingOrgLabel WHERE {\n"+ - "?edTraining ?existingOrg .\n"+ - "?existingOrg <"+ label +"> ?existingOrgLabel .\n"+ - "}"; - final static String existingAwardedDegreeQuery = "SELECT ?existingAwardedDegree WHERE {\n"+ "?edTraining ?existingAwardedDegree . }\n"; @@ -306,12 +311,25 @@ public class PersonHasEducationalTraining extends VivoBaseGenerator implements "?edTraining ?existingAwardedDegree . \n" + "?existingAwardedDegree <"+ label +"> ?existingAwardedDegreeLabel }\n"; + final static String existingOrgQuery = + "SELECT ?existingOrg WHERE {\n"+ + "?edTraining ?existingAwardedDegree . \n" + + "?existingAwardedDegree ?existingOrg . }\n"; + + final static String orgLabelQuery = + "SELECT ?existingOrgLabel WHERE {\n"+ + "?edTraining ?existingAwardedDegree . \n" + + "?existingAwardedDegree ?existingOrg .\n"+ + "?existingOrg <"+ label +"> ?existingOrgLabel .\n"+ + "}"; + /* Limit type to subclasses of foaf:Organization. Otherwise, sometimes owl:Thing or another type is returned and we don't get a match to the select element options. */ final static String orgTypeQuery = "PREFIX rdfs: <"+ rdfs +"> \n"+ "SELECT ?existingOrgType WHERE {\n"+ - "?edTraining ?existingOrg .\n"+ + "?edTraining ?existingAwardedDegree . \n" + + "?existingAwardedDegree ?existingOrg .\n"+ "?existingOrg a ?existingOrgType .\n"+ "?existingOrgType rdfs:subClassOf <"+ orgClass +"> .\n"+ "}"; From 20db43038fe3a5d810beeae049637c903b1b3271 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Tue, 10 Sep 2013 13:36:31 -0400 Subject: [PATCH 40/66] adding AdviseeRole and AdvisorRole and some domains and ranges --- rdf/tbox/filegraph/object-properties.owl | 4 ++++ rdf/tbox/filegraph/role.owl | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/rdf/tbox/filegraph/object-properties.owl b/rdf/tbox/filegraph/object-properties.owl index 72d1710d..fed7d136 100644 --- a/rdf/tbox/filegraph/object-properties.owl +++ b/rdf/tbox/filegraph/object-properties.owl @@ -1031,6 +1031,8 @@ there is a measurement process p that has specified output m, a measurement datu participates in + + @@ -1039,6 +1041,8 @@ there is a measurement process p that has specified output m, a measurement datu has participant + + diff --git a/rdf/tbox/filegraph/role.owl b/rdf/tbox/filegraph/role.owl index 32d3d09f..00873915 100644 --- a/rdf/tbox/filegraph/role.owl +++ b/rdf/tbox/filegraph/role.owl @@ -90,5 +90,27 @@ + + + + Advisee Role + + + + + + + + + + Advisor Role + + + + + + + + From 17b90964d01f7547f44a2a40a84c4145f2c0a35c Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Tue, 10 Sep 2013 13:36:48 -0400 Subject: [PATCH 41/66] adding AdviseeRole and AdvisorRole --- rdf/tbox/filegraph/role.owl | 2 -- 1 file changed, 2 deletions(-) diff --git a/rdf/tbox/filegraph/role.owl b/rdf/tbox/filegraph/role.owl index 00873915..e1eb21b0 100644 --- a/rdf/tbox/filegraph/role.owl +++ b/rdf/tbox/filegraph/role.owl @@ -86,7 +86,6 @@ A role of conducting funded or unfunded research, sometimes linked to an Agreement. Examples of research can be seen at: http://www.ufl.edu/research/products/index.html. Note these may have been funded, but the research doesn't have to be funded. Also, the research may be linked to an Agreement (for example, a Grant), but does not need to be. - @@ -96,7 +95,6 @@ Advisee Role - From 745a4a26e8a66aa44f20a3da6efab7b998173dc7 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Wed, 11 Sep 2013 10:17:32 -0400 Subject: [PATCH 42/66] VIVO-256 migrate orcid to URI reference --- .../update/sparqlConstructs/additions/orcid.sparql | 11 +++++++++++ .../update/sparqlConstructs/additions/vcard6.sparql | 6 ------ .../update/sparqlConstructs/additions/vcard7.sparql | 2 -- .../sparqlConstructs/deletions/orcidDel.sparql | 9 +++++++++ rdf/tbox/filegraph/data-properties.owl | 13 ------------- rdf/tbox/filegraph/object-properties.owl | 7 +++++++ 6 files changed, 27 insertions(+), 21 deletions(-) create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/orcid.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/orcidDel.sparql diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/orcid.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/orcid.sparql new file mode 100644 index 00000000..4914dca2 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/orcid.sparql @@ -0,0 +1,11 @@ +PREFIX vivo: +PREFIX owl: + +CONSTRUCT { + ?s vivo:orcidId ?orcidURI . + ?orcidURI a owl:Thing . +} WHERE { + ?s vivo:orcidId ?orcidString + FILTER(isLiteral(?orcidString)) + BIND(IRI(concat("http://orcid.org/", str(?orcidString))) AS ?orcidURI) +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard6.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard6.sparql index 766faa3e..d5c0f26e 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard6.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard6.sparql @@ -9,12 +9,6 @@ CONSTRUCT { _:primaryTelephone a v:Voice . _:primaryTelephone a v:Work . _:primaryTelephone v:telephone ?primaryPhoneNumber . - _:name v:hasTelephone _:fax . - _:fax a v:Telephone . - _:fax a v:Fax. - _:fax v:telephone ?faxNumber . - _:name v:hasAddress _:address . - _:address v:streetAddress ?streetAddress . } WHERE { ?s arg:ARG_2000028 ?vcard . ?s vivo:primaryPhoneNumber ?primaryPhoneNumber diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard7.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard7.sparql index 95c15654..39982679 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard7.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard7.sparql @@ -8,8 +8,6 @@ CONSTRUCT { _:fax a v:Telephone . _:fax a v:Fax. _:fax v:telephone ?faxNumber . - _:name v:hasAddress _:address . - _:address v:streetAddress ?streetAddress . } WHERE { ?s arg:ARG_2000028 ?vcard . ?s vivo:faxNumber ?faxNumber diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/orcidDel.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/orcidDel.sparql new file mode 100644 index 00000000..9cf17806 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/orcidDel.sparql @@ -0,0 +1,9 @@ +PREFIX vivo: +PREFIX owl: + +CONSTRUCT { + ?s vivo:orcidId ?orcidString . +} WHERE { + ?s vivo:orcidId ?orcidString + FILTER(isLiteral(?orcidString)) +} diff --git a/rdf/tbox/filegraph/data-properties.owl b/rdf/tbox/filegraph/data-properties.owl index 608e71da..2026d144 100644 --- a/rdf/tbox/filegraph/data-properties.owl +++ b/rdf/tbox/filegraph/data-properties.owl @@ -1830,19 +1830,6 @@ use one freetextKeyword assertion for each keyword or phrase. - - - - orcid id - We can't yet assume that we will only have a single ORCID id for a person. -source: http://en.wikipedia.org/wiki/ORCID . - - -We wanted this property to be visible so that people would be aware that we intend to carry ORCID ids in VIVO for cross-reference. I don't believe any ORCID ids have been minted yet, but it's hard to imagine they would need to be private since the goal of having them is to disambiguate author references internationally. However, this and the researcherId and scopusId (also with domain foaf:Person) can stay as visible to self-editors for now as they will probably be used mostly in data ingest. It might be nice in the future to let people make their own decision about whether these are visible. - - - - diff --git a/rdf/tbox/filegraph/object-properties.owl b/rdf/tbox/filegraph/object-properties.owl index fed7d136..ef8d47b6 100644 --- a/rdf/tbox/filegraph/object-properties.owl +++ b/rdf/tbox/filegraph/object-properties.owl @@ -2069,6 +2069,13 @@ there is a measurement process p that has specified output m, a measurement datu + + + + orcid id + This is now an object property where the object value is a resource of the form <http://orcid.org/NNNN-NNNN-NNNN-NNNN>. This is to support connecting VIVO and ORCID in the linked data web. Note: a person can have multiple ORCID iDs. + + From fe25fa8048131bc298bb6c4bb4398b00c0ec537c Mon Sep 17 00:00:00 2001 From: Holly Mistlebauer Date: Wed, 11 Sep 2013 10:22:42 -0400 Subject: [PATCH 43/66] Holly updated the test case AdminLoginLogout.html. --- .../acceptance-tests/suites/AdminSecurity/AdminLoginLogout.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utilities/acceptance-tests/suites/AdminSecurity/AdminLoginLogout.html b/utilities/acceptance-tests/suites/AdminSecurity/AdminLoginLogout.html index a1b01699..3b56df96 100644 --- a/utilities/acceptance-tests/suites/AdminSecurity/AdminLoginLogout.html +++ b/utilities/acceptance-tests/suites/AdminSecurity/AdminLoginLogout.html @@ -132,7 +132,7 @@ verifyElementPresent - link=Restrict Logins + link=Restrict logins From b4f9e71084832a5d2c319049b577c8b25fc697d5 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Wed, 11 Sep 2013 11:01:40 -0400 Subject: [PATCH 44/66] VIVO-288 re-adding roleContributesTo and contributingRole --- rdf/tbox/filegraph/object-properties.owl | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/rdf/tbox/filegraph/object-properties.owl b/rdf/tbox/filegraph/object-properties.owl index ef8d47b6..0b9c619b 100644 --- a/rdf/tbox/filegraph/object-properties.owl +++ b/rdf/tbox/filegraph/object-properties.owl @@ -2068,8 +2068,9 @@ there is a measurement process p that has specified output m, a measurement datu + - + orcid id @@ -2077,6 +2078,23 @@ there is a measurement process p that has specified output m, a measurement datu + + + + + contributes to + + + + + + + + contributor + + + + From ffc968b1ca373c8710acfc96b69b572118c37e06 Mon Sep 17 00:00:00 2001 From: Holly Mistlebauer Date: Wed, 11 Sep 2013 11:36:06 -0400 Subject: [PATCH 45/66] Holly updated 3 test cases. --- .../suites/AdminSecurity/NewAdminCheckPrivileges.html | 6 +++--- .../suites/AdminSecurity/NewAdminDelete.html | 2 +- .../suites/AdminSecurity/NewAdminFirstLogin.html | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/utilities/acceptance-tests/suites/AdminSecurity/NewAdminCheckPrivileges.html b/utilities/acceptance-tests/suites/AdminSecurity/NewAdminCheckPrivileges.html index cb095ca4..355c44ad 100644 --- a/utilities/acceptance-tests/suites/AdminSecurity/NewAdminCheckPrivileges.html +++ b/utilities/acceptance-tests/suites/AdminSecurity/NewAdminCheckPrivileges.html @@ -128,7 +128,7 @@ verifyElementPresent - link=Restrict Logins + link=Restrict logins @@ -329,7 +329,7 @@ verifyTextPresent - Page Management + Page management @@ -504,7 +504,7 @@ verifyTextPresent - Email Address + Email address diff --git a/utilities/acceptance-tests/suites/AdminSecurity/NewAdminDelete.html b/utilities/acceptance-tests/suites/AdminSecurity/NewAdminDelete.html index 89ceda9a..ea6beae1 100644 --- a/utilities/acceptance-tests/suites/AdminSecurity/NewAdminDelete.html +++ b/utilities/acceptance-tests/suites/AdminSecurity/NewAdminDelete.html @@ -124,7 +124,7 @@ verifyTextPresent - Deleted 1 accounts. + Deleted 1 account. diff --git a/utilities/acceptance-tests/suites/AdminSecurity/NewAdminFirstLogin.html b/utilities/acceptance-tests/suites/AdminSecurity/NewAdminFirstLogin.html index 0543f143..8b0c615a 100644 --- a/utilities/acceptance-tests/suites/AdminSecurity/NewAdminFirstLogin.html +++ b/utilities/acceptance-tests/suites/AdminSecurity/NewAdminFirstLogin.html @@ -223,7 +223,7 @@ verifyTextPresent - Please enter a password between 6 and 12 characters in length. + Password must be between 6 and 12 characters. From 4a434ddacb73d44eae7382a7da0f2957ab0cbada Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Wed, 11 Sep 2013 12:30:06 -0400 Subject: [PATCH 46/66] re-adding hasResearchArea and researchAreaOf --- rdf/tbox/filegraph/appControls-temp.n3 | 5 +++++ rdf/tbox/filegraph/object-properties.owl | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/rdf/tbox/filegraph/appControls-temp.n3 b/rdf/tbox/filegraph/appControls-temp.n3 index 0f9af29f..ef20a291 100644 --- a/rdf/tbox/filegraph/appControls-temp.n3 +++ b/rdf/tbox/filegraph/appControls-temp.n3 @@ -59,4 +59,9 @@ foaf:Person [ a owl:Restriction ; owl:someValuesFrom ; owl:onProperty + ] ; + rdfs:subClassOf + [ a owl:Restriction ; + owl:onProperty ; + owl:allValuesFrom ] . diff --git a/rdf/tbox/filegraph/object-properties.owl b/rdf/tbox/filegraph/object-properties.owl index 0b9c619b..0f0b4946 100644 --- a/rdf/tbox/filegraph/object-properties.owl +++ b/rdf/tbox/filegraph/object-properties.owl @@ -2095,6 +2095,22 @@ there is a measurement process p that has specified output m, a measurement datu + + + + research areas + + + + + + + + research area of + + + + From e05f5d6fb465da6a208801bc8ef05026a4c5dd9f Mon Sep 17 00:00:00 2001 From: tworrall Date: Wed, 11 Sep 2013 15:50:15 -0400 Subject: [PATCH 47/66] VIVO-112: ISF updates for advising relationship plus a couple of fixes --- .../config/listViewConfig-advisorIn.xml | 342 ++++++++++-------- .../individual/propStatement-advisorIn.ftl | 2 +- rdf/display/everytime/PropertyConfig.n3 | 49 +++ .../AddClinicalRoleToPersonGenerator.java | 122 +++---- ...ersonHasAdvisingRelationshipGenerator.java | 87 +++-- 5 files changed, 359 insertions(+), 243 deletions(-) diff --git a/productMods/config/listViewConfig-advisorIn.xml b/productMods/config/listViewConfig-advisorIn.xml index 662acc78..30f83e1e 100644 --- a/productMods/config/listViewConfig-advisorIn.xml +++ b/productMods/config/listViewConfig-advisorIn.xml @@ -1,159 +1,183 @@ - - - - - - - - PREFIX foaf: <http://xmlns.com/foaf/0.1/> - PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX owl: <http://www.w3.org/2002/07/owl#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - - SELECT DISTINCT ?subclass - ?advisory - ?advisoryLabel - ?localName - ?advisee - ?adviseeLabel - ?degreeLabel - ?degreeAbbr - ?dateTimeStart - ?dateTimeEnd - - WHERE { - ?subject ?property ?advisory - LET ( ?localName := afn:localname(?advisory) ) - OPTIONAL { ?advisory rdfs:label ?advisoryLabel } - OPTIONAL { ?advisory core:advisee ?advisee - OPTIONAL { ?advisee rdfs:label ?adviseeLabel } - } - OPTIONAL { ?advisory core:degreeCandidacy ?degree - OPTIONAL { ?degree rdfs:label ?degreeLabel } - OPTIONAL { ?degree core:abbreviation ?degreeAbbr } - } - - OPTIONAL { ?advisory vitro:mostSpecificType ?subclass . - ?subclass rdfs:subClassOf core:AdvisingRelationship - } - - OPTIONAL { ?advisory core:dateTimeInterval ?dateTimeInterval - OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart - } - } - OPTIONAL { ?advisory core:dateTimeInterval ?dateTimeInterval - OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd - } - } - - - } ORDER BY ?subclass DESC(?dateTimeEnd) - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - CONSTRUCT { - ?subclass rdfs:subClassOf core:AdvisingRelationship - } WHERE { - ?subclass rdfs:subClassOf core:AdvisingRelationship - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - CONSTRUCT { - ?subject ?property ?advisory . - ?advisory ?advisoryProperty ?advisoryValue . - ?advisory rdfs:label ?advisoryLabel - } WHERE { - { - ?subject ?property ?advisory - } UNION { - ?subject ?property ?advisory . - ?advisory ?advisoryProperty ?advisoryValue - } UNION { - ?subject ?property ?advisory . - ?advisory ?advisoryProperty ?advisoryValue . - ?advisory rdfs:label ?advisoryLabel - } - } - - - - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX foaf: <http://xmlns.com/foaf/0.1/> - - CONSTRUCT { - ?subject ?property ?advisory . - ?advisory core:advisee ?advisee . - ?advisee rdfs:label ?adviseeLabel . - ?advisory core:degreeCandidacy ?degree . - ?degree rdfs:label ?degreeLabel . - ?degree core:abbreviation ?degreeAbbr - } WHERE { - { - ?subject ?property ?advisory - } UNION { - ?subject ?property ?advisory. - ?advisory core:advisee ?advisee - } UNION { - ?subject ?property ?advisory . - ?advisory core:advisee ?advisee . - ?advisee rdfs:label ?adviseeLabel - } UNION { - ?subject ?property ?advisory . - ?advisory core:degreeCandidacy ?degree - } UNION { - ?subject ?property ?advisory . - ?advisory core:degreeCandidacy ?degree . - ?degree rdfs:label ?degreeLabel - } UNION { - ?subject ?property ?advisory . - ?advisory core:degreeCandidacy ?degree . - ?degree rdfs:label ?degreeLabel . - ?degree core:abbreviation ?degreeAbbr - } - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?award . - ?award core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart - } WHERE { - ?subject ?property ?award . - ?award core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?award . - ?award core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd - } WHERE { - ?subject ?property ?award . - ?award core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd - } - - - - + + + + + + + + PREFIX foaf: <http://xmlns.com/foaf/0.1/> + PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX owl: <http://www.w3.org/2002/07/owl#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + SELECT DISTINCT ?subclass + ?advisory + ?advisoryLabel + ?localName + ?advisee + ?adviseeLabel + ?degreeLabel + ?degreeAbbr + ?dateTimeStart + ?dateTimeEnd + + WHERE { + ?subject ?property ?advisory + LET ( ?localName := afn:localname(?advisory) ) + OPTIONAL { ?advisory rdfs:label ?advisoryLabel } + OPTIONAL { ?advisory core:relates ?advisee . + ?advisee a foaf:Person . + OPTIONAL { ?advisee rdfs:label ?adviseeLabel } + } + OPTIONAL { ?advisory core:relates ?degree . + ?degree a core:AcademicDegree . + OPTIONAL { ?degree rdfs:label ?degreeLabel } + OPTIONAL { ?degree core:abbreviation ?degreeAbbr } + } + + OPTIONAL { ?advisory vitro:mostSpecificType ?subclass . + ?subclass rdfs:subClassOf core:AdvisingRelationship + } + + OPTIONAL { ?advisory core:dateTimeInterval ?dateTimeInterval + OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } + } + OPTIONAL { ?advisory core:dateTimeInterval ?dateTimeInterval + OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } + } + + FILTER ( ?subject != ?advisee ) + } ORDER BY ?subclass DESC(?dateTimeEnd) + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + CONSTRUCT { + ?subclass rdfs:subClassOf core:AdvisingRelationship + } WHERE { + ?subclass rdfs:subClassOf core:AdvisingRelationship + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + CONSTRUCT { + ?subject ?property ?advisory . + ?advisory a core:AdvisingRelationship . + ?advisory ?advisoryProperty ?advisoryValue . + ?advisory rdfs:label ?advisoryLabel + } WHERE { + { + ?subject ?property ?advisory . + ?advisory a core:AdvisingRelationship + } UNION { + ?subject ?property ?advisory . + ?advisory a core:AdvisingRelationship . + ?advisory ?advisoryProperty ?advisoryValue + } UNION { + ?subject ?property ?advisory . + ?advisory a core:AdvisingRelationship . + ?advisory ?advisoryProperty ?advisoryValue . + ?advisory rdfs:label ?advisoryLabel + } + } + + + + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX foaf: <http://xmlns.com/foaf/0.1/> + + CONSTRUCT { + ?subject ?property ?advisory . + ?advisory a core:AdvisingRelationship . + ?advisory core:relates ?advisee . + ?advisee a foaf:Person . + ?advisee rdfs:label ?adviseeLabel . + ?advisory core:relates ?degree . + ?degree a core:AcademicDegree . + ?degree rdfs:label ?degreeLabel . + ?degree core:abbreviation ?degreeAbbr + } WHERE { + { + ?subject ?property ?advisory . + ?advisory a core:AdvisingRelationship . + } UNION { + ?subject ?property ?advisory. + ?advisory a core:AdvisingRelationship . + ?advisory core:relates ?advisee . + ?advisee a foaf:Person . + } UNION { + ?subject ?property ?advisory . + ?advisory a core:AdvisingRelationship . + ?advisory core:relates ?advisee . + ?advisee a foaf:Person . + ?advisee rdfs:label ?adviseeLabel + } UNION { + ?subject ?property ?advisory . + ?advisory a core:AdvisingRelationship . + ?advisory core:relates ?degree . + ?degree a core:AcademicDegree . + } UNION { + ?subject ?property ?advisory . + ?advisory a core:AdvisingRelationship . + ?advisory core:relates ?degree . + ?degree a core:AcademicDegree . + ?degree rdfs:label ?degreeLabel + } UNION { + ?subject ?property ?advisory . + ?advisory a core:AdvisingRelationship . + ?advisory core:relates ?degree . + ?degree a core:AcademicDegree . + ?degree rdfs:label ?degreeLabel . + ?degree core:abbreviation ?degreeAbbr + } + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?advisory . + ?advisory a core:AdvisingRelationship . + ?award core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } WHERE { + ?subject ?property ?advisory . + ?advisory a core:AdvisingRelationship . + ?award core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?advisory . + ?advisory a core:AdvisingRelationship . + ?award core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } WHERE { + ?subject ?property ?advisory . + ?advisory a core:AdvisingRelationship . + ?award core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } + + + + diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-advisorIn.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-advisorIn.ftl index 826fc1ab..1813bc2b 100644 --- a/productMods/templates/freemarker/body/partials/individual/propStatement-advisorIn.ftl +++ b/productMods/templates/freemarker/body/partials/individual/propStatement-advisorIn.ftl @@ -29,5 +29,5 @@ - ${linkedIndividual} <@dt.yearIntervalSpan "${statement.dateTimeStart!}" "${statement.dateTimeEnd!}" /> + ${linkedIndividual} <@dt.yearIntervalSpan "${statement.dateTimeStart!}" "${statement.dateTimeEnd!}" /> \ No newline at end of file diff --git a/rdf/display/everytime/PropertyConfig.n3 b/rdf/display/everytime/PropertyConfig.n3 index a467236d..477e5c07 100644 --- a/rdf/display/everytime/PropertyConfig.n3 +++ b/rdf/display/everytime/PropertyConfig.n3 @@ -61,6 +61,7 @@ local:authorInAuthorshipConfig a :ObjectPropertyDisplayConfig ; local:hasServiceProviderRoleContext a :ConfigContext ; :hasConfiguration local:hasServiceProviderRoleConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:hasServiceProviderRoleConfig a :ObjectPropertyDisplayConfig ; @@ -75,6 +76,7 @@ local:hasServiceProviderRoleConfig a :ObjectPropertyDisplayConfig ; local:hasClinicalRoleContext a :ConfigContext ; :hasConfiguration local:hasClinicalRoleConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:hasClinicalRoleConfig a :ObjectPropertyDisplayConfig ; @@ -89,6 +91,7 @@ local:hasClinicalRoleConfig a :ObjectPropertyDisplayConfig ; local:hasLeaderRoleContext a :ConfigContext ; :hasConfiguration local:hasLeaderRoleConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:hasLeaderRoleConfig a :ObjectPropertyDisplayConfig ; @@ -103,6 +106,7 @@ local:hasLeaderRoleConfig a :ObjectPropertyDisplayConfig ; local:hasMemberRoleContext a :ConfigContext ; :hasConfiguration local:hasMemberRoleConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:hasMemberRoleConfig a :ObjectPropertyDisplayConfig ; @@ -117,6 +121,7 @@ local:hasMemberRoleConfig a :ObjectPropertyDisplayConfig ; local:hasTeacherRoleContext a :ConfigContext ; :hasConfiguration local:hasTeacherRoleConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:hasTeacherRoleConfig a :ObjectPropertyDisplayConfig ; @@ -131,6 +136,7 @@ local:hasTeacherRoleConfig a :ObjectPropertyDisplayConfig ; local:hasEditorRoleContext a :ConfigContext ; :hasConfiguration local:hasEditorRoleConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:hasEditorRoleConfig a :ObjectPropertyDisplayConfig ; @@ -145,6 +151,7 @@ local:hasEditorRoleConfig a :ObjectPropertyDisplayConfig ; local:hasReviewerRoleContext a :ConfigContext ; :hasConfiguration local:hasReviewerRoleConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:hasReviewerRoleConfig a :ObjectPropertyDisplayConfig ; @@ -159,6 +166,7 @@ local:hasReviewerRoleConfig a :ObjectPropertyDisplayConfig ; local:hasOrganizerRoleContext a :ConfigContext ; :hasConfiguration local:hasOrganizerRoleConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:hasOrganizerRoleConfig a :ObjectPropertyDisplayConfig ; @@ -173,6 +181,7 @@ local:hasOrganizerRoleConfig a :ObjectPropertyDisplayConfig ; local:hasOutreachProviderRoleContext a :ConfigContext ; :hasConfiguration local:hasOutreachProviderRoleConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:hasOutreachProviderRoleConfig a :ObjectPropertyDisplayConfig ; @@ -187,6 +196,7 @@ local:hasOutreachProviderRoleConfig a :ObjectPropertyDisplayConfig ; local:hasAttendeeRoleContext a :ConfigContext ; :hasConfiguration local:hasAttendeeRoleConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:hasAttendeeRoleConfig a :ObjectPropertyDisplayConfig ; @@ -201,6 +211,7 @@ local:hasAttendeeRoleConfig a :ObjectPropertyDisplayConfig ; local:hasResearcherRoleContext a :ConfigContext ; :hasConfiguration local:hasResearcherRoleConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:hasResearcherRoleConfig a :ObjectPropertyDisplayConfig ; @@ -215,6 +226,7 @@ local:hasResearcherRoleConfig a :ObjectPropertyDisplayConfig ; local:hasInvestigatorRoleContext a :ConfigContext ; :hasConfiguration local:hasInvestigatorRoleConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:hasInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ; @@ -229,6 +241,7 @@ local:hasInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ; local:hasPrincipalInvestigatorRoleContext a :ConfigContext ; :hasConfiguration local:hasPrincipalInvestigatorRoleConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:hasPrincipalInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ; @@ -243,6 +256,7 @@ local:hasPrincipalInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ; local:hasCo-PrincipalInvestigatorRoleContext a :ConfigContext ; :hasConfiguration local:hasCo-PrincipalInvestigatorRoleConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:hasCo-PrincipalInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ; @@ -257,6 +271,7 @@ local:hasCo-PrincipalInvestigatorRoleConfig a :ObjectPropertyDisplayConfig ; local:hasPresenterRoleContext a :ConfigContext ; :hasConfiguration local:hasPresenterRoleConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:hasPresenterRoleConfig a :ObjectPropertyDisplayConfig ; @@ -271,6 +286,7 @@ local:hasPresenterRoleConfig a :ObjectPropertyDisplayConfig ; local:awardOrHonorContext a :ConfigContext ; :hasConfiguration local:awardOrHonorConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:awardOrHonorConfig a :ObjectPropertyDisplayConfig ; @@ -285,6 +301,7 @@ local:awardOrHonorConfig a :ObjectPropertyDisplayConfig ; local:educationalTrainingContext a :ConfigContext ; :hasConfiguration local:educationalTrainingConfig ; :configContextFor ; + :qualifiedByDomain ; :qualifiedBy . local:educationalTrainingConfig a :ObjectPropertyDisplayConfig ; @@ -296,6 +313,22 @@ local:educationalTrainingConfig a :ObjectPropertyDisplayConfig ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasEducationalTraining"^^ ; :propertyGroup . +local:advisorRoleContext a :ConfigContext ; + :hasConfiguration local:advisorRoleConfig ; + :configContextFor ; + :qualifiedByDomain ; + :qualifiedBy . + +local:advisorRoleConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-advisorIn.xml"^^xsd:string ; + :displayName "advisees" ; + vitro:displayRankAnnot 40; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasAdvisingRelationshipGenerator"^^ ; + :propertyGroup . + + local:informationResourceInAuthorshipContext a :ConfigContext ; :hasConfiguration local:informationResourceInAuthorshipConfig ; :configContextFor ; @@ -310,3 +343,19 @@ local:informationResourceInAuthorshipConfig a :ObjectPropertyDisplayConfig ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddAuthorsToInformationResourceGenerator"^^ ; :propertyGroup . + +### vcard properties ### +local:mailingAddressContext a :ConfigContext ; + :hasConfiguration local:mailingAddressConfig ; + :configContextFor ; + :qualifiedByDomain ; + :qualifiedBy . + +local:mailingAddressConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-personHasMailingAddress.xml"^^xsd:string ; + :displayName "mailing address" ; + vitro:displayRankAnnot 80; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasMailingAddressGenerator"^^ ; + :propertyGroup . diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddClinicalRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddClinicalRoleToPersonGenerator.java index 68bc2fd3..96c73793 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddClinicalRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddClinicalRoleToPersonGenerator.java @@ -1,61 +1,61 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; - -import java.util.HashMap; - -import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ConstantFieldOptions; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; - -public class AddClinicalRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { - - private static String template = "addClinicalRoleToPerson.ftl"; - - //Should this be overridden - @Override - String getTemplate() { - return template; - } - - @Override - String getRoleType() { - return "http://vivoweb.org/ontology/core#ClinicalRole"; - } - - /** Clinical role involves hard-coded options for the "right side" of the role or activity. */ - @Override - FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { - return new ConstantFieldOptions( - "", "Select one", - "http://vivoweb.org/ontology/core#Project", "Project", - "http://vivoweb.org/ontology/core#Service", "Service" - ); - } - - //isShowRoleLabelField remains true for this so doesn't need to be overwritten - @Override - boolean isShowRoleLabelField(){ - return true; - } - - - /* - * Use the methods below to change the date/time precision in the - * custom form associated with this generator. When not used, the - * precision will be YEAR. The other precisons are MONTH, DAY, HOUR, - * MINUTE, TIME and NONE. - */ - /* - public String getStartDatePrecision() { - String precision = VitroVocabulary.Precision.MONTH.uri(); - return precision; - } - - public String getEndDatePrecision() { - String precision = VitroVocabulary.Precision.DAY.uri(); - return precision; - } - */ - -} +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; + +import java.util.HashMap; + +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ConstantFieldOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; + +public class AddClinicalRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { + + private static String template = "addClinicalRoleToPerson.ftl"; + + //Should this be overridden + @Override + String getTemplate() { + return template; + } + + @Override + String getRoleType() { + return "http://vivoweb.org/ontology/core#ClinicalRole"; + } + + /** Clinical role involves hard-coded options for the "right side" of the role or activity. */ + @Override + FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { + return new ConstantFieldOptions( + "", "Select one", + "http://vivoweb.org/ontology/core#Project", "Project", + "http://purl.obolibrary.org/obo/ERO_0000005", "Service" + ); + } + + //isShowRoleLabelField remains true for this so doesn't need to be overwritten + @Override + boolean isShowRoleLabelField(){ + return true; + } + + + /* + * Use the methods below to change the date/time precision in the + * custom form associated with this generator. When not used, the + * precision will be YEAR. The other precisons are MONTH, DAY, HOUR, + * MINUTE, TIME and NONE. + */ + /* + public String getStartDatePrecision() { + String precision = VitroVocabulary.Precision.MONTH.uri(); + return precision; + } + + public String getEndDatePrecision() { + String precision = VitroVocabulary.Precision.DAY.uri(); + return precision; + } + */ + +} diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisingRelationshipGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisingRelationshipGenerator.java index e7159579..cd5b0092 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisingRelationshipGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisingRelationshipGenerator.java @@ -28,12 +28,8 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im final static String subjAreaClass = "http://www.w3.org/2004/02/skos/core#Concept"; final static String degreeClass = vivoCore+"AcademicDegree"; final static String adviseeClass = foaf + "Person"; - final static String advisorInPred = vivoCore + "advisorIn"; - final static String adviseeInPred = vivoCore + "adviseeIn"; - final static String advisorPred = vivoCore + "advisor"; - final static String adviseePred = vivoCore + "advisee" ; - final static String subjAreaPred = vivoCore + "hasSubjectArea" ; - final static String degreePred = vivoCore + "degreeCandidacy" ; + final static String adviseeRoleClass = "http://vivoweb.org/ontology/core#AdviseeRole"; + final static String advisorRoleClass = "http://vivoweb.org/ontology/core#AdvisorRole"; final static String advisingRelToInterval = vivoCore + "dateTimeInterval"; final static String intervalType = vivoCore + "DateTimeInterval"; final static String intervalToStart = vivoCore + "start"; @@ -62,7 +58,7 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im conf.setN3Required( Arrays.asList( n3ForNewAdvisingRelationship, advisingRelLabelAssertion, - advisingRelTypeAssertion ) ); + advisingRelTypeAssertion ) ); conf.setN3Optional( Arrays.asList( n3ForNewAdviseeAssertion, n3ForExistingAdviseeAssertion, degreeAssertion, @@ -75,6 +71,8 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im conf.addNewResource("advisingRelationship", DEFAULT_NS_FOR_NEW_RESOURCE); conf.addNewResource("newAdvisee", DEFAULT_NS_FOR_NEW_RESOURCE); + conf.addNewResource("advisorRole", DEFAULT_NS_FOR_NEW_RESOURCE); + conf.addNewResource("adviseeRole", DEFAULT_NS_FOR_NEW_RESOURCE); conf.addNewResource("newSubjArea", DEFAULT_NS_FOR_NEW_RESOURCE); conf.addNewResource("intervalNode", DEFAULT_NS_FOR_NEW_RESOURCE); conf.addNewResource("startNode", DEFAULT_NS_FOR_NEW_RESOURCE); @@ -93,6 +91,8 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im conf.addSparqlForExistingLiteral("endField-value", existingEndDateQuery); conf.addSparqlForExistingUris("advisingRelType", advisingRelTypeQuery); + conf.addSparqlForExistingUris("advisorRole", existingAdvisorRoleQuery); + conf.addSparqlForExistingUris("adviseeRole", existingAdviseeRoleQuery); conf.addSparqlForExistingUris("existingSubjArea", subjAreaQuery); conf.addSparqlForExistingUris("existingAdvisee", adviseeQuery); conf.addSparqlForExistingUris("degree", degreeQuery); @@ -193,9 +193,14 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im final static String n3ForNewAdvisingRelationship = "@prefix vivo: <" + vivoCore + "> . \n\n" + - "?person <" + advisorInPred + "> ?advisingRelationship . \n" + + "?person ?advisingRelationship . \n" + "?advisingRelationship a <" + advisingRelClass + "> . \n" + - "?advisingRelationship <" + advisorPred + "> ?person . \n" ; + "?advisingRelationship ?person . \n" + + "?advisingRelationship ?advisorRole . \n" + + "?advisorRole a <" + advisorRoleClass + "> . \n" + + "?advisorRole ?advisingRelationship . \n" + + "?person ?advisorRole . \n" + + "?advisorRole ?person . "; final static String advisingRelLabelAssertion = "?advisingRelationship <"+ label + "> ?advisingRelLabel ."; @@ -204,14 +209,24 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im "?advisingRelationship a ?advisingRelType ."; final static String n3ForNewAdviseeAssertion = - "?advisingRelationship <" + adviseePred + "> ?newAdvisee . \n" + - "?newAdvisee <" + adviseeInPred + "> ?advisingRelationship . \n" + + "?advisingRelationship ?newAdvisee . \n" + + "?newAdvisee ?advisingRelationship . \n" + "?newAdvisee <" + label + "> ?adviseeLabel . \n" + - "?newAdvisee a <" + adviseeClass + "> . "; + "?newAdvisee a <" + adviseeClass + "> . \n" + + "?newAdvisee ?adviseeRole . \n" + + "?adviseeRole ?newAdvisee . \n" + + "?adviseeRole a <" + adviseeRoleClass + "> . \n" + + "?advisingRelationship ?adviseeRole . \n" + + "?adviseeRole ?advisingRelationship . "; final static String n3ForExistingAdviseeAssertion = - "?advisingRelationship <" + adviseePred + "> ?existingAdvisee . \n" + - "?existingAdvisee <" + adviseeInPred + "> ?advisingRelationship . "; + "?advisingRelationship ?existingAdvisee . \n" + + "?existingAdvisee ?advisingRelationship . \n" + + "?existingAdvisee ?adviseeRole . \n" + + "?adviseeRole ?existingAdvisee . \n" + + "?adviseeRole a <" + adviseeRoleClass + "> . \n" + + "?advisingRelationship ?adviseeRole . \n" + + "?adviseeRole ?advisingRelationship . "; final static String firstNameAssertion = "@prefix foaf: <" + foaf + "> . \n" + @@ -222,19 +237,22 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im "?newAdvisee foaf:lastName ?lastName ."; final static String degreeAssertion = - "?advisingRelationship <"+ degreePred +"> ?degree ."; + "?advisingRelationship ?degree . \n" + + "?degree ?advisingRelationship . "; //This is for an existing subject area //Where we only need the existing subject area label final static String n3ForExistingSubjAreaAssertion = - "?advisingRelationship <"+ subjAreaPred +"> ?existingSubjArea ."; + "?advisingRelationship ?existingSubjArea . \n" + + "?existingSubjArea ?advisingRelationship . "; //For new subject area, we include all new information //new subject area should always be a new resource //and the following should only get evaluated //when there is something in the label final static String n3ForNewSubjAreaAssertion = - "?advisingRelationship <"+ subjAreaPred +"> ?newSubjArea . \n" + + "?advisingRelationship ?newSubjArea . \n" + + "?newSubjArea ?advisingRelationship . \n" + "?newSubjArea <"+ label + "> ?subjAreaLabel . \n" + "?newSubjArea a <" + subjAreaClass + "> . "; @@ -264,24 +282,46 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im final static String adviseeQuery = "SELECT ?existingAdvisee WHERE { \n" + - " ?advisingRelationship <" + adviseePred + "> ?existingAdvisee . \n" + + " ?advisingRelationship ?existingAdvisee . \n" + + " ?existingAdvisee a <" + adviseeClass + "> . \n" + + " FILTER (?person != ?existingAdvisee) . \n" + + "}"; + + final static String existingAdvisorRoleQuery = + "SELECT ?advisorRole WHERE { \n" + + "?advisingRelationship ?advisorRole . \n" + + "?advisorRole a <" + advisorRoleClass + "> . \n" + + "}"; + + final static String existingAdviseeRoleQuery = + "SELECT ?adviseeRole WHERE { \n" + + " ?advisingRelationship ?adviseeRole . \n" + + " ?adviseeRole a <" + adviseeRoleClass + "> . \n" + "}"; final static String adviseeLabelQuery = "SELECT ?existingAdviseeLabel WHERE { \n" + - " ?advisingRelationship <" + adviseePred + "> ?existingAdvisee . \n" + + " ?advisingRelationship ?existingAdvisee . \n" + + " ?existingAdvisee a <" + adviseeClass + "> . \n" + " ?existingAdvisee <" + label + "> ?existingAdviseeLabel . \n" + + " FILTER (?person != ?existingAdvisee) . \n" + "}"; final static String subjAreaQuery = "SELECT ?existingSubjArea WHERE { \n" + - " ?advisingRelationship <" + subjAreaPred + "> ?existingSubjArea . \n" + + " ?advisingRelationship ?existingSubjArea . \n" + + " ?existingSubjArea a . \n" + + " ?existingSubjArea ?type \n" + + " FILTER (?type != ) . \n" + "}"; final static String subjAreaLabelQuery = "SELECT ?existingSubjAreaLabel WHERE { \n" + - " ?advisingRelationship <" + subjAreaPred + "> ?existingSubjArea . \n" + + " ?advisingRelationship ?existingSubjArea . \n" + + " ?existingSubjArea a . \n" + " ?existingSubjArea <" + label + "> ?existingSubjAreaLabel . \n" + + " ?existingSubjArea ?type \n" + + " FILTER (?type != ) . \n" + "}"; final static String advisingRelLabelQuery = @@ -291,7 +331,10 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im final static String degreeQuery = "SELECT ?existingDegree WHERE {\n"+ - " ?advisingRelationship <"+ degreePred +"> ?existingDegree . }"; + " ?advisingRelationship ?existingDegree . \n" + + " ?existingDegree a <" + degreeClass + "> . \n" + + "}"; + final static String existingStartDateQuery = "SELECT ?existingDateStart WHERE { \n" + From fd8de955f5a5a6dc5b61ce85822e85c04a4e5b10 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Thu, 12 Sep 2013 10:44:03 -0400 Subject: [PATCH 48/66] awardedDegree migration --- .../WEB-INF/ontologies/update/diff.tab.txt | 128 +----------------- .../additions/awardedDegree.sparql | 23 ++++ .../deletions/awardedDegreeDel.sparql | 18 +++ 3 files changed, 42 insertions(+), 127 deletions(-) create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/awardedDegree.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/awardedDegreeDel.sparql diff --git a/productMods/WEB-INF/ontologies/update/diff.tab.txt b/productMods/WEB-INF/ontologies/update/diff.tab.txt index 9d448f47..4dce0349 100644 --- a/productMods/WEB-INF/ontologies/update/diff.tab.txt +++ b/productMods/WEB-INF/ontologies/update/diff.tab.txt @@ -1,127 +1 @@ -http://vivoweb.org/ontology/core#administeredBy complex construct with grant administrator role -http://vivoweb.org/ontology/core#administers complex construct with grant administrator role -http://vivoweb.org/ontology/core#advisee CC - advising relationship plus add advisee role -http://vivoweb.org/ontology/core#adviseeIn CC - advising relationship plus add advisee role -http://vivoweb.org/ontology/core#advisingContributionTo realizedIn? Come back to this. -http://vivoweb.org/ontology/core#advisor CC - advising relationship plus add advisor role -http://vivoweb.org/ontology/core#advisorIn CC - advising relationship plus add advisor role -http://vivoweb.org/ontology/core#affiliatedOrganization construct Relationship node? -http://vivoweb.org/ontology/core#assignedBy patent - come back to this -http://vivoweb.org/ontology/core#assignee patent - come back to this -http://vivoweb.org/ontology/core#associatedRole http://vivoweb.org/ontology/core#relates Yes z -http://vivoweb.org/ontology/core#associatedWithPosition http://vivoweb.org/ontology/core#relatedBy Yes z -http://vivoweb.org/ontology/core#attendeeRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z -http://vivoweb.org/ontology/core#authorInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z -http://vivoweb.org/ontology/core#awardConferred http://vivoweb.org/ontology/core#assigns Yes z -http://vivoweb.org/ontology/core#awardConferredBy http://vivoweb.org/ontology/core#assignedBy Yes z -http://vivoweb.org/ontology/core#awardOrHonor http://vivoweb.org/ontology/core#relatedBy Yes z -http://vivoweb.org/ontology/core#awardOrHonorFor http://vivoweb.org/ontology/core#relates Yes z -http://vivoweb.org/ontology/core#awardsGrant http://vivoweb.org/ontology/core#assigns Yes z -http://vivoweb.org/ontology/core#clinicalRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z -http://vivoweb.org/ontology/core#co-PrincipalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z -http://vivoweb.org/ontology/core#contributingAdvising come back to this -http://vivoweb.org/ontology/core#contributingRole come back to this -http://vivoweb.org/ontology/core#courseOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z -http://vivoweb.org/ontology/core#credentialOf http://vivoweb.org/ontology/core#relates Yes z -http://vivoweb.org/ontology/core#currentMemberOf http://vivoweb.org/ontology/core#memberOf Yes z -http://vivoweb.org/ontology/core#currentlyHeadOf CC or delete? -http://vivoweb.org/ontology/core#currentlyHeadedBy CC or delete? -http://vivoweb.org/ontology/core#degreeCandidacy revisit -http://vivoweb.org/ontology/core#degreeEarned http://vivoweb.org/ontology/core#relates Yes z -http://vivoweb.org/ontology/core#degreeOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z -http://vivoweb.org/ontology/core#degreeOutcomeOf http://vivoweb.org/ontology/core#relatedBy Yes z -http://vivoweb.org/ontology/core#distributes revisit (distributor role?) -http://vivoweb.org/ontology/core#distributesFundingFrom revisit -http://vivoweb.org/ontology/core#domesticGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z -http://vivoweb.org/ontology/core#domesticGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z -http://vivoweb.org/ontology/core#editor CC editorship -http://vivoweb.org/ontology/core#editorOf CC editorship -http://vivoweb.org/ontology/core#editorRoleOf http://purl.obolibrary.org/obo/RO_0000052 z -http://vivoweb.org/ontology/core#educationalTraining http://vivoweb.org/ontology/core#relatedBy z -http://vivoweb.org/ontology/core#educationalTrainingOf http://vivoweb.org/ontology/core#relates z -http://vivoweb.org/ontology/core#eligibleFor revisit -http://vivoweb.org/ontology/core#equipmentInFacility http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" -http://vivoweb.org/ontology/core#eventWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" -http://vivoweb.org/ontology/core#geographicLocationOf http://purl.obolibrary.org/obo/RO_0001015 Yes """location of""" -http://vivoweb.org/ontology/core#geographicallyContains http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" -http://vivoweb.org/ontology/core#geographicallyWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z -http://vivoweb.org/ontology/core#governingAuthorityFor revisit -http://vivoweb.org/ontology/core#grantAwardedBy http://vivoweb.org/ontology/core#assignedBy Yes z -http://vivoweb.org/ontology/core#hasAttendeeRole http://purl.obolibrary.org/obo/RO_0000053 Yes """bearer of""" -http://vivoweb.org/ontology/core#hasClinicalRole http://purl.obolibrary.org/obo/RO_0000053 Yes """bearer of""" -http://vivoweb.org/ontology/core#hasCo-PrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z -http://vivoweb.org/ontology/core#hasCollaborator http://vivoweb.org/ontology/core#relatedBy Yes CC construct Relationship -http://vivoweb.org/ontology/core#hasCredential http://vivoweb.org/ontology/core#relatedBy Yes z -http://vivoweb.org/ontology/core#hasCurrentMember revisit - construct relationship? -http://vivoweb.org/ontology/core#hasEditorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z -http://vivoweb.org/ontology/core#hasGeographicLocation http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" -http://vivoweb.org/ontology/core#hasGoverningAuthority revisit -http://vivoweb.org/ontology/core#hasInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z -http://vivoweb.org/ontology/core#hasLeaderRole http://purl.obolibrary.org/obo/RO_0000053 Yes z -http://vivoweb.org/ontology/core#hasMemberRole http://purl.obolibrary.org/obo/RO_0000053 Yes z -http://vivoweb.org/ontology/core#hasOrganizerRole http://purl.obolibrary.org/obo/RO_0000053 Yes z -http://vivoweb.org/ontology/core#hasOutreachProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes z -http://vivoweb.org/ontology/core#hasPart http://purl.obolibrary.org/obo/BFO_0000051 Yes z -http://vivoweb.org/ontology/core#hasPredecessorOrganization revisit -http://vivoweb.org/ontology/core#hasPresenterRole http://purl.obolibrary.org/obo/RO_0000053 Yes z -http://vivoweb.org/ontology/core#hasPrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z -http://vivoweb.org/ontology/core#hasResearcherRole http://purl.obolibrary.org/obo/RO_0000053 Yes z -http://vivoweb.org/ontology/core#hasReviewerRole http://purl.obolibrary.org/obo/RO_0000053 Yes z -http://vivoweb.org/ontology/core#hasRole http://purl.obolibrary.org/obo/RO_0000053 Yes z -http://vivoweb.org/ontology/core#hasRoom http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" -http://vivoweb.org/ontology/core#hasServiceProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes z -http://vivoweb.org/ontology/core#hasSubOrganization http://purl.obolibrary.org/obo/BFO_0000051 Yes z -http://vivoweb.org/ontology/core#hasSuccessorOrganization revisit -http://vivoweb.org/ontology/core#hasTeacherRole http://purl.obolibrary.org/obo/RO_0000053 Yes z -http://vivoweb.org/ontology/core#inEventSeries http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" -http://vivoweb.org/ontology/core#includesEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z -http://vivoweb.org/ontology/core#informationProduct revisit -http://vivoweb.org/ontology/core#informationProductOf revisit -http://vivoweb.org/ontology/core#informationResourceInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z -http://vivoweb.org/ontology/core#internationalGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z -http://vivoweb.org/ontology/core#internationalGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z -http://vivoweb.org/ontology/core#investigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes """inheres in""" -http://vivoweb.org/ontology/core#issuanceOfCredential http://vivoweb.org/ontology/core#relates Yes z -http://vivoweb.org/ontology/core#issuedCredential http://vivoweb.org/ontology/core#relatedBy Yes z -http://vivoweb.org/ontology/core#leaderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z -http://vivoweb.org/ontology/core#linkedAuthor http://vivoweb.org/ontology/core#relates Yes z -http://vivoweb.org/ontology/core#linkedInformationResource http://vivoweb.org/ontology/core#relates Yes z -http://vivoweb.org/ontology/core#locationOfEquipment http://purl.obolibrary.org/obo/RO_0001015 Yes z -http://vivoweb.org/ontology/core#mailingAddress VCard -http://vivoweb.org/ontology/core#mailingAddressFor VCard -http://vivoweb.org/ontology/core#memberRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z -http://vivoweb.org/ontology/core#offersCourse http://vivoweb.org/ontology/core#offers Yes z -http://vivoweb.org/ontology/core#offersDegree http://vivoweb.org/ontology/core#offers Yes z -http://vivoweb.org/ontology/core#organizationForPosition http://vivoweb.org/ontology/core#relatedBy Yes z -http://vivoweb.org/ontology/core#organizationForTraining http://vivoweb.org/ontology/core#relatedBy Yes z -http://vivoweb.org/ontology/core#organizerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z -http://vivoweb.org/ontology/core#outcome revisit: RO? -http://vivoweb.org/ontology/core#outcomeOf revisit: RO? -http://vivoweb.org/ontology/core#outreachProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z -http://vivoweb.org/ontology/core#partOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z -http://vivoweb.org/ontology/core#personInPosition http://vivoweb.org/ontology/core#relatedBy Yes z -http://vivoweb.org/ontology/core#positionForPerson http://vivoweb.org/ontology/core#relates Yes z -http://vivoweb.org/ontology/core#positionInOrganization http://vivoweb.org/ontology/core#relates Yes z -http://vivoweb.org/ontology/core#presenterRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z -http://vivoweb.org/ontology/core#principalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z -http://vivoweb.org/ontology/core#providesService http://vivoweb.org/ontology/core#offers Yes z -http://vivoweb.org/ontology/core#realizedRole http://purl.obolibrary.org/obo/BFO_0000055 Yes """realizes""" -http://vivoweb.org/ontology/core#receipt http://vivoweb.org/ontology/core#relatedBy Yes z -http://vivoweb.org/ontology/core#receiptOf http://vivoweb.org/ontology/core#relates Yes z -http://vivoweb.org/ontology/core#relatedRole http://vivoweb.org/ontology/core#relates Yes z -http://vivoweb.org/ontology/core#researcherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z -http://vivoweb.org/ontology/core#reviewerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z -http://vivoweb.org/ontology/core#roleContributesTo http://vivoweb.org/ontology/core#relatedBy Yes may not apply in all situations -http://vivoweb.org/ontology/core#roleIn http://purl.obolibrary.org/obo/BFO_0000054 Yes """realized in"" (or delete, since there should be subs?)" -http://vivoweb.org/ontology/core#roleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z -http://vivoweb.org/ontology/core#roleRealizedIn http://purl.obolibrary.org/obo/BFO_0000054 Yes z -http://vivoweb.org/ontology/core#roomWithinBuilding http://purl.obolibrary.org/obo/RO_0001025 Yes double check this -http://vivoweb.org/ontology/core#seriesForEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z -http://vivoweb.org/ontology/core#serviceProvidedBy http://vivoweb.org/ontology/core#offeredBy Yes z -http://vivoweb.org/ontology/core#serviceProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z -http://vivoweb.org/ontology/core#subGrantOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z -http://vivoweb.org/ontology/core#subOrganizationWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z -http://vivoweb.org/ontology/core#teacherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z -http://vivoweb.org/ontology/core#trainingAtOrganization http://vivoweb.org/ontology/core#relates Yes double check this -http://vivoweb.org/ontology/core#webpage VCard? -http://vivoweb.org/ontology/core#webpageOf VCard +http://vivoweb.org/ontology/core#administeredBy complex construct with grant administrator role http://vivoweb.org/ontology/core#administers complex construct with grant administrator role http://vivoweb.org/ontology/core#advisee CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#adviseeIn CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#advisingContributionTo realizedIn? Come back to this. http://vivoweb.org/ontology/core#advisor CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#advisorIn CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#affiliatedOrganization construct Relationship node? http://vivoweb.org/ontology/core#assignedBy patent - come back to this http://vivoweb.org/ontology/core#assignee patent - come back to this http://vivoweb.org/ontology/core#associatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#associatedWithPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#attendeeRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#authorInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardConferred http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#awardConferredBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#awardOrHonor http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardOrHonorFor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#awardsGrant http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#clinicalRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#co-PrincipalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#contributingAdvising come back to this http://vivoweb.org/ontology/core#contributingRole come back to this http://vivoweb.org/ontology/core#courseOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#credentialOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#currentMemberOf http://vivoweb.org/ontology/core#memberOf Yes z http://vivoweb.org/ontology/core#currentlyHeadOf CC or delete? http://vivoweb.org/ontology/core#currentlyHeadedBy CC or delete? http://vivoweb.org/ontology/core#degreeCandidacy revisit http://vivoweb.org/ontology/core#degreeEarned http://purl.obolibrary.org/obo/RO_0002234 Yes z http://vivoweb.org/ontology/core#degreeOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#degreeOutcomeOf http://purl.obolibrary.org/obo/RO_0002353 Yes z http://vivoweb.org/ontology/core#distributes revisit (distributor role?) http://vivoweb.org/ontology/core#distributesFundingFrom revisit http://vivoweb.org/ontology/core#domesticGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#domesticGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#editor CC editorship http://vivoweb.org/ontology/core#editorOf CC editorship http://vivoweb.org/ontology/core#editorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#educationalTraining http://purl.obolibrary.org/obo/RO_0000056 Yes z http://vivoweb.org/ontology/core#educationalTrainingOf http://purl.obolibrary.org/obo/RO_0000057 Yes z http://vivoweb.org/ontology/core#eligibleFor revisit http://vivoweb.org/ontology/core#equipmentInFacility http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#eventWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#geographicLocationOf http://purl.obolibrary.org/obo/RO_0001015 Yes """location of""" http://vivoweb.org/ontology/core#geographicallyContains http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#geographicallyWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#governingAuthorityFor revisit http://vivoweb.org/ontology/core#grantAwardedBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#hasAttendeeRole http://purl.obolibrary.org/obo/RO_0000053 Yes """bearer of""" http://vivoweb.org/ontology/core#hasClinicalRole http://purl.obolibrary.org/obo/RO_0000053 Yes """bearer of""" http://vivoweb.org/ontology/core#hasCo-PrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasCollaborator http://vivoweb.org/ontology/core#relatedBy Yes CC construct Relationship http://vivoweb.org/ontology/core#hasCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#hasCurrentMember revisit - construct relationship? http://vivoweb.org/ontology/core#hasEditorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasGeographicLocation http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#hasGoverningAuthority revisit http://vivoweb.org/ontology/core#hasInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasLeaderRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasMemberRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasOrganizerRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasOutreachProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasPart http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasPredecessorOrganization revisit http://vivoweb.org/ontology/core#hasPresenterRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasPrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasResearcherRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasReviewerRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasRoom http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#hasServiceProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasSubOrganization http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasSuccessorOrganization revisit http://vivoweb.org/ontology/core#hasTeacherRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#inEventSeries http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#includesEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#informationProduct revisit http://vivoweb.org/ontology/core#informationProductOf revisit http://vivoweb.org/ontology/core#informationResourceInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#internationalGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#internationalGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#investigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes """inheres in""" http://vivoweb.org/ontology/core#issuanceOfCredential http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#issuedCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#leaderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#linkedAuthor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#linkedInformationResource http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#locationOfEquipment http://purl.obolibrary.org/obo/RO_0001015 Yes z http://vivoweb.org/ontology/core#mailingAddress VCard http://vivoweb.org/ontology/core#mailingAddressFor VCard http://vivoweb.org/ontology/core#memberRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#offersCourse http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#offersDegree http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#organizationForPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizationForTraining http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#outcome revisit: RO? http://vivoweb.org/ontology/core#outcomeOf revisit: RO? http://vivoweb.org/ontology/core#outreachProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#partOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#personInPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#positionForPerson http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#positionInOrganization http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#presenterRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#principalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#providesService http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#realizedRole http://purl.obolibrary.org/obo/BFO_0000055 Yes """realizes""" http://vivoweb.org/ontology/core#receipt http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#receiptOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#relatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#researcherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#reviewerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleContributesTo http://vivoweb.org/ontology/core#relatedBy Yes may not apply in all situations http://vivoweb.org/ontology/core#roleIn http://purl.obolibrary.org/obo/BFO_0000054 Yes """realized in"" (or delete, since there should be subs?)" http://vivoweb.org/ontology/core#roleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleRealizedIn http://purl.obolibrary.org/obo/BFO_0000054 Yes z http://vivoweb.org/ontology/core#roomWithinBuilding http://purl.obolibrary.org/obo/RO_0001025 Yes double check this http://vivoweb.org/ontology/core#seriesForEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#serviceProvidedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#serviceProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#subGrantOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#subOrganizationWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#teacherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#trainingAtOrganization http://vivoweb.org/ontology/core#relates Yes double check this http://vivoweb.org/ontology/core#EducationalTraining http://vivoweb.org/ontology/core#EducationalProcess Yes z \ No newline at end of file diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/awardedDegree.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/awardedDegree.sparql new file mode 100644 index 00000000..bbb93e58 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/awardedDegree.sparql @@ -0,0 +1,23 @@ +PREFIX vivo: +PREFIX owl: +PREFIX foaf: + +CONSTRUCT { + ?educationalProcess _:awardedDegree . + _:awardedDegree ?educationalProcess . + _:awardedDegree a vivo:AwardedDegree . + _:awardedDegree vivo:relates ?degree . + ?degree vivo:relatedBy _:awardedDegree . + _:awardedDegree vivo:relates ?person . + ?person vivo:relatedBy _:awardedDegree . + _:awardedDegree vivo:assignedBy ?org . + ?org vivo:assigns _:awardedDegree . +} WHERE { + ?person ?educationalProcess . + ?educationalProcess a vivo:EducationalProcess . + ?educationalProcess ?degree . + OPTIONAL { + ?educationalProcess vivo:relates ?org . + ?org a foaf:Organization + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/awardedDegreeDel.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/awardedDegreeDel.sparql new file mode 100644 index 00000000..faafb687 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/awardedDegreeDel.sparql @@ -0,0 +1,18 @@ +PREFIX vivo: +PREFIX owl: +PREFIX foaf: + +CONSTRUCT { + ?educationalProcess ?degree . + ?degree ?educationalProcess . + ?educationalProcess vivo:relates ?org . + ?org vivo:relatedBy ?educationalProcess . +} WHERE { + ?educationalProcess ?degree . + OPTIONAL { ?degree ?educationalProcess } + OPTIONAL { + ?educationalProcess vivo:relates ?org . + ?org a foaf:Organization . + } + ?degree a vivo:AcademicDegree . +} From 331869b52646a7ba4e620086f432549ca00f6247 Mon Sep 17 00:00:00 2001 From: j2blake Date: Thu, 12 Sep 2013 16:46:50 -0400 Subject: [PATCH 49/66] VIVO-281 Make extended linked data a configurable option. --- doc/upgrade-1.6.html | 78 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 72 insertions(+), 6 deletions(-) diff --git a/doc/upgrade-1.6.html b/doc/upgrade-1.6.html index 1e25bdfe..b6ef4ecd 100644 --- a/doc/upgrade-1.6.html +++ b/doc/upgrade-1.6.html @@ -50,6 +50,7 @@

  • Home Page Re-design
  • Auto-loaded RDF files move to the Home directory
  • Support for additional languages
  • +
  • More compact responses to Linked data requests
  • ANYTHING ELSE?
  • @@ -335,8 +336,9 @@ rdf/tbox/filegraph/tbox/vivo-foaf-1.5.owl rdf/tbox/filegraph/tbox/vivo-pws-1.5.owl rdf/tbox/filegraph/tbox/vivo-skos-1.5.owl

    - If you are using a three-tier build process, you will need to add a single line - to the build script so the RDF files will be merged properly across the tiers. So this: + If you are using a three-tier build process, you will need to add two lines + to the build script to accomodate the RDF files, and the language support (see below) + So this:

    <patternset id="appbase.patterns">
     <include name="src/**/*" />
     <include name="lib/**/*" />
    @@ -353,6 +355,7 @@ rdf/tbox/filegraph/tbox/vivo-skos-1.5.owl
    <include name="src/**/*" /> <include name="lib/**/*" /> <include name="rdf/**/*" /> +<include name="languages/**/*" /> <include name="test/**/*" /> <include name="themes/**/*" /> <include name="config/*.properties" /> @@ -387,6 +390,47 @@ rdf/tbox/filegraph/tbox/vivo-skos-1.5.owl Add a new language to VIVO.

    +

    More compact responses to Linked data requests

    +

    + In VIVO 1.6, the response to requests for linked data is changed, to be smaller and faster. +

    +

    + When responding to a request for linked data about an individual, VIVO 1.6 returns: +

      +
    • Data properties of the individual
    • +
    • Object relationships to and from the individual
    • +
    • The RDF types and RDFS labels for any object that directly relates to the individual
    • +
    + This data is filtered by the usual VIVO privacy policies, + so properties such as salary or employee ID number may not be revealed + unless the requester has been properly authenticated. +

    +

    + VIVO releases prior to VIVO 1.6 returned a more complex set of statements, + referred to as "extended linked data": +

      +
    • Data properties of the individual
    • +
    • Object relationships from the individual
    • +
    • All properties of the context nodes (positions, roles, etc.) that are associated with the individual.
    • +
    • Labels of objects that are joined to the individual through context nodes.
    • +
    • Full details of time intervals that are attached to context nodes: start, end, precision.
    • +
    + As above, this data was filtered by the VIVO privacy policies. + Although these additional items were included, + extended linked data was based only on relationships from the individual. + Relationships to the individual were not included. +

    +

    + Extended linked data was costly to produce, in terms of resources, + because it required a recursive search of the data model. + Extended linked data typically contained 50% more information than its non-extended equivalent, + and took more than 10 times as long to produce. +

    +

    + VIVO release 1.6 can be configured to produce extended linked data like previous releases. + However, extended linked data will not be supported in future releases. +

    +

    ANYTHING ELSE?

    @@ -614,7 +658,7 @@ rdf/tbox/filegraph/tbox/vivo-skos-1.5.owl - developer.defeatI18nCache = true + developer.defeatI18nCache false @@ -632,7 +676,7 @@ rdf/tbox/filegraph/tbox/vivo-skos-1.5.owl - developer.insertFreemarkerDelimiters = true + developer.insertFreemarkerDelimiters false @@ -647,7 +691,7 @@ rdf/tbox/filegraph/tbox/vivo-skos-1.5.owl - homePage.geoFocusMaps = enabled + homePage.geoFocusMaps enabled @@ -667,13 +711,35 @@ rdf/tbox/filegraph/tbox/vivo-skos-1.5.owl - MultiViews.profilePageTypes=disabled + MultiViews.profilePageTypes disabled + + + Setting this property causes VIVO 1.6 to produce extended responses to requests + for linked data. This provides compatibility with earlier releases. + The default is false. +
    + Extended linked data is costly, in terms of server resource. Typically, extended + linke data contains 50% more information than its non-extended equivalent, and + takes 10 times as long to produce. +
    + Extended linked data will not be supported in future releases of VIVO. + + + + + serveExtendedLinkedData + + + true + + + From a60c4ff048a3877c48665298a2b8e296ad3670f0 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Fri, 13 Sep 2013 11:32:55 -0400 Subject: [PATCH 50/66] Grant and AdvisingRelationship migration --- .../additions/AdvisingRelationship.sparql | 23 +++++++++++++++++++ .../sparqlConstructs/additions/Grant.sparql | 11 +++++++++ .../deletions/AdvisingRelationshipDel.sparql | 19 +++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdvisingRelationship.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/Grant.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/AdvisingRelationshipDel.sparql diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdvisingRelationship.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdvisingRelationship.sparql new file mode 100644 index 00000000..a9ba3c5d --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdvisingRelationship.sparql @@ -0,0 +1,23 @@ +PREFIX vivo: +PREFIX owl: +PREFIX foaf: + +CONSTRUCT { + ?advisee _:AdviseeRole . + _:AdviseeRole ?advisee . + _:AdviseeRole a vivo:AdviseeRole . + ?advisor _:AdvisorRole . + _:AdvisorRole ?advisor . + _:AdvisorRole a vivo:AdvisorRole . + _:AdviseeRole vivo:relatedBy ?advisingRelationship . + ?advisingRelationship vivo:relates _:AdviseeRole . + _:AdvisorRole vivo:relatedBy ?advisingRelationship . + ?advisingRelationship vivo:relates _:AdvisorRole . + ?advisingRelationship vivo:relates ?advisee . + ?advisingRelationship vivo:relates ?advisor . + ?advisee vivo:relatedBy ?advisingRelationship . + ?advisor vivo:relatedBy ?advisingRelationship . +} WHERE { + ?advisee vivo:adviseeIn ?advisingRelationship . + ?advisor vivo:advisorIn ?advisingRelationship . +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/Grant.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/Grant.sparql new file mode 100644 index 00000000..8b34b1b5 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/Grant.sparql @@ -0,0 +1,11 @@ +PREFIX vivo: +PREFIX owl: +PREFIX foaf: + +CONSTRUCT { + ?agent vivo:relatedBy ?grant . + ?grant vivo:relates ?agent +} WHERE { + ?agent ?role . + ?role vivo:relatedBy ?grant +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/AdvisingRelationshipDel.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/AdvisingRelationshipDel.sparql new file mode 100644 index 00000000..485c7328 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/AdvisingRelationshipDel.sparql @@ -0,0 +1,19 @@ +PREFIX vivo: +PREFIX owl: +PREFIX foaf: + +CONSTRUCT { + ?advisee vivo:adviseeIn ?advisingRelationship . + ?advisingRelationship vivo:advisee ?advisee . + ?advisor vivo:advisorIn ?advisingRelationship . + ?advisingRelationship vivo:advisor ?advisor +} WHERE { + ?advisee vivo:adviseeIn ?advisingRelationship . + OPTIONAL { + ?advisingRelationship vivo:advisee ?advisee . + } + ?advisor vivo:advisorIn ?advisingRelationship . + OPTIONAL { + ?advisingRelationship vivo:advisor ?advisor + } +} From 9dcf9d50e19fe32cb37f98918dddaaf55a243cd4 Mon Sep 17 00:00:00 2001 From: j2blake Date: Fri, 13 Sep 2013 14:29:10 -0400 Subject: [PATCH 51/66] Remove superfluous noise from the log. --- .../templatemodels/searchresult/IndividualSearchResult.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/IndividualSearchResult.java b/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/IndividualSearchResult.java index 780f95a2..782c2316 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/IndividualSearchResult.java +++ b/src/edu/cornell/mannlib/vitro/webapp/web/templatemodels/searchresult/IndividualSearchResult.java @@ -16,18 +16,18 @@ public class IndividualSearchResult extends BaseIndividualSearchResult { public IndividualSearchResult(Individual individual, VitroRequest vreq) { super(individual, vreq); - log.info("Called Individual Search Result"); + log.debug("Called Individual Search Result"); } /* Access methods for templates */ public String getPreferredTitle() { - log.info("Called get Title"); + log.debug("Called get Title"); return individual.getDataValue(CORE + "preferredTitle"); } public String getEmail() { - log.info("Called get Email"); + log.debug("Called get Email"); return individual.getDataValue(CORE + "email"); } From 80ff85385ed0a18b24d93a80dba82cee2e7b571f Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Fri, 13 Sep 2013 15:00:49 -0400 Subject: [PATCH 52/66] adding some inverse property axioms --- rdf/tbox/filegraph/object-properties.owl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rdf/tbox/filegraph/object-properties.owl b/rdf/tbox/filegraph/object-properties.owl index 0f0b4946..8d5e5c12 100644 --- a/rdf/tbox/filegraph/object-properties.owl +++ b/rdf/tbox/filegraph/object-properties.owl @@ -1437,6 +1437,7 @@ there is a measurement process p that has specified output m, a measurement datu assigns + @@ -1688,6 +1689,7 @@ there is a measurement process p that has specified output m, a measurement datu relates Relates a Relationship instance to the one or more Thing of the Relationship. There is a separate property (assigned by) to relate to the Agent that defines the Relationship. + From 5b8309bcbccde6b2369a444201676f9cc1d7d383 Mon Sep 17 00:00:00 2001 From: j2blake Date: Fri, 13 Sep 2013 17:24:59 -0400 Subject: [PATCH 53/66] VIVO-262 Complete the push script. Add more checking to extract_files. --- utilities/releaseScripts/4_extract_files.rb | 25 +++++++++++-- utilities/releaseScripts/8_push_changes.rb | 39 +++++++++++++++++++++ 2 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 utilities/releaseScripts/8_push_changes.rb diff --git a/utilities/releaseScripts/4_extract_files.rb b/utilities/releaseScripts/4_extract_files.rb index 6b480338..d223158f 100644 --- a/utilities/releaseScripts/4_extract_files.rb +++ b/utilities/releaseScripts/4_extract_files.rb @@ -21,7 +21,23 @@ require '_common' # # Get the VIVO files and the Vitro files, and remove the .git directories. # -def export_files(vivo_path, vitro_path, tag, export_dir) +def export_files(vivo_path, vitro_path, tag, branch, export_dir) + Dir.chdir(vivo_path) do |path| + cmds = ["git checkout #{branch}", + "git pull", + ] + cmds.delete_at(1) unless is_remote_branch?(branch) + approve_and_execute(cmds, "in #{path}") + end + + Dir.chdir(vitro_path) do |path| + cmds = ["git checkout #{branch}", + "git pull", + ] + cmds.delete_at(1) unless is_remote_branch?(branch) + approve_and_execute(cmds, "in #{path}") + end + approve_and_execute([ "rm -Rf #{File.expand_path("..", export_dir)}", "mkdir -pv #{export_dir}", @@ -31,6 +47,10 @@ def export_files(vivo_path, vitro_path, tag, export_dir) ]) end +def is_remote_branch?(branch) + ! `git branch --list -a origin/#{branch}`.strip.empty? +end + # # ------------------------------------------------------------------------------------ # Main method @@ -39,6 +59,7 @@ end begin tag = Settings.tag_name + branch = Settings.branch_name vivo_path = Settings.vivo_path vitro_path = Settings.vitro_path export_dir = Settings.export_dir @@ -54,7 +75,7 @@ begin get_permission_and_go(p) do puts "Building export area" - export_files(vivo_path, vitro_path, tag, export_dir) + export_files(vivo_path, vitro_path, tag, branch, export_dir) end rescue BadState puts "#{$!.message} - Aborting." diff --git a/utilities/releaseScripts/8_push_changes.rb b/utilities/releaseScripts/8_push_changes.rb new file mode 100644 index 00000000..3bb46eba --- /dev/null +++ b/utilities/releaseScripts/8_push_changes.rb @@ -0,0 +1,39 @@ +=begin +-------------------------------------------------------------------------------- + +Push any branches, tags, or merges back to GitHub. + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- +=end + +$: << File.dirname(File.expand_path(__FILE__)) +require '_common' + +# +# Merge the maintenance branch to the master branch and create the tag. +# +def push_to_origin(repo_path) + Dir.chdir(repo_path) do |path| + approve_and_execute(["git push --all", "git push --tags"], "in #{path}") + end +end + +# +# ------------------------------------------------------------------------------------ +# Main method +# ------------------------------------------------------------------------------------ +# + +begin + vivo_path = Settings.vivo_path + vitro_path = Settings.vitro_path + + get_permission_and_go("OK to push changes to the origin?") do + puts "Merging tags" + push_to_origin(vivo_path) + push_to_origin(vitro_path) + end +rescue BadState + puts "#{$!.message} - Aborting." +end From ba1c6c7075a3aa6cd13ff8cf3ba5f7c249b3e17d Mon Sep 17 00:00:00 2001 From: hudajkhan Date: Mon, 16 Sep 2013 14:02:47 -0400 Subject: [PATCH 54/66] updates for concept search service, adding LCSH search capability --- .../edit/forms/addAssociatedConcept.ftl | 69 ++- ...dAssociatedConceptVocabSpecificDisplay.ftl | 14 + .../freemarker/edit/forms/css/addConcept.css | 29 + .../freemarker/edit/forms/js/addConcept.js | 109 +++- rdf/abox/filegraph/vocabularySource.n3 | 4 +- .../semservices/service/impl/LCSHService.java | 510 ++++++++++++++++++ .../AddAssociatedConceptGenerator.java | 35 +- .../AddAssociatedConceptsPreprocessor.java | 368 +++++++++---- .../ConceptSearchServiceUtils.java | 5 + themes/wilma/i18n/all.properties | 1 + 10 files changed, 1009 insertions(+), 135 deletions(-) create mode 100644 productMods/templates/freemarker/edit/forms/addAssociatedConceptVocabSpecificDisplay.ftl create mode 100644 src/edu/cornell/mannlib/semservices/service/impl/LCSHService.java diff --git a/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl b/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl index bacdf43f..0f7a2c1b 100644 --- a/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl +++ b/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl @@ -1,6 +1,6 @@ <#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> <#import "lib-vivo-form.ftl" as lvf> - +<#include "addAssociatedConceptVocabSpecificDisplay.ftl" > <#assign existingConcepts = editConfiguration.pageData.existingConcepts/> <#assign userDefinedConceptUrl = editConfiguration.pageData.userDefinedConceptUrl/> <#assign sources = editConfiguration.pageData.searchServices/> @@ -35,29 +35,44 @@ -
      +
        + <#if (existingConcepts?size > 0)> +
      • +
        +
        +

        Concept (Type)

        +
        +
        +

        Vocabulary Source

        +
        +
          +
        +
        +
      • + <#list existingConcepts as existingConcept> -
      • - - - - - ${existingConcept.conceptLabel} - <#if existingConcept.vocabURI?has_content && existingConcept.vocabLabel?has_content> - (${existingConcept.vocabLabel}) - +
      • +
        +
        ${existingConcept.conceptLabel} <#if existingConcept.conceptSemanticTypeLabel?has_content> - ${existingConcept.conceptSemanticTypeLabel} + (${existingConcept.conceptSemanticTypeLabel}) - - -  ${i18n().remove_capitalized} - +
        +
        + <#if existingConcept.vocabURI?has_content && existingConcept.vocabLabel?has_content> + ${existingConcept.vocabLabel} + +
        + +
      • diff --git a/productMods/templates/freemarker/edit/forms/addAssociatedConceptVocabSpecificDisplay.ftl b/productMods/templates/freemarker/edit/forms/addAssociatedConceptVocabSpecificDisplay.ftl new file mode 100644 index 00000000..43ab963e --- /dev/null +++ b/productMods/templates/freemarker/edit/forms/addAssociatedConceptVocabSpecificDisplay.ftl @@ -0,0 +1,14 @@ +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> + +<#--The original concept javascript is service independent, i.e. all vocabulary service information is returned from the servlet +and the template itself generates the same display for all the services. Right now we would like to show a different label +in the search results based on the service. I am storing that information here and later we can consider how the display +can return to being independent of vocabulary service-specific display options. +These values will be passed to the javascript--> + +<#assign vocabSpecificDisplay = { +"http://link.informatics.stonybrook.edu/umls":"${i18n().label_type}", +"http://aims.fao.org/aos/agrovoc/agrovocScheme":"${i18n().label_altLabels}", +"http://www.eionet.europa.eu/gemet/gemetThesaurus":"${i18n().label_type}", +"http://id.loc.gov/authorities/subjects":"${i18n().label_altLabels}" +}/> diff --git a/productMods/templates/freemarker/edit/forms/css/addConcept.css b/productMods/templates/freemarker/edit/forms/css/addConcept.css index 967571ab..225b86bf 100644 --- a/productMods/templates/freemarker/edit/forms/css/addConcept.css +++ b/productMods/templates/freemarker/edit/forms/css/addConcept.css @@ -1,5 +1,9 @@ /* $This file is distributed under the terms of the license in /doc/license.txt$ */ +.conceptsListContainer { + overflow:hidden; + width:100%; +} .concepts .column { float:left; padding-right:3px; @@ -44,4 +48,29 @@ form#addConceptForm { form#addConceptForm span#createOwnOne{ float:left; margin-top:24px +} + +/*For existing concepts, display will also be tabular with columns*/ + +.existingConcept .row, .conceptHeadings .row { + clear:both; + float:left; +} + +.existingConcept .column , .conceptHeadings .column { + float:left; + padding-right:3px; + clear:none !important; /*Overriding customFor div's clearing*/ +} +/*label and semantic type if it exists*/ +.existingConcept .conceptLabelInfo, .conceptHeadings .conceptLabelInfo { + width:220px; +} + +.existingConcept .conceptVocabSource, .conceptHeadings .conceptVocabSource { + width:220px; +} + +.conceptHeadings .row { + border-bottom: 1px solid #5F6464; } \ No newline at end of file diff --git a/productMods/templates/freemarker/edit/forms/js/addConcept.js b/productMods/templates/freemarker/edit/forms/js/addConcept.js index d650d349..ce9200a6 100644 --- a/productMods/templates/freemarker/edit/forms/js/addConcept.js +++ b/productMods/templates/freemarker/edit/forms/js/addConcept.js @@ -55,12 +55,19 @@ var addConceptForm = { this.externalConceptLabel = $('#conceptLabel'); this.externalConceptSource = $('#conceptSource'); this.externalConceptSemanticTypeLabel = $("#conceptSemanticTypeLabel"); + this.externalConceptBroaderUris = $("#conceptBroaderURI"); + this.externalConceptNarrowerUris = $("#conceptNarrowerURI"); //remove links this.removeConceptLinks = $('a.remove'); this.errors = $('#errors'); this.createOwn1 = $('#createOwnOne'); this.createOwn2 = $('#createOwnTwo'); this.orSpan = $('span.or') + this.loadingIndicator = $("#indicator"); + this.showHideSearchResults = $("#showHideResults"); + //Value we are setting to cut off length of alternate labels string + this.maxNumberAlternateLabels = 4; + this.numberOfMaxInitialSearchResults = 7; }, initPage: function() { @@ -87,6 +94,10 @@ var addConceptForm = { addConceptForm.removeExistingConcept(this); return false; }); + this.showHideSearchResults.find("a#showHideLink").click(function() { + addConceptForm.showHideMultipleSearchResults(this); + return false; + }); }, initForm: function() { // Hide the button that shows the form @@ -99,7 +110,9 @@ var addConceptForm = { //Also clear the search input this.searchTerm.val(""); this.cancel.unbind('click'); - + //make sure results loading indicator is hidden + this.loadingIndicator.addClass("hidden"); + this.showHideSearchResults.hide(); // Show the form this.form.show(); }, @@ -114,6 +127,8 @@ var addConceptForm = { }, clearSearchResults:function() { $('#selectedConcept').empty(); + //Hide the indicator icon if still there + $("#indicator").addClass("hidden"); }, clearErrors:function() { addConceptForm.errors.empty(); @@ -134,6 +149,25 @@ var addConceptForm = { this.hideForm(); this.showFormButtonWrapper.show(); }, + showHideMultipleSearchResults: function(link) { + if($(link).hasClass("showmore")) { + //if clicking and already says show more then need to show the rest of the results + $("li.concepts").show(); //show everything + $(link).html("Show fewer results"); + $(link).removeClass("showmore"); + } else { + //if clicking and does not say show more than need to show less + $("li.concepts").slice(addConceptForm.numberOfMaxInitialSearchResults).hide(); + $(link).html("Show more results"); + $(link).addClass("showmore"); + } + }, + //reset this to default, which is hidden with show more link + resetShowHideMultipleSearchResults: function() { + addConceptForm.showHideSearchResults.hide(); + addConceptForm.showHideSearchResults.find("a#showHideLink").html("Show more results"); + addConceptForm.showHideSearchResults.find("a#showHideLink").addClass("showmore"); + }, submitSearchTerm: function() { //Get value of search term var searchValue = this.searchTerm.val(); @@ -145,7 +179,11 @@ var addConceptForm = { } var vocabSourceValue = checkedVocabSource.val(); var dataServiceUrl = addConceptForm.dataServiceUrl + "?searchTerm=" + encodeURIComponent(searchValue) + "&source=" + encodeURIComponent(vocabSourceValue); - //This should return an object including the concept list or any errors if there are any + //Show the loading icon until the results appear + addConceptForm.loadingIndicator.removeClass("hidden"); + //Hide and reset the show more button + addConceptForm.resetShowHideMultipleSearchResults(); + //This should return an object including the concept list or any errors if there are any $.getJSON(dataServiceUrl, function(results) { var htmlAdd = ""; var vocabUnavailable = "

        " + addConceptForm.vocServiceUnavailable + "

        "; @@ -166,7 +204,7 @@ var addConceptForm = { //For each result, display if(numberTotalMatches > 0) { htmlAdd = "
          "; - htmlAdd+= addConceptForm.addResultsHeader(); + htmlAdd+= addConceptForm.addResultsHeader(vocabSourceValue); //Show best matches first for(i = 0; i < numberBestMatches; i++) { var conceptResult = bestMatchResults[i]; @@ -184,6 +222,8 @@ var addConceptForm = { } if(htmlAdd.length) { + //hide the loading icon again + addConceptForm.loadingIndicator.addClass("hidden"); $('#selectedConcept').html(htmlAdd); if (htmlAdd.indexOf("No search results") >= 0) { addConceptForm.showHiddenElements(hasResults); @@ -191,6 +231,8 @@ var addConceptForm = { else { hasResults = true; addConceptForm.showHiddenElements(hasResults); + //Here, tweak the display based on the number of results + addConceptForm.displayUptoMaxResults(); } } }); @@ -203,9 +245,12 @@ var addConceptForm = { var definedBy = conceptResult.definedBy; var type = conceptResult.type; var uri = conceptResult.uri; + //also adding broader and narrower uris wherever they exist + var broaderUris = conceptResult.broaderURIList; + var narrowerUris = conceptResult.narrowerURIList; //this will be null if there are no alternate labels var altLabels = conceptResult.altLabelList; - return addConceptForm.generateIndividualConceptDisplay(uri, label, altLabels, definition, type, definedBy, isBestMatch); + return addConceptForm.generateIndividualConceptDisplay(uri, label, altLabels, definition, type, definedBy, isBestMatch, broaderUris, narrowerUris); }, //This should now return all best matches in one array and other results in another parseResults:function(resultsArray) { @@ -225,10 +270,19 @@ var addConceptForm = { } return {"bestMatch":bestMatchResults, "alternate":alternateResults}; }, - addResultsHeader:function() { - var htmlAdd = "
        • " + addConceptForm.labelTypeString + " " + addConceptForm.definitionString + "" + addConceptForm.bestMatchString + "
        • "; + addResultsHeader:function(vocabSourceValue) { + var htmlAdd = "
        • " + + addConceptForm.getVocabSpecificColumnLabel(vocabSourceValue) + " " + addConceptForm.definitionString + "" + addConceptForm.bestMatchString + "
        • "; return htmlAdd; }, + //currently just the first column label depends on which service has been utilized + getVocabSpecificColumnLabel: function(vocabSourceValue) { + var columnLabel = addConceptForm.vocabSpecificLabels[vocabSourceValue]; + if(columnLabel == undefined) { + columnLabel = addConceptForm.defaultLabelTypeString; + } + return columnLabel; + }, hideSearchResults:function() { this.selectedConcept.hide(); }, @@ -239,11 +293,14 @@ var addConceptForm = { } var i; var len = checkedElements.length; - var checkedConcept, checkedConceptElement, conceptLabel, conceptSource, conceptSemanticType; + var checkedConcept, checkedConceptElement, conceptLabel, conceptSource, conceptSemanticType, + conceptBroaderUri, conceptNarrowerUri; var conceptNodes = []; var conceptLabels = []; var conceptSources = []; var conceptSemanticTypes = []; + var conceptBroaderUris = []; //each array element can be a string which is comma delimited for multiple uris + var conceptNarrowerUris = [];//same as above checkedElements.each(function() { checkedConceptElement = $(this); @@ -251,22 +308,29 @@ var addConceptForm = { conceptLabel = checkedConceptElement.attr("label"); conceptSource = checkedConceptElement.attr("conceptDefinedBy"); conceptSemanticType = checkedConceptElement.attr("conceptType"); + conceptBroaderUri = checkedConceptElement.attr("broaderUris"); + conceptNarrowerUri = checkedConceptElement.attr("narrowerUris"); conceptNodes.push(checkedConcept); conceptLabels.push(conceptLabel); conceptSources.push(conceptSource); conceptSemanticTypes.push(conceptSemanticType); + conceptBroaderUris.push(conceptBroaderUri); + conceptNarrowerUris.push(conceptNarrowerUri); }); this.externalConceptURI.val(conceptNodes); this.externalConceptLabel.val(conceptLabels); this.externalConceptSource.val(conceptSources); this.externalConceptSemanticTypeLabel.val(conceptSemanticTypes); + this.externalConceptBroaderUris.val(conceptBroaderUris); + this.externalConceptNarrowerUris.val(conceptNarrowerUris); + return true; }, - generateIndividualConceptDisplay: function(cuiURI, label, altLabels, definition, type, definedBy, isBestMatch) { + generateIndividualConceptDisplay: function(cuiURI, label, altLabels, definition, type, definedBy, isBestMatch, broaderUris, narrowerUris) { var htmlAdd = "
        • " + "
          " + "
          " + - addConceptForm.generateIndividualCUIInput(cuiURI, label, type, definedBy) + + addConceptForm.generateIndividualCUIInput(cuiURI, label, type, definedBy, broaderUris, narrowerUris) + addConceptForm.generateIndividualLabelsDisplay(label, altLabels) + addConceptForm.generateIndividualTypeDisplay(type) + "
          " + addConceptForm.generateIndividualDefinitionDisplay(definition) + addConceptForm.generateBestOrAlternate(isBestMatch) + @@ -274,14 +338,23 @@ var addConceptForm = { "
        • "; return htmlAdd; }, - generateIndividualCUIInput:function(cuiURI, label, type, definedBy) { - return ""; + generateIndividualCUIInput:function(cuiURI, label, type, definedBy, broaderUris, narrowerUris) { + return ""; }, //In case there are multiple labels display those generateIndividualLabelsDisplay:function(label, altLabels) { var labelDisplay = label; + var displayAltLabels = altLabels; if(altLabels != null && altLabels.length > 0) { - labelDisplay += "
          [" + altLabels + "]"; + //Certain vocabulary services might return a long list of alternate labels, in which case we will show fewer + //display only upto a certain number of alternate labels and use an ellipsis to signify there + //are additional terms + if(altLabels.length > addConceptForm.maxNumberAlternateLabels) { + displayAltLabels = altLabels.slice(0, addConceptForm.maxNumberAlternateLabels) + ",..."; + } + labelDisplay += "
          (" + displayAltLabels + ")"; } return labelDisplay; }, @@ -307,6 +380,18 @@ var addConceptForm = { } return "
           
          "; }, + //Certain vocabulary services return a great number of results, we would like the ability to show more or less of those results + displayUptoMaxResults:function() { + var numberConcepts = $("li.concepts").length; + if(numberConcepts > addConceptForm.numberOfMaxInitialSearchResults) { + $("li.concepts").slice(addConceptForm.numberOfMaxInitialSearchResults).hide(); + //Hide the link for showing/hiding search results + addConceptForm.showHideSearchResults.show(); + addConceptForm.showHideSearchResults.find("a#showHideLink").html("Show more results"); + addConceptForm.showHideSearchResults.find("a#showHideLink").addClass("showmore"); + } + + }, validateConceptSelection:function(checkedElements) { var numberElements = checkedElements.length; if(numberElements < 1) { diff --git a/rdf/abox/filegraph/vocabularySource.n3 b/rdf/abox/filegraph/vocabularySource.n3 index a111d896..cb51ff84 100644 --- a/rdf/abox/filegraph/vocabularySource.n3 +++ b/rdf/abox/filegraph/vocabularySource.n3 @@ -3,4 +3,6 @@ . "UMLS"^^ . "AGROVOC"^^ . - "GEMET"^^ . \ No newline at end of file + "GEMET"^^ . + . + "LCSH"^^ . diff --git a/src/edu/cornell/mannlib/semservices/service/impl/LCSHService.java b/src/edu/cornell/mannlib/semservices/service/impl/LCSHService.java new file mode 100644 index 00000000..14a59dd1 --- /dev/null +++ b/src/edu/cornell/mannlib/semservices/service/impl/LCSHService.java @@ -0,0 +1,510 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.semservices.service.impl; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.StringWriter; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import java.net.URLEncoder; +import java.rmi.RemoteException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.rpc.ServiceException; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; +import net.sf.json.JSONSerializer; + +import org.apache.commons.lang.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.fao.www.webservices.AgrovocWS.ACSWWebService; +import org.fao.www.webservices.AgrovocWS.ACSWWebServiceServiceLocator; +import org.semanticweb.skos.SKOSAnnotation; +import org.semanticweb.skos.SKOSConcept; +import org.semanticweb.skos.SKOSDataFactory; +import org.semanticweb.skos.SKOSDataProperty; +import org.semanticweb.skos.SKOSDataRelationAssertion; +import org.semanticweb.skos.SKOSDataset; +import org.semanticweb.skos.SKOSEntity; +import org.semanticweb.skos.SKOSLiteral; +import org.semanticweb.skos.SKOSObjectRelationAssertion; +import org.semanticweb.skos.SKOSUntypedLiteral; +import org.semanticweb.skos.properties.*; +import org.semanticweb.skosapibinding.SKOSManager; +import org.w3c.dom.Attr; +import org.w3c.dom.Document; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.xml.sax.SAXException; + +import com.hp.hpl.jena.query.Query; +import com.hp.hpl.jena.query.QueryExecution; +import com.hp.hpl.jena.query.QueryExecutionFactory; +import com.hp.hpl.jena.query.QueryFactory; +import com.hp.hpl.jena.query.QuerySolution; +import com.hp.hpl.jena.query.ResultSet; +import com.hp.hpl.jena.rdf.model.Literal; +import com.hp.hpl.jena.rdf.model.RDFNode; +import com.hp.hpl.jena.rdf.model.Resource; + +import edu.cornell.mannlib.semservices.bo.Concept; +import edu.cornell.mannlib.semservices.exceptions.ConceptsNotFoundException; +import edu.cornell.mannlib.semservices.service.ExternalConceptService; +import edu.cornell.mannlib.semservices.util.XMLUtils; + +public class LCSHService implements ExternalConceptService { + + protected final Log log = LogFactory.getLog(getClass()); + private final String skosSuffix = ".skos.rdf"; + private final String hostUri = "http://id.loc.gov"; + private java.lang.String LCSHWS_address = hostUri + "/authorities/subjects"; + private final String schemeUri = hostUri + "/authorities/subjects"; + private final String baseUri = hostUri + "/search/"; + private final String ontologyName = "LCSH"; + private final String format = "SKOS"; + private final String lang = "en"; + private final String codeName = "hasCodeAgrovoc"; + private final String searchMode = "Exact Match"; + protected final String dbpedia_endpoint = " http://dbpedia.org/sparql"; + //Property uris used for SKOS + protected final String SKOSNotePropertyURI = "http://www.w3.org/2004/02/skos/core#note"; + protected final String SKOSPrefLabelURI = "http://www.w3.org/2004/02/skos/core#prefLabel"; + protected final String SKOSAltLabelURI = "http://www.w3.org/2008/05/skos-xl#altLabel"; + protected final String SKOSBroaderURI = "http://www.w3.org/2004/02/skos/core#broader"; + protected final String SKOSNarrowerURI = "http://www.w3.org/2004/02/skos/core#narrower"; + protected final String SKOSExactMatchURI = "http://www.w3.org/2004/02/skos/core#exactMatch"; + protected final String SKOSCloseMatchURI = "http://www.w3.org/2004/02/skos/core#closeMatch"; + + @Override + public List getConcepts(String term) throws Exception { + List conceptList = new ArrayList(); + String results = null; + String dataUrl = baseUri + "?q=" + URLEncoder.encode(term, "UTF-8") + + "&q=cs%3Ahttp%3A%2F%2Fid.loc.gov%2Fauthorities%2Fsubjects" + + "&format=XML"; + log.debug("dataURL " + dataUrl); + + try { + + StringWriter sw = new StringWriter(); + URL rss = new URL(dataUrl); + + BufferedReader in = new BufferedReader(new InputStreamReader( + rss.openStream())); + String inputLine; + while ((inputLine = in.readLine()) != null) { + sw.write(inputLine); + } + in.close(); + + results = sw.toString(); + log.debug(results); + } catch (Exception ex) { + log.error("error occurred in servlet", ex); + return null; + } + + if (StringUtils.isEmpty(results)) { + return conceptList; + } + + conceptList = processOutput(results); + + return conceptList; + } + + // Results are in json format (atom) - atom entries need to be extracted + // retrieve the URIs and get the SKOS version of the entry, getting broader + // and narrower terms as applicable as well as any description (skos:note) + // that might exist + private List processOutput(String results) throws Exception { + List conceptList = new ArrayList(); + SKOSManager manager = new SKOSManager(); + // Get uris from the results + // Properties we will be querying for + SKOSDataFactory sdf = manager.getSKOSDataFactory(); + + + List uris = getConceptURIFromXML(results); + String bestMatch = "true"; + int i = 0; + for (String uri : uris) { + if(i > 0) { + bestMatch = "false"; + } + log.debug("-" + uri + "-"); + String conceptUriString = getSKOSURI(uri); + URI conceptURI = null; + try { + conceptURI = new URI(conceptUriString); + } catch (URISyntaxException e) { + log.error("URI syntax exception in trying to get concept uri " + conceptUriString, e); + return conceptList; + } + log.debug("loading concept uri " + conceptUriString); + SKOSDataset dataset = manager.loadDataset(conceptURI); + Set skosConcepts = dataset.getSKOSConcepts(); + log.debug("Number of skos concepts " + skosConcepts.size()); + + for (SKOSConcept skosConcept : skosConcepts) { + + Concept c = this.createConcept(sdf, bestMatch, skosConcept, dataset); + if(c != null) { + conceptList.add(c); + } + + } + i++; + + } + return conceptList; + } + + + + //Will use skos if does not encounter error from skos api, otherwise will use regular XML parsing techniques + public Concept createConcept(SKOSDataFactory skosDataFactory, String bestMatch, SKOSConcept skosConcept, SKOSDataset dataset) { + + Concept concept = new Concept(); + String skosConceptURI = skosConcept.getURI().toString(); + log.debug("SKOSConceptURI is " + skosConceptURI); + // get skos version of uri + + concept.setUri(skosConceptURI); + concept.setConceptId(stripConceptId(skosConceptURI)); + concept.setBestMatch(bestMatch); + concept.setDefinedBy(schemeUri); + concept.setSchemeURI(schemeUri); + concept.setType(""); + + //Get the skos annotations first to see if there is an error triggered, if so try and see if we can instead utilize XML + //For some of the SKOS concepts, a null pointer exception occurs while XML processing still works + //I do not yet know the reasons, hjk54 + try { + Set skosAnnots = skosConcept + .getSKOSAnnotations(dataset); + } catch(NullPointerException ex) { + concept = createConceptUsingXML(concept, bestMatch, skosConcept); + return concept; + } catch(Exception ex) { + log.debug("Error occurred for annotation retrieval for skos concept " + skosConceptURI, ex); + return null; + } + + concept = this.createConceptUsingSKOS(skosDataFactory, concept, skosConcept, dataset); + return concept; + } + + private Concept createConceptUsingSKOS(SKOSDataFactory skosDataFactory, Concept concept, SKOSConcept skosConcept, SKOSDataset dataset) { + + SKOSPrefLabelProperty prefLabelProperty = skosDataFactory.getSKOSPrefLabelProperty(); + SKOSAltLabelProperty altLabelProperty = skosDataFactory.getSKOSAltLabelProperty(); + + try { + List labelLiterals = this.getSKOSLiteralValues(skosConcept + .getSKOSRelatedConstantByProperty(dataset, + prefLabelProperty)); + if(labelLiterals.size() > 0) { + concept.setLabel(labelLiterals.get(0)); + } else { + //This is an error because there should be at least one label returned + log.debug("The number of preferred labels is not greater than zero"); + } + + // get altLabels + List altLabelList = this.getSKOSLiteralValues(skosConcept + .getSKOSRelatedConstantByProperty(dataset, altLabelProperty)); + concept.setAltLabelList(altLabelList); + + // See if we can get a description as well + List notes = this.getSKOSAnnotationValues(skosConcept + .getSKOSAnnotationsByURI(dataset, new URI(this.SKOSNotePropertyURI))); + + concept.setDefinition(StringUtils.join(notes, ",")); + + // get the broader property URI + List broaderURIList = this.getSKOSAnnotationValues(skosConcept + .getSKOSAnnotationsByURI(dataset, new URI(this.SKOSBroaderURI))); + concept.setBroaderURIList(broaderURIList); + + // get the narrower property URI + List narrowerURIList = this.getSKOSAnnotationValues(skosConcept + .getSKOSAnnotationsByURI(dataset, new URI(this.SKOSNarrowerURI))); + concept.setNarrowerURIList(narrowerURIList); + + // exact match + List exactMatchURIList = this.getSKOSAnnotationValues(skosConcept + .getSKOSAnnotationsByURI(dataset, + new URI(this.SKOSExactMatchURI))); + concept.setExactMatchURIList(exactMatchURIList); + + // close match + List closeMatchURIList = this.getSKOSAnnotationValues(skosConcept + .getSKOSAnnotationsByURI(dataset, + new URI(this.SKOSCloseMatchURI))); + concept.setCloseMatchURIList(closeMatchURIList); + log.debug("add concept to list"); + } catch (Exception ex) { + log.debug("Exception occurred for -" + skosConcept.getURI() + + "- " + ex.getMessage(), ex); + return null; + } + return concept; + } + + + private List getSKOSLiteralValues(Set skosLiterals) { + String lang = ""; + List literalValues = new ArrayList(); + for (SKOSLiteral literal : skosLiterals) { + if (!literal.isTyped()) { + // if it has language + SKOSUntypedLiteral untypedLiteral = literal + .getAsSKOSUntypedLiteral(); + if (untypedLiteral.hasLang()) { + lang = untypedLiteral.getLang(); + } else { + lang = ""; + } + } + // log.debug("literal: "+ literal.getLiteral()); + if (lang.equals("en")) { + log.debug("literal value: " + literal.getLiteral()); + literalValues.add(literal.getLiteral()); + } + } + return literalValues; + } + + //For a given set of annotations (for example, for a specific property) + private List getSKOSAnnotationValues(Set skosAnnotations) { + List valuesList = new ArrayList(); + for (SKOSAnnotation annotation : skosAnnotations) { + String value = this.getSKOSAnnotationStringValue(annotation); + valuesList.add(value); + } + return valuesList; + } + + //Get string value for annotation + private String getSKOSAnnotationStringValue(SKOSAnnotation annotation) { + String value = new String(); + if (annotation.isAnnotationByConstant()) { + SKOSLiteral literal = annotation + .getAnnotationValueAsConstant(); + value = literal.getLiteral(); + log.debug("broder uri: " + value); + } else { + // annotation is some resource + SKOSEntity entity = annotation.getAnnotationValue(); + value = entity.getURI().toString(); + } + return value; + } + + //this method relies on the XML of the single SKOS rdf concept in case the SKOS api throws a null pointer exception + private Concept createConceptUsingXML(Concept concept, String bestMatch, + SKOSConcept skosConcept) { + String conceptUriString = skosConcept.getURI().toString() + this.skosSuffix;; + + URL conceptURL = null; + try { + conceptURL = new URL(conceptUriString); + } catch (Exception e) { + log.error("Exception occurred in instantiating URL for " + conceptUriString, e); + //If the url is having trouble, just return null for the concept + return null; + } + log.debug("loading concept uri " + conceptUriString); + + + String results = null; + try { + + StringWriter sw = new StringWriter(); + + + BufferedReader in = new BufferedReader(new InputStreamReader( + conceptURL.openStream())); + String inputLine; + while ((inputLine = in.readLine()) != null) { + sw.write(inputLine); + } + in.close(); + + results = sw.toString(); + log.debug(results); + } catch (Exception ex) { + log.error("Error occurred in getting concept from the URL " + conceptUriString, ex); + return null; + } + + + try { + Document doc = XMLUtils.parse(results); + List labelLiterals = this.getValuesFromXMLNodes(doc, "skos:prefLabel", null); + if(labelLiterals.size() > 0) { + concept.setLabel(labelLiterals.get(0)); + } else { + //This is an error because there should be at least one label returned + log.debug("The number of preferred labels is not greater than zero"); + } + List altLabelList = this.getValuesFromXMLNodes(doc, "skos:altLabel", null); + concept.setAltLabelList(altLabelList); + + List broaderURIList = this.getValuesFromXMLNodes(doc, "skos:broader", "rdf:resource"); + concept.setBroaderURIList(broaderURIList); + List narrowerURIList = this.getValuesFromXMLNodes(doc, "skos:narrower", "rdf:resource"); + concept.setNarrowerURIList(narrowerURIList); + + List exactMatchURIList = this.getValuesFromXMLNodes(doc, "skos:exactMatch", "rdf:resource"); + concept.setExactMatchURIList(exactMatchURIList); + List closeMatchURIList = this.getValuesFromXMLNodes(doc, "skos:closeMatch", "rdf:resource"); + concept.setCloseMatchURIList(closeMatchURIList); + + + } catch (IOException e) { + log.error("error occurred in parsing " + results, e); + } catch (SAXException e) { + log.error("error occurred in parsing " + results, e); + } catch (ParserConfigurationException e) { + log.error("error occurred in parsing " + results, e); + } + + return concept; + + } + + private String getSKOSURI(String uri) { + // Strip .xml at the end and replace with .skos.rdf + String skosURI = uri; + if (uri.endsWith(".xml")) { + skosURI = uri.substring(0, uri.length() - 4); + skosURI += skosSuffix; + } + return hostUri + skosURI; + } + + public List getConceptURISFromJSON(String results) { + List uris = new ArrayList(); + try { + JSONObject json = (JSONObject) JSONSerializer.toJSON(results); + log.debug(json.toString()); + // Get atom entry elements + + } catch (Exception ex) { + log.error("Could not get concepts", ex); + throw ex; + } + return uris; + + } + + protected List getConceptURIFromXML(String rdf) { + List uris = new ArrayList(); + String conceptUri = new String(); + try { + Document doc = XMLUtils.parse(rdf); + NodeList nodes = doc.getElementsByTagName("search:result"); + int len = nodes.getLength(); + int i; + for (i = 0; i < len; i++) { + Node node = nodes.item(i); + NamedNodeMap attrs = node.getAttributes(); + Attr idAttr = (Attr) attrs.getNamedItem("uri"); + conceptUri = idAttr.getTextContent(); + log.debug("concept uri is " + conceptUri); + uris.add(conceptUri); + } + + } catch (IOException e) { + log.error("error occurred in parsing " +rdf, e); + } catch (SAXException e) { + log.error("error occurred in parsing " +rdf, e); + } catch (ParserConfigurationException e) { + log.error("error occurred in parsing " +rdf, e); + + } + return uris; + + } + + public List processResults(String term) throws Exception { + return getConcepts(term); + } + + /** + * @param uri + * @return + */ + protected String stripConceptId(String uri) { + String conceptId = new String(); + int lastslash = uri.lastIndexOf('/'); + conceptId = uri.substring(lastslash + 1, uri.length()); + return conceptId; + } + + /** + * @param str + * @return + */ + protected String extractConceptId(String str) { + try { + return str.substring(1, str.length() - 1); + } catch (Exception ex) { + log.error("Exception occurred in extracting concept id for " + str, ex); + return ""; + } + } + + @Override + public List getConceptsByURIWithSparql(String uri) + throws Exception { + // TODO Auto-generated method stub + return null; + } + + + + + public List getValuesFromXMLNodes(Document doc, String tagName, String attributeName) { + NodeList nodes = doc.getElementsByTagName(tagName); + + return getValuesFromXML(nodes, attributeName); + } + + //Returns list of values based on nodes and whether or not a specific attribute name should be used or just the text content + public List getValuesFromXML(NodeList nodes, String attributeName) { + int len = nodes.getLength(); + int i; + List values = new ArrayList(); + for (i = 0; i < len; i++) { + Node node = nodes.item(i); + if(attributeName != null && !attributeName.isEmpty()) { + NamedNodeMap attrs = node.getAttributes(); + Attr a = (Attr)attrs.getNamedItem(attributeName); + if(a != null) { + values.add(a.getTextContent()); + } + } else { + values.add(node.getTextContent()); + } + } + return values; + } + + + +} diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java index 23f4e1bf..98d38df6 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java @@ -59,6 +59,8 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements //TODO: Set this to a dynamic mechanism private static String VIVOCore = "http://vivoweb.org/ontology/core#"; private static String SKOSConceptType = "http://www.w3.org/2004/02/skos/core#Concept"; + private static String SKOSBroaderURI = "http://www.w3.org/2004/02/skos/core#broader"; + private static String SKOSNarrowerURI = "http://www.w3.org/2004/02/skos/core#narrower"; @Override public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) { EditConfigurationVTwo editConfiguration = new EditConfigurationVTwo(); @@ -97,7 +99,8 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements // Add preprocessors addPreprocessors(editConfiguration, ModelAccess.on(vreq).getJenaOntModel(), - ModelAccess.on(vreq).getOntModelSelector().getTBoxModel()); + ModelAccess.on(vreq).getOntModelSelector().getTBoxModel(), + vreq.getWebappDaoFactory()); // Adding additional data, specifically edit mode addFormSpecificData(editConfiguration, vreq); // One override for basic functionality, changing url pattern @@ -189,7 +192,11 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements "?conceptNode <" + RDFS.isDefinedBy.getURI() + "> ?conceptSource .", "?conceptNode <" + RDF.type + "> ?conceptSemanticTypeURI ." + "?conceptSemanticTypeURI <" + RDFS.label.getURI() + "> ?conceptSemanticTypeLabel ." + - "?conceptSemanticTypeURI <" + RDFS.subClassOf + "> <" + SKOSConceptType + "> ." + "?conceptSemanticTypeURI <" + RDFS.subClassOf + "> <" + SKOSConceptType + "> .", + "?conceptNode <" + this.SKOSNarrowerURI + "> ?conceptNarrowerURI ." + + "?conceptNarrowerURI <" + this.SKOSBroaderURI + "> ?conceptNode .", + "?conceptNode <" + this.SKOSBroaderURI + "> ?conceptBroaderURI ." + + "?conceptBroaderURI <" + this.SKOSNarrowerURI + "> ?conceptNode ." ); } @@ -254,6 +261,8 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements urisOnForm.add("conceptNode"); urisOnForm.add("conceptSource"); urisOnForm.add("conceptSemanticTypeURI"); + urisOnForm.add("conceptBroaderURI"); + urisOnForm.add("conceptNarrowerURI"); editConfiguration.setUrisOnform(urisOnForm); //Also need to add the label of the concept literalsOnForm.add("conceptLabel"); @@ -288,8 +297,23 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements setVocabURIField(editConfiguration, vreq); setConceptSemanticTypeURIField(editConfiguration,vreq); setConceptSemanticTypeLabelField(editConfiguration,vreq); + setConceptBroaderURIField(editConfiguration, vreq); + setConceptNarrowerURIField(editConfiguration, vreq); } + private void setConceptNarrowerURIField( + EditConfigurationVTwo editConfiguration, VitroRequest vreq) { + editConfiguration.addField(new FieldVTwo(). + setName("conceptNarrowerURI")); + } + + private void setConceptBroaderURIField( + EditConfigurationVTwo editConfiguration, VitroRequest vreq) { + editConfiguration.addField(new FieldVTwo(). + setName("conceptBroaderURI")); + + } + //this field will be hidden and include the concept node URI private void setConceptNodeField(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { @@ -335,14 +359,17 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements //Add preprocessor - private void addPreprocessors(EditConfigurationVTwo editConfiguration, OntModel ontModel, OntModel modelChangeModel) { + private void addPreprocessors(EditConfigurationVTwo editConfiguration, + OntModel ontModel, + OntModel modelChangeModel, + WebappDaoFactory wdf) { //An Edit submission preprocessor for enabling addition of multiple terms for a single search //TODO: Check if this is the appropriate way of getting model //Passing model to check for any URIs that are present editConfiguration.addEditSubmissionPreprocessor( - new AddAssociatedConceptsPreprocessor(editConfiguration, ontModel)); + new AddAssociatedConceptsPreprocessor(editConfiguration, ontModel, wdf)); editConfiguration.addModelChangePreprocessor(new ConceptSemanticTypesPreprocessor( modelChangeModel)); diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java index 1b81dbf1..87deceb4 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java @@ -9,6 +9,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; +import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -27,6 +28,8 @@ import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.XSD; +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.BaseEditSubmissionPreprocessorVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; @@ -38,8 +41,8 @@ public class AddAssociatedConceptsPreprocessor extends protected static final Log log = LogFactory .getLog(AddAssociatedConceptsPreprocessor.class.getName()); - //TODO: Check if better way to do this? protected OntModel ontModel = null; + protected WebappDaoFactory wdf = null; // Field names/variables names for n3 - these will have numbers added as // suffix if more than one term private static String conceptNodeBase = "conceptNode"; @@ -47,6 +50,9 @@ public class AddAssociatedConceptsPreprocessor extends private static String labelBase = "conceptLabel"; private static String conceptSemanticTypeLabelBase = "conceptSemanticTypeLabel"; private static String conceptSemanticTypeURIBase = "conceptSemanticTypeURI"; + private static String conceptBroaderURIBase = "conceptBroaderURI"; + private static String conceptNarrowerURIBase = "conceptNarrowerURI"; + //keyed off label variable, specifies which uri variable should be used, useful if same label repeated twice private HashMap labelVarToUriVarHash = null; private HashMap> conceptSemanticTypeURIVarToValueMap = null; @@ -56,15 +62,21 @@ public class AddAssociatedConceptsPreprocessor extends private static String conceptSourceValues = null; private static String conceptSemanticTypeLabelValues = null; private static String conceptSemanticTypeURIValues = null; + private static List conceptBroaderURIValues = null; + private static List conceptNarrowerURIValues = null; private static MultiValueEditSubmission submission = null; + + private static String SKOSBroaderURI = "http://www.w3.org/2004/02/skos/core#broader"; + private static String SKOSNarrowerURI = "http://www.w3.org/2004/02/skos/core#narrower"; // String datatype // Will be editing the edit configuration as well as edit submission here - public AddAssociatedConceptsPreprocessor(EditConfigurationVTwo editConfig, OntModel ontModel) { + public AddAssociatedConceptsPreprocessor(EditConfigurationVTwo editConfig, OntModel ontModel, WebappDaoFactory wadf) { super(editConfig); this.ontModel = ontModel; + this.wdf = wadf; this.labelVarToUriVarHash = new HashMap(); //Saves values of concept type uris this.conceptSemanticTypeURIVarToValueMap = new HashMap>(); @@ -86,6 +98,7 @@ public class AddAssociatedConceptsPreprocessor extends processConceptSemanticValues(); //Also need to see if any broader or narrower uris for the concepts that already exist in the system //and set up the appropriate relationships between this concept and the broader/narrower uri + getExistingConceptRelationships(); if (numberConcepts > 1) { processConceptNodes(numberConcepts); } @@ -96,6 +109,8 @@ public class AddAssociatedConceptsPreprocessor extends } + + //Since we will change the uris and literals from form, we should make copies //of the original values and store them, this will also make iterations //and updates to the submission independent from accessing the values @@ -103,11 +118,104 @@ public class AddAssociatedConceptsPreprocessor extends conceptLabelValues = getConceptLabelValues(); conceptNodeValues = getConceptNodeValues(); conceptSourceValues = getConceptSourceValues(); + conceptBroaderURIValues = getConceptBroaderURIValues(); + conceptNarrowerURIValues = getConceptNarrowerURIValues(); log.debug("concept label values are " + conceptLabelValues); } - // + + //For broader and narrower relationships, we will be + //linking the concept to broader and narrower terms where those terms already + //exist in the system + //This method or approach may change later in which case this method should change + private void getExistingConceptRelationships() { + List existingNarrowerURIs = getExistingNarrowerURIs(conceptNarrowerURIValues); + List existingBroaderURIs = getExistingBroaderURIs(conceptBroaderURIValues); + //Now set the submission values to these, overwriting the original + Map> urisFromForm = submission.getUrisFromForm(); + if(existingNarrowerURIs.size() > 0) { + urisFromForm.put("conceptNarrowerURI", existingNarrowerURIs); + } else { + //The original code for submission wouldn't put in a key if the values were null or size 0 + urisFromForm.remove("conceptNarrowerURI"); + } + if(existingBroaderURIs.size() > 0) { + urisFromForm.put("conceptBroaderURI", existingBroaderURIs); + } else { + urisFromForm.remove("conceptBroaderURI"); + } + } + + //get the broader and narrower uri values that already exist in the system from the ones returned in the search + //and use those to populate relationships between the concept and other concepts already in the system + //We should also make sure to use bidirectional n3 so the graph has both sets of relationships represented + private List getConceptNarrowerURIValues() { + Map> urisFromForm = submission.getUrisFromForm(); + List narrowerURIs = urisFromForm.get("conceptNarrowerURI"); + return narrowerURIs; + } + + private List getConceptBroaderURIValues() { + Map> urisFromForm = submission.getUrisFromForm(); + List broaderURIs = urisFromForm.get("conceptBroaderURI"); + return broaderURIs; + } + + private List getExistingBroaderURIs(List broaderURIs) { + if(broaderURIs == null) { + return new ArrayList(); + } + List existingBroaderURIs = this.getExistingURIs(broaderURIs); + return existingBroaderURIs; + } + + private List getExistingNarrowerURIs(List narrowerURIs) { + if(narrowerURIs == null) + return new ArrayList(); + List existingNarrowerURIs = this.getExistingURIs(narrowerURIs); + return existingNarrowerURIs; + } + + //We need to keep the number of elements the same if there are any entries at all in the original + //So we will use an empty string or null + private List getExistingURIs(List uris) { + //Important to keep the same formatting as original, because a comma delimited string as an element in the array + //refers to a list of uris appropriate for a given concept, where each element in the array corresponds to a different + //concept + List existingURIs = new ArrayList(); + for(String uri:uris) { + if(uri.indexOf(",") != -1) { + List existingURISet = new ArrayList(); + String[] uriSet = uri.split(","); + for(String u: uriSet) { + if(u != null && !u.isEmpty() && this.wdf.hasExistingURI(u)) { + existingURISet.add(u); + } + } + //Now add the comma delimited version back to the array + if(existingURISet.size() > 0) { + existingURIs.add(StringUtils.join(existingURISet, ",")); + } else { + //add empty string to indicate no value here + existingURIs.add(""); + } + } else { + if(uri != null && !uri.isEmpty() && this.wdf.hasExistingURI(uri)) { + existingURIs.add(uri); + } + else + { + existingURIs.add(""); + } + + } + } + return existingURIs; + } + + + //Process the semantic type label and URI values for the concepts private void processConceptSemanticValues() { conceptSemanticTypeLabelValues = getConceptSemanticTypeLabelValues(); conceptSemanticTypeURIValues = getConceptSemanticTypeURIValues(); @@ -183,10 +291,10 @@ public class AddAssociatedConceptsPreprocessor extends addConceptSourceInputs(numberConcepts); addConceptLabelInputs(numberConcepts); //for concept semantic type labels and uris where they exist - //TODO: Make into single method as URIs depend on labels addConceptSemanticTypeLabelAndURIInputs(numberConcepts); - //addConceptSemanticTypeURIInputs(numberConcepts); - + //For broader and narrower uris where they exist (this of course is in the case of multiple broader and narrower uris + addConceptBroaderURIInputs(numberConcepts); + addConceptNarrowerURIInputs(numberConcepts); } private void addConceptNodeInputs(int numberConcepts) { @@ -301,30 +409,53 @@ public class AddAssociatedConceptsPreprocessor extends String[] uriValuesArray = uriVals.toArray(new String[uriVals.size()]); submission.addUriToForm(editConfiguration, uriInputName, uriValuesArray); } - - - //the number of existing values may not match up, or at least existing populated ones - /* - if(conceptSemanticTypeURIs != null && conceptSemanticTypeURIs.length == numberConcepts) { - int i; - for(i = 0; i < numberConcepts; i++) { - int suffix = i + 1; - String conceptInputName = conceptSemanticTypeURIBase + suffix; - String[] uriValues = new String[1]; - uriValues[0] = conceptSemanticTypeURIs[i]; - //Add value for uri to form - //TODO: Check if value is empty in which case don't add to submission - submission.addUriToForm(editConfiguration, conceptInputName, uriValues); - } - } else if(conceptSemanticTypeURIs != null && conceptSemanticTypeURIs.length != numberConcepts){ - log.error("Number of concept nodes did not match the number of concepts to be added"); - } else{ - log.error("Concept nodes returned were null"); - } - - */ } + private void addConceptBroaderURIInputs(int numberConcepts) { + int i; + //Add inputs based on if there are any broader uris to add + //Can't really compare number of existing broader uris to concepts + //as each concept may or may not have a broader uri + if(this.conceptBroaderURIValues.size() > 0 && this.conceptBroaderURIValues.size() <= numberConcepts) { + for(i = 0; i < numberConcepts; i++) { + int suffix = i + 1; + String conceptBroaderURIInputName = conceptBroaderURIBase + suffix; + String broaderURIs = this.conceptBroaderURIValues.get(i); + if(broaderURIs != null && !broaderURIs.isEmpty()) { + String[] broaderURISet = new String[1]; + if(broaderURIs.indexOf(",") != -1) { + broaderURISet = broaderURIs.split(","); + } else { + broaderURISet[0] = broaderURIs; + } + //Add value for uri to form + submission.addUriToForm(editConfiguration, conceptBroaderURIInputName, broaderURISet); + } + } + } + + } + private void addConceptNarrowerURIInputs(int numberConcepts) { + int i; + if(this.conceptNarrowerURIValues.size() > 0 && this.conceptNarrowerURIValues.size() <= numberConcepts) { + for(i = 0; i < numberConcepts; i++) { + int suffix = i + 1; + String conceptNarrowerURIInputName = conceptNarrowerURIBase + suffix; + String narrowerURIs = this.conceptNarrowerURIValues.get(i); + if(narrowerURIs != null && !narrowerURIs.isEmpty()) { + String[] narrowerURISet = new String[1]; + if(narrowerURIs.indexOf(",") != -1) { + narrowerURISet = narrowerURIs.split(","); + } else { + narrowerURISet[0] = narrowerURIs; + } + //Add value for uri to form + submission.addUriToForm(editConfiguration, conceptNarrowerURIInputName, narrowerURISet); + } + } + } + } + //Fields private void addFields(int numberConcepts) { @@ -340,7 +471,8 @@ public class AddAssociatedConceptsPreprocessor extends String source = sourceBase + suffix; String conceptSemanticTypeLabel = conceptSemanticTypeLabelBase + suffix; String conceptSemanticTypeURI = this.getConceptSemanticTypeURIFieldName(conceptSemanticTypeLabel, suffix); - + String conceptBroaderURI = conceptBroaderURIBase + suffix; + String conceptNarrowerURI = conceptNarrowerURIBase + suffix; addConceptNodeField(conceptNode); addLabelField(label); addSourceField(source); @@ -351,9 +483,15 @@ public class AddAssociatedConceptsPreprocessor extends conceptSemanticTypeUris.add(conceptSemanticTypeURI); addConceptSemanticTypeURIField(conceptSemanticTypeURI); } + + //add fields for concept broader and narrower uris + addConceptBroaderURIField(conceptBroaderURI); + addConceptNarrowerURIField(conceptNarrowerURI); } } + + private void addConceptNodeField(String conceptNode) { List validators = new ArrayList(); validators.add("nonempty"); @@ -394,7 +532,18 @@ public class AddAssociatedConceptsPreprocessor extends } } + private void addConceptNarrowerURIField(String conceptNarrowerURI) { + editConfiguration.addField(new FieldVTwo(). + setName(conceptNarrowerURI)); + + } + private void addConceptBroaderURIField(String conceptBroaderURI) { + editConfiguration.addField(new FieldVTwo(). + setName(conceptBroaderURI)); + + } + //original literals on form: label, uris on form: conceptNode and conceptSource //This will overwrite the original values in the edit configuration private void addLiteralsAndUrisOnForm(int numberTerms) { @@ -412,12 +561,16 @@ public class AddAssociatedConceptsPreprocessor extends String conceptSemanticTypeLabel = conceptSemanticTypeLabelBase + suffix; //String conceptSemanticTypeURI = conceptSemanticTypeURIBase + suffix; String conceptSemanticTypeURI = this.getConceptSemanticTypeURIFieldName(conceptSemanticTypeLabel, suffix); + String conceptBroaderURI = conceptBroaderURIBase + suffix; + String conceptNarrowerURI = conceptNarrowerURIBase + suffix; urisOnForm.add(conceptNode); urisOnForm.add(source); if(!conceptSemanticTypeURIs.contains(conceptSemanticTypeURI)) { conceptSemanticTypeURIs.add(conceptSemanticTypeURI); urisOnForm.add(conceptSemanticTypeURI); } + urisOnForm.add(conceptBroaderURI); + urisOnForm.add(conceptNarrowerURI); literalsOnForm.add(label); literalsOnForm.add(conceptSemanticTypeLabel); } @@ -456,10 +609,13 @@ public class AddAssociatedConceptsPreprocessor extends String labelVar = "?" + labelBase; String sourceVar = "?" + sourceBase; String conceptSemanticTypeLabelVar = "?" + conceptSemanticTypeLabelBase; + String conceptBroaderURIVar = "?" + conceptBroaderURIBase; + String conceptNarrowerURIVar = "?" + conceptNarrowerURIBase; String prefixStr = "@prefix core: ."; // First one already included so add new ones here //We already have a label var to uri var setup for (index = 1; index <= numberConcepts; index++) { + //Set up the variables based on which concept node int suffix = index; String node = nodeBase + suffix; String label = labelVar + suffix; @@ -467,7 +623,9 @@ public class AddAssociatedConceptsPreprocessor extends String conceptSemanticTypeLabel = conceptSemanticTypeLabelVar + suffix; //get the URI appropriate for the concept semantic type label var String conceptSemanticTypeURI = getConceptSemanticTypeURIVar(conceptSemanticTypeLabelBase + suffix, suffix); - //onceptSemanticTypeURIVar + suffix; + String conceptBroaderURI = conceptBroaderURIVar + suffix; + String conceptNarrowerURI = conceptNarrowerURIVar + suffix; + //Set up the n3 strings String n3String = prefixStr; n3String += node + " <" + RDFS.label.getURI() + "> " + label + " .\n" + node + " <" + RDFS.isDefinedBy.getURI() + "> " + source + " ."; @@ -475,10 +633,17 @@ public class AddAssociatedConceptsPreprocessor extends n3ConceptTypeString += node + " <" + RDF.type.getURI() + "> " + conceptSemanticTypeURI + " ." + conceptSemanticTypeURI + " <" + RDFS.label.getURI() + "> " + conceptSemanticTypeLabel + " .\n" + conceptSemanticTypeURI + " <" + RDFS.subClassOf.getURI() + "> .\n" ; + //String representing the broader and narrower uri(s) for each of the concepts - these may or may not exist + String n3ConceptBroaderURI = prefixStr + node + " <" + this.SKOSNarrowerURI + "> " + conceptNarrowerURI + " ." + + conceptNarrowerURI + " <" + this.SKOSBroaderURI + "> " + node + " ."; + String n3ConceptNarrowerURI = prefixStr + node + " <" + this.SKOSBroaderURI + "> " + conceptBroaderURI + " ." + + conceptBroaderURI + " <" + this.SKOSNarrowerURI + "> " + node + " ."; n3Optional.add(n3String); //adding separately so their resolution does not depend on each other n3Optional.add(n3ConceptTypeString); + n3Optional.add(n3ConceptBroaderURI); + n3Optional.add(n3ConceptNarrowerURI); } //Already have n3 required so need to add to that @@ -536,86 +701,93 @@ public class AddAssociatedConceptsPreprocessor extends private String getConceptSemanticTypeLabelValues() { Map> literalsFromForm = submission.getLiteralsFromForm(); Map> transformed = EditConfigurationUtils.transformLiteralMap(literalsFromForm); - return (String) getFirstElement(transformed.get("conceptSemanticTypeLabel")); + String label = (String) getFirstElement(transformed.get("conceptSemanticTypeLabel")); + if(label == null) { + label = ""; + } + + return label; } //This will either generate or retrieve URIs for the concept semantic type labels if they exist //We will then update the submission to include this private String getConceptSemanticTypeURIValues() { - String[] conceptSemanticTypeLabels = convertDelimitedStringToArray(conceptSemanticTypeLabelValues); - //keep track of what label values already exist and to which label variables they map - HashMap> labelValueToVarSuffix = new HashMap>(); - int numberLabels = conceptSemanticTypeLabels.length; String pseudoInputString = ""; - - //The rest of this code is really only relevant for multiple values, so we could break out the old code above - //as we don't need to set up hashes etc. if there is only one concept node being added - if(numberLabels == 1) { - String label = conceptSemanticTypeLabels[0]; - String uri = getURIForSemanticTypeLabel(label); - if(uri != "") { - String[] urisToAdd = new String[1]; - urisToAdd[0] = uri; - pseudoInputString = uri; - log.debug("uris to add" + uri); - submission.addUriToForm(this.editConfiguration, "conceptSemanticTypeURI", urisToAdd); - } + if(conceptSemanticTypeLabelValues != null && !conceptSemanticTypeLabelValues.isEmpty()) { + String[] conceptSemanticTypeLabels = convertDelimitedStringToArray(conceptSemanticTypeLabelValues); + //keep track of what label values already exist and to which label variables they map + HashMap> labelValueToVarSuffix = new HashMap>(); + int numberLabels = conceptSemanticTypeLabels.length; - } - //if there is more than one concept node, we may have duplicate semantic types - //which will need to be referred to by the same semantic type uri - else if (numberLabels > 1){ - - for(int i = 0; i < numberLabels; i++) { - int suffix = i + 1; - String label = conceptSemanticTypeLabels[i]; - String labelVar = this.conceptSemanticTypeLabelBase + suffix; - //if label has not already been encountered, create entry for label value - //and list with the label variables that would refer to it - //for unique values, the uri variable will be the same as label - Integer thisSuffix = new Integer(suffix); - if(!labelValueToVarSuffix.containsKey(label)) { - labelValueToVarSuffix.put(label, new ArrayList()); - //Add suffix to list if not already there - labelValueToVarSuffix.get(label).add(thisSuffix); - } else { - //in this case, the label already exists, get the very first element in the list - //and use that as the uri variable - List suffixList = labelValueToVarSuffix.get(label); - if(suffixList != null && suffixList.size() > 0) { - thisSuffix = suffixList.get(0); - } - - } - - //Now add the uri var to the hash mapping label variable to uri variable - String uriVar = this.conceptSemanticTypeURIBase + thisSuffix.intValue(); - this.labelVarToUriVarHash.put(labelVar, uriVar); - - - //Make or retrieve URI for this label - //TODO: Do we create this string with empty inputs ? + //The rest of this code is really only relevant for multiple values, so we could break out the old code above + //as we don't need to set up hashes etc. if there is only one concept node being added + if(numberLabels == 1) { + String label = conceptSemanticTypeLabels[0]; String uri = getURIForSemanticTypeLabel(label); if(uri != "") { - //uri var shouldn't be repeated? - if(!this.conceptSemanticTypeURIVarToValueMap.containsKey(uriVar)) { - this.conceptSemanticTypeURIVarToValueMap.put(uriVar, new ArrayList()); - this.conceptSemanticTypeURIVarToValueMap.get(uriVar).add(uri); - } + String[] urisToAdd = new String[1]; + urisToAdd[0] = uri; + pseudoInputString = uri; + log.debug("uris to add" + uri); + submission.addUriToForm(this.editConfiguration, "conceptSemanticTypeURI", urisToAdd); } - if(i != 0) { - pseudoInputString += ","; - } - pseudoInputString += uri; - + } + //if there is more than one concept node, we may have duplicate semantic types + //which will need to be referred to by the same semantic type uri + else if (numberLabels > 1){ - //Add this string to the uris for the form - String[] urisToAdd = new String[1]; - urisToAdd[0] = pseudoInputString; - log.debug("uris to add" + pseudoInputString); - submission.addUriToForm(this.editConfiguration, "conceptSemanticTypeURI", urisToAdd); - + for(int i = 0; i < numberLabels; i++) { + int suffix = i + 1; + String label = conceptSemanticTypeLabels[i]; + String labelVar = this.conceptSemanticTypeLabelBase + suffix; + //if label has not already been encountered, create entry for label value + //and list with the label variables that would refer to it + //for unique values, the uri variable will be the same as label + Integer thisSuffix = new Integer(suffix); + if(!labelValueToVarSuffix.containsKey(label)) { + labelValueToVarSuffix.put(label, new ArrayList()); + //Add suffix to list if not already there + labelValueToVarSuffix.get(label).add(thisSuffix); + } else { + //in this case, the label already exists, get the very first element in the list + //and use that as the uri variable + List suffixList = labelValueToVarSuffix.get(label); + if(suffixList != null && suffixList.size() > 0) { + thisSuffix = suffixList.get(0); + } + + } + + //Now add the uri var to the hash mapping label variable to uri variable + String uriVar = this.conceptSemanticTypeURIBase + thisSuffix.intValue(); + this.labelVarToUriVarHash.put(labelVar, uriVar); + + + //Make or retrieve URI for this label + //TODO: Do we create this string with empty inputs ? + String uri = getURIForSemanticTypeLabel(label); + if(uri != "") { + //uri var shouldn't be repeated? + if(!this.conceptSemanticTypeURIVarToValueMap.containsKey(uriVar)) { + this.conceptSemanticTypeURIVarToValueMap.put(uriVar, new ArrayList()); + this.conceptSemanticTypeURIVarToValueMap.get(uriVar).add(uri); + } + } + if(i != 0) { + pseudoInputString += ","; + } + pseudoInputString += uri; + + } + + //Add this string to the uris for the form + String[] urisToAdd = new String[1]; + urisToAdd[0] = pseudoInputString; + log.debug("uris to add" + pseudoInputString); + submission.addUriToForm(this.editConfiguration, "conceptSemanticTypeURI", urisToAdd); + + } } return pseudoInputString; } diff --git a/src/edu/cornell/mannlib/vitro/webapp/utils/ConceptSearchService/ConceptSearchServiceUtils.java b/src/edu/cornell/mannlib/vitro/webapp/utils/ConceptSearchService/ConceptSearchServiceUtils.java index d232e875..68705bd3 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/utils/ConceptSearchService/ConceptSearchServiceUtils.java +++ b/src/edu/cornell/mannlib/vitro/webapp/utils/ConceptSearchService/ConceptSearchServiceUtils.java @@ -23,6 +23,7 @@ public class ConceptSearchServiceUtils { private static final String UMLSVocabSource = "http://link.informatics.stonybrook.edu/umls"; private static final String AgrovocVocabSource = "http://aims.fao.org/aos/agrovoc/agrovocScheme"; private static final String GemetVocabSource = "http://www.eionet.europa.eu/gemet/gemetThesaurus"; + private static final String LCSHVocabSource = "http://id.loc.gov/authorities/subjects"; //Get the class that corresponds to the appropriate search public static String getConceptSearchServiceClassName(String searchServiceName) { @@ -41,6 +42,8 @@ public class ConceptSearchServiceUtils { //Commenting out agrovoc for now until implementation is updated map.put(AgrovocVocabSource, new VocabSourceDescription("AGROVOC", AgrovocVocabSource, "http://www.fao.org/agrovoc/", "Agricultural Vocabulary")); map.put(GemetVocabSource, new VocabSourceDescription("GEMET", GemetVocabSource, "http://www.eionet.europa.eu/gemet", "GEneral Multilingual Environmental Thesaurus")); + map.put(LCSHVocabSource, new VocabSourceDescription("LCSH", LCSHVocabSource, "http://id.loc.gov/authorities/subjects/", "Library of Congress Subject Headings")); + return map; } @@ -53,6 +56,8 @@ public class ConceptSearchServiceUtils { map.put(UMLSVocabSource, "edu.cornell.mannlib.semservices.service.impl.UMLSService"); map.put(AgrovocVocabSource, "edu.cornell.mannlib.semservices.service.impl.AgrovocService"); map.put(GemetVocabSource, "edu.cornell.mannlib.semservices.service.impl.GemetService"); + map.put(LCSHVocabSource, "edu.cornell.mannlib.semservices.service.impl.LCSHService"); + return map; } diff --git a/themes/wilma/i18n/all.properties b/themes/wilma/i18n/all.properties index a0f2585f..37d9ac61 100644 --- a/themes/wilma/i18n/all.properties +++ b/themes/wilma/i18n/all.properties @@ -692,6 +692,7 @@ or_add_new_one = or add a new one. vocabulary_service_unavailable = The vocabulary service is unavailable. Please try again later. no_serch_results_found = No search results were found. label_type = Label (Type) +label_altLabels = Label (Alternate Labels) definition_capitalized = Definition best_match = Best Match select_term_from_results = Please select at least one term from the search search results. From c5d0bc21e897c6d8640ca83bc1d13d26139a7d16 Mon Sep 17 00:00:00 2001 From: tworrall Date: Wed, 18 Sep 2013 11:33:31 -0400 Subject: [PATCH 55/66] VIVO-112: ISF changes relating to vcard classes --- .../themes/wilma/i18n/all_es.properties | 29 +- .../config/listViewConfig-additionalEmail.xml | 42 ++ .../config/listViewConfig-fullName.xml | 46 +++ .../config/listViewConfig-mailingAddress.xml | 122 +++--- .../config/listViewConfig-primaryEmail.xml | 46 +++ .../config/listViewConfig-telephoneNumber.xml | 42 ++ productMods/config/listViewConfig-webpage.xml | 42 +- .../individual-contactInfo-2column.ftl | 14 +- .../individual/individual-contactInfo.ftl | 20 +- .../individual/individual-webpage.ftl | 10 +- .../individual/propStatement-emailAddress.ftl | 17 + .../individual/propStatement-fullName.ftl | 17 + .../propStatement-mailingAddress.ftl | 91 ++--- .../propStatement-telephoneNumber.ftl | 17 + .../propStatement-webpage-quickview.ftl | 2 +- .../individual/propStatement-webpage.ftl | 2 +- .../edit/forms/addEditWebpageForm.ftl | 6 +- .../edit/forms/addFullNameToPerson.ftl | 102 +++++ .../edit/forms/js/mailingAddressUtils.js | 147 ------- .../edit/forms/js/newIndividualFormUtils.js | 37 ++ .../forms/manageWebpagesForIndividual.ftl | 6 +- .../edit/forms/newIndividualForm.ftl | 3 + .../edit/forms/personHasEmailAddress.ftl | 86 +++++ .../edit/forms/personHasMailingAddress.ftl | 174 ++------- .../edit/forms/personHasTelephoneNumber.ftl | 86 +++++ rdf/display/everytime/PropertyConfig.n3 | 79 +++- ...AuthorsToInformationResourceGenerator.java | 93 ++++- .../AddEditWebpageFormGenerator.java | 70 ++-- .../AddFullNameToPersonGenerator.java | 130 +++++++ .../AddPublicationToPersonGenerator.java | 20 +- .../ManageWebpagesForIndividualGenerator.java | 14 +- .../NewIndividualFormGenerator.java | 365 +++++++++--------- ...ersonHasAdvisingRelationshipGenerator.java | 20 +- .../generators/PersonHasEmailGenerator.java | 125 ++++++ .../PersonHasMailingAddressGenerator.java | 179 ++++----- .../PersonHasPositionHistoryGenerator.java | 4 +- .../PersonHasTelephoneNumberGenerator.java | 105 +++++ themes/wilma/css/wilma.css | 3 + themes/wilma/i18n/all.properties | 29 +- 39 files changed, 1611 insertions(+), 831 deletions(-) create mode 100644 productMods/config/listViewConfig-additionalEmail.xml create mode 100644 productMods/config/listViewConfig-fullName.xml create mode 100644 productMods/config/listViewConfig-primaryEmail.xml create mode 100644 productMods/config/listViewConfig-telephoneNumber.xml create mode 100644 productMods/templates/freemarker/body/partials/individual/propStatement-emailAddress.ftl create mode 100644 productMods/templates/freemarker/body/partials/individual/propStatement-fullName.ftl create mode 100644 productMods/templates/freemarker/body/partials/individual/propStatement-telephoneNumber.ftl create mode 100644 productMods/templates/freemarker/edit/forms/addFullNameToPerson.ftl delete mode 100644 productMods/templates/freemarker/edit/forms/js/mailingAddressUtils.js create mode 100644 productMods/templates/freemarker/edit/forms/js/newIndividualFormUtils.js create mode 100644 productMods/templates/freemarker/edit/forms/personHasEmailAddress.ftl create mode 100644 productMods/templates/freemarker/edit/forms/personHasTelephoneNumber.ftl create mode 100644 src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddFullNameToPersonGenerator.java create mode 100644 src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEmailGenerator.java create mode 100644 src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasTelephoneNumberGenerator.java diff --git a/languages/example/themes/wilma/i18n/all_es.properties b/languages/example/themes/wilma/i18n/all_es.properties index e4bffa47..24ae36e4 100644 --- a/languages/example/themes/wilma/i18n/all_es.properties +++ b/languages/example/themes/wilma/i18n/all_es.properties @@ -486,16 +486,14 @@ academic_studies_or_other = Otros estudios académicos o de formación edit_mailing_address = Editar Dirección postal create_mailing_address = Cree Dirección postal mailing_address_for = dirección postal -select_a_country = Por favor, seleccione un país. -enter_address1_value = Por favor, introduzca un valor en el campo Dirección Línea 1. -enter_a_city = Por favor, introduzca un valor en el campo Ciudad. +enter_a_country = Por favor, introduzca un valor en el campo País. +enter_street_address = Por favor, introduzca un valor en el campo Dirección. +enter_a_locality = Por favor, introduzca un valor en el campo Ciudad/Localidad. enter_postal_code = Por favor, introduzca un valor en el campo Código Postal. country = País -street_Address1 = Dirección 1 -street_Address2 = Dirección 2 -street_Address3 = Dirección 3 -city = Ciudad -state = Estado +street_address = Dirección +city_locality = Ciudad/Localidad +region = Estado/Provincia/Región postal_code = Código Postal posn_entry_for = entrada de la posición de @@ -815,4 +813,17 @@ local_research = Investigación Local selected_presentation = Presentación Seleccionado event_capitalized = Evento collection_capitalized = Colección -item_capitalized = Artículo \ No newline at end of file +item_capitalized = Artículo +telephone_number_for = número de teléfono para +telephone_number = Número de Teléfono +enter_telephone_number = Por favor, introduzca un valor en el campo Número de teléfono. +email_address = Dirección de Correo Electrónico +email_address_for = dirección de correo electrónico para +enter_email_address = Por favor, introduzca un valor en el campo Dirección de Correo Electrónico. +full_name = Full Name +full_name_for = full name for +enter_first_name = Por favor, introduzca un valor en el campo Primer Nombre. +enter_last_name = Por favor, introduzca un valor en el campo Apellido. +first_name = Primer Nombre +middle_name = Segundo Nombre +last_name = Apellido \ No newline at end of file diff --git a/productMods/config/listViewConfig-additionalEmail.xml b/productMods/config/listViewConfig-additionalEmail.xml new file mode 100644 index 00000000..50dc4188 --- /dev/null +++ b/productMods/config/listViewConfig-additionalEmail.xml @@ -0,0 +1,42 @@ + + + + + + + + PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> + + SELECT DISTINCT ?vcard ?email + ?emailAddress + WHERE { + ?subject ?property ?vcard . + ?vcard vcard:hasEmail ?email + OPTIONAL { ?email vcard:email ?emailAddress } + MINUS {?email a vcard:Work} + } + + + + PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> + CONSTRUCT { + ?subject ?property ?vcard . + ?vcard vcard:hasEmail ?email . + ?email ?emailProperty ?emailValue + } WHERE { + { + ?subject ?property ?vcard + } UNION { + ?subject ?property ?vcard . + ?vcard vcard:hasEmail ?email + } UNION { + ?subject ?property ?vcard . + ?vcard vcard:hasEmail ?email . + ?email ?emailProperty ?emailValue + } + } + + + + edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor + diff --git a/productMods/config/listViewConfig-fullName.xml b/productMods/config/listViewConfig-fullName.xml new file mode 100644 index 00000000..c986c87c --- /dev/null +++ b/productMods/config/listViewConfig-fullName.xml @@ -0,0 +1,46 @@ + + + + + + + + PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> + + SELECT DISTINCT ?vcard ?fullName + ?firstName + ?middleName + ?lastName + WHERE { + ?subject ?property ?vcard . + ?vcard vcard:hasName ?fullName + OPTIONAL { ?fullName vcard:givenName ?firstName } + OPTIONAL { ?fullName vcard:middleName ?middleName } + OPTIONAL { ?fullName vcard:familyName ?lastName } + + } + + + + PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> + CONSTRUCT { + ?subject ?property ?vcard . + ?vcard vcard:hasName ?fullName . + ?fullName ?fullNameProperty ?fullNameValue + } WHERE { + { + ?subject ?property ?vcard + } UNION { + ?subject ?property ?vcard . + ?vcard vcard:hasName ?fullName + } UNION { + ?subject ?property ?vcard . + ?vcard vcard:hasName ?fullName . + ?fullName ?fullNameProperty ?fullNameValue + } + } + + + + edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor + diff --git a/productMods/config/listViewConfig-mailingAddress.xml b/productMods/config/listViewConfig-mailingAddress.xml index 75049f33..a16c9a6b 100644 --- a/productMods/config/listViewConfig-mailingAddress.xml +++ b/productMods/config/listViewConfig-mailingAddress.xml @@ -1,71 +1,51 @@ - - - - - - - - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> - PREFIX vivo: <http://vivoweb.org/ontology/core#> - - SELECT DISTINCT ?subclass - ?address - ?localName - ?label - ?street1 - ?street2 - ?street3 - ?city - ?state - ?postalCode - ?country - - WHERE { - ?subject ?property ?address - LET ( ?localName := afn:localname(?address) ) - OPTIONAL { ?address rdfs:label ?label } - OPTIONAL { ?address vivo:address1 ?street1 } - OPTIONAL { ?address vivo:address2 ?street2 } - OPTIONAL { ?address vivo:address3 ?street3 } - OPTIONAL { ?address vivo:addressCity ?city } - OPTIONAL { ?address vivo:addressState ?state } - OPTIONAL { ?address vivo:addressPostalCode ?postalCode } - OPTIONAL { ?address vivo:addressCountry ?country } - - OPTIONAL { ?address vitro:mostSpecificType ?subclass . - ?subclass rdfs:subClassOf vivo:Address - } - - } ORDER BY ?country ?label - - - - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vivo: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subclass rdfs:subClassOf vivo:Address - } WHERE { - ?subclass rdfs:subClassOf vivo:Address - } - - - - PREFIX vivo: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - CONSTRUCT { - ?subject ?property ?address . - ?address ?addressProperty ?addressValue - } WHERE { - { - ?subject ?property ?address - } UNION { - ?subject ?property ?address . - ?address ?addressProperty ?addressValue - } - } - - - - + + + + + + + + PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> + + SELECT DISTINCT ?vcard ?address + ?street + ?locality + ?region + ?postalCode + ?country + + WHERE { + ?subject ?property ?vcard . + ?vcard vcard:hasAddress ?address + OPTIONAL { ?address vcard:streetAddress ?street } + OPTIONAL { ?address vcard:locality ?locality } + OPTIONAL { ?address vcard:region ?region } + OPTIONAL { ?address vcard:postalCode ?postalCode } + OPTIONAL { ?address vcard:country ?country } + + } ORDER BY ?country ?region ?street + + + + PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> + CONSTRUCT { + ?subject ?property ?vcard . + ?vcard vcard:hasAddress ?address . + ?address ?addressProperty ?addressValue + } WHERE { + { + ?subject ?property ?vcard + } UNION { + ?subject ?property ?vcard . + ?vcard vcard:hasAddress ?address + } UNION { + ?subject ?property ?vcard . + ?vcard vcard:hasAddress ?address . + ?address ?addressProperty ?addressValue + } + } + + + + edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor + diff --git a/productMods/config/listViewConfig-primaryEmail.xml b/productMods/config/listViewConfig-primaryEmail.xml new file mode 100644 index 00000000..7f749dd4 --- /dev/null +++ b/productMods/config/listViewConfig-primaryEmail.xml @@ -0,0 +1,46 @@ + + + + + + + + PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> + + SELECT DISTINCT ?vcard ?email + ?emailAddress + WHERE { + ?subject ?property ?vcard . + ?vcard vcard:hasEmail ?email . + ?email a vcard:Work + OPTIONAL { ?email vcard:email ?emailAddress } + + } + + + + PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> + CONSTRUCT { + ?subject ?property ?vcard . + ?vcard vcard:hasEmail ?email . + ?email a vcard:Work . + ?email ?emailProperty ?emailValue + } WHERE { + { + ?subject ?property ?vcard + } UNION { + ?subject ?property ?vcard . + ?vcard vcard:hasEmail ?email . + ?email a vcard:Work + } UNION { + ?subject ?property ?vcard . + ?vcard vcard:hasEmail ?email . + ?email a vcard:Work . + ?email ?emailProperty ?emailValue + } + } + + + + edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor + diff --git a/productMods/config/listViewConfig-telephoneNumber.xml b/productMods/config/listViewConfig-telephoneNumber.xml new file mode 100644 index 00000000..6ab383cb --- /dev/null +++ b/productMods/config/listViewConfig-telephoneNumber.xml @@ -0,0 +1,42 @@ + + + + + + + + PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> + + SELECT DISTINCT ?vcard ?phone + ?number + WHERE { + ?subject ?property ?vcard . + ?vcard vcard:hasTelephone ?phone + OPTIONAL { ?phone vcard:telephone ?number } + + } + + + + PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> + CONSTRUCT { + ?subject ?property ?vcard . + ?vcard vcard:hasTelephone ?phone . + ?phone ?phoneProperty ?phoneValue + } WHERE { + { + ?subject ?property ?vcard + } UNION { + ?subject ?property ?vcard . + ?vcard vcard:hasTelephone ?phone + } UNION { + ?subject ?property ?vcard . + ?vcard vcard:hasTelephone ?phone . + ?phone ?phoneProperty ?phoneValue + } + } + + + + edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor + diff --git a/productMods/config/listViewConfig-webpage.xml b/productMods/config/listViewConfig-webpage.xml index e1c26599..58ddf13c 100644 --- a/productMods/config/listViewConfig-webpage.xml +++ b/productMods/config/listViewConfig-webpage.xml @@ -9,35 +9,55 @@ PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> - SELECT ?link + SELECT ?vcard ?link (afn:localname(?link) AS ?linkName) - ?anchor + ?label ?url ?rank WHERE { - ?subject ?property ?link - OPTIONAL { ?link core:linkAnchorText ?anchor } - OPTIONAL { ?link core:linkURI ?url } + ?subject ?property ?vcard . + ?vcard vcard:hasURL ?link + OPTIONAL { ?link rdfs:label ?label } + OPTIONAL { ?link vcard:url ?url } OPTIONAL { ?link core:rank ?rank } FILTER ( bound(?url) ) - } ORDER BY ?rank ?anchor + } ORDER BY ?rank ?label + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vcard: <http://www.w3.org/2006/vcard/ns#> CONSTRUCT { - ?subject ?property ?link . - ?link ?linkProp ?linkObj + ?subject ?property ?vcard . + ?vcard vcard:hasURL ?link . + ?link vcard:url ?url . + ?link core:rank ?rank . + ?link rdfs:label ?label } WHERE { { - ?subject ?property ?link + ?subject ?property ?vcard . + ?vcard vcard:hasURL ?link } UNION { - ?subject ?property ?link . - ?link ?linkProp ?linkObj + ?subject ?property ?vcard . + ?vcard vcard:hasURL ?link . + ?link vcard:url ?url + } UNION { + ?subject ?property ?vcard . + ?vcard vcard:hasURL ?link . + ?link core:rank ?rank + } UNION { + ?subject ?property ?vcard . + ?vcard vcard:hasURL ?link . + ?link rdfs:label ?label } } + edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.MaintainDuplicatesObjectPropertyDataPostProcessor diff --git a/productMods/templates/freemarker/body/partials/individual/individual-contactInfo-2column.ftl b/productMods/templates/freemarker/body/partials/individual/individual-contactInfo-2column.ftl index a221398a..5a02ac66 100644 --- a/productMods/templates/freemarker/body/partials/individual/individual-contactInfo-2column.ftl +++ b/productMods/templates/freemarker/body/partials/individual/individual-contactInfo-2column.ftl @@ -1,9 +1,9 @@ <#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> <#-- Contact info on individual profile page --> -<#assign phone = propertyGroups.pullProperty("${core}phoneNumber")!> -<#assign pEmail = propertyGroups.pullProperty("${core}primaryEmail")!> -<#assign email = propertyGroups.pullProperty("${core}email")!> +<#assign phone = propertyGroups.pullProperty("http://purl.obolibrary.org/obo/ARG_2000028","http://www.w3.org/2006/vcard/ns#Telephone")!> +<#assign pEmail = propertyGroups.pullProperty("http://purl.obolibrary.org/obo/ARG_2000028","http://www.w3.org/2006/vcard/ns#Work")!> +<#assign email = propertyGroups.pullProperty("http://purl.obolibrary.org/obo/ARG_2000028","http://www.w3.org/2006/vcard/ns#Email")!> <#if editable || ( phone?has_content || pEmail?has_content || email?has_content ) >

          ${i18n().contact_capitalized}

          @@ -39,8 +39,8 @@
            <#list phone.statements as statement>
          • style="padding-left:10px;"> - ${statement.value} - <@p.editingLinks "${phone.localName}" statement editable /> + ${statement.number!} + <@p.editingLinks "${phone.localName}" "${phone.name}" statement editable />
          @@ -65,8 +65,8 @@ <#list email.statements as statement>
        • style="padding-left:10px;"> - - <@p.editingLinks "${email.localName}" statement editable /> + + <@p.editingLinks "${email.localName}" "${email.name}" statement editable />
        diff --git a/productMods/templates/freemarker/body/partials/individual/individual-contactInfo.ftl b/productMods/templates/freemarker/body/partials/individual/individual-contactInfo.ftl index 05003ce9..065a9aa6 100644 --- a/productMods/templates/freemarker/body/partials/individual/individual-contactInfo.ftl +++ b/productMods/templates/freemarker/body/partials/individual/individual-contactInfo.ftl @@ -2,19 +2,19 @@ <#-- Contact info on individual profile page --> -<#assign phone = propertyGroups.pullProperty("${core}phoneNumber")!> -<#assign primaryEmail = propertyGroups.pullProperty("${core}primaryEmail")!> -<#assign addlEmail = propertyGroups.pullProperty("${core}email")!> +<#assign phone = propertyGroups.pullProperty("http://purl.obolibrary.org/obo/ARG_2000028","http://www.w3.org/2006/vcard/ns#Telephone")!> +<#assign primaryEmail = propertyGroups.pullProperty("http://purl.obolibrary.org/obo/ARG_2000028","http://www.w3.org/2006/vcard/ns#Work")!> +<#assign addlEmail = propertyGroups.pullProperty("http://purl.obolibrary.org/obo/ARG_2000028","http://www.w3.org/2006/vcard/ns#Email")!> <#if phone?has_content || primaryEmail?has_content || addlEmail?has_content >
        • ${i18n().contact_info}
        <#-- Primary Email --> -<@emailLinks "${core}primaryEmail" primaryEmail /> +<@emailLinks "primaryEmail" primaryEmail /> <#-- Additional Emails --> -<@emailLinks "${core}email" addlEmail /> +<@emailLinks "email" addlEmail /> <#-- Phone --> @@ -24,8 +24,8 @@
          style="list-style:none;margin-left:0;"> <#list phone.statements as statement>
        • - ${statement.value} - <@p.editingLinks "${phone.localName}" statement editable /> + ${statement.number!} + <@p.editingLinks "${phone.localName}" "${phone.name}" statement editable />
        @@ -33,7 +33,7 @@ <#macro emailLinks property email> - <#if property == "${core}primaryEmail"> + <#if property == "primaryEmail"> <#local listId = "primary-email"> <#local label = "${i18n().primary_email_capitalized}"> <#else> @@ -46,8 +46,8 @@
          style="list-style:none;margin-left:0;"> <#list email.statements as statement>
        • - - <@p.editingLinks "${email.localName}" statement editable /> + + <@p.editingLinks "${email.localName}" "${email.name}" statement editable />
        diff --git a/productMods/templates/freemarker/body/partials/individual/individual-webpage.ftl b/productMods/templates/freemarker/body/partials/individual/individual-webpage.ftl index d0a0b826..e6bbac81 100644 --- a/productMods/templates/freemarker/body/partials/individual/individual-webpage.ftl +++ b/productMods/templates/freemarker/body/partials/individual/individual-webpage.ftl @@ -1,14 +1,7 @@ <#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> -<#-- This snippet will be included in lib-vivo-properties.ftl, so users will be able to have a - different view when extending wilma theme - <#assign webpage = propertyGroups.pullProperty("${core}webpage")!> - <@p.objectPropertyListing webpage editable /> - - ---> - <#assign webpage = propertyGroups.pullProperty("${core}webpage")!> +<#assign webpage = propertyGroups.pullProperty("http://purl.obolibrary.org/obo/ARG_2000028","http://www.w3.org/2006/vcard/ns#URL")!> <#if webpage?has_content> <#-- true when the property is in the list, even if not populated (when editing) --> <#if !editable && individual.person() >
        • ${i18n().websites}
        @@ -19,4 +12,3 @@ <@p.objectProperty webpage editable />
      - diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-emailAddress.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-emailAddress.ftl new file mode 100644 index 00000000..05799c7e --- /dev/null +++ b/productMods/templates/freemarker/body/partials/individual/propStatement-emailAddress.ftl @@ -0,0 +1,17 @@ +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> + +<#-- + This template must be self-contained and not rely on other variables set for the individual page, because it + is also used to generate the property statement during a deletion. + --> +<@showAdditionalEmail statement /> + +<#-- Use a macro to keep variable assignments local; otherwise the values carry over to the + next statement --> +<#macro showAdditionalEmail statement> + + <#if statement.emailAddress?has_content> + ${statement.emailAddress} + + + \ No newline at end of file diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-fullName.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-fullName.ftl new file mode 100644 index 00000000..8352bf1a --- /dev/null +++ b/productMods/templates/freemarker/body/partials/individual/propStatement-fullName.ftl @@ -0,0 +1,17 @@ +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> + +<#-- + This template must be self-contained and not rely on other variables set for the individual page, because it + is also used to generate the property statement during a deletion. + --> +<@showFullName statement /> + +<#-- Use a macro to keep variable assignments local; otherwise the values carry over to the + next statement --> +<#macro showFullName statement> + + <#if statement.fullName?has_content> + ${statement.firstName!} ${statement.middleName!} ${statement.lastName!} + + + \ No newline at end of file diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-mailingAddress.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-mailingAddress.ftl index cb001c38..f5a45eec 100644 --- a/productMods/templates/freemarker/body/partials/individual/propStatement-mailingAddress.ftl +++ b/productMods/templates/freemarker/body/partials/individual/propStatement-mailingAddress.ftl @@ -12,61 +12,40 @@ next statement --> <#macro showAddress statement> - <#if ( statement.street1?has_content || statement.street2?has_content || statement.street3?has_content || statement.city?has_content || - statement.state?has_content ||statement.postalCode?has_content || statement.country?has_content )> - <#-- until the custom form is ready, provide a link to the address profile for editing --> -
      - <#if statement.street1?has_content> - - - - <#if statement.street2?has_content> - <#if !statement.street1?has_content> - - <#else> -
      ${statement.street2}
      - - - - <#if statement.street3?has_content> - <#if !statement.street1?has_content && !statement.street2?has_content> - - <#else> -
      ${statement.street3}
      - - + <#if statement.street?has_content> +

      + ${statement.street} +

      + - <#-- If the subclass is vivo:US Postal Address, or if the country is - the US, display the city, state, and postal code on a single line. --> - <#if ( statement.subclass?? && statement.subclass?contains("USPostalAddress") ) || - ( statement.country?? && ( statement.country?contains("United States") || - statement.country == "US" || - statement.country == "USA" ) )> - <#local cityState><@s.join [statement.city!, statement.state!], ", " /> - <#local cityStateZip><@s.join [ cityState!, statement.postalCode!], " " /> - <#if cityStateZip?has_content> -
      ${cityStateZip}
      - - <#else> - <#if statement.city?has_content>
      ${statement.city!}
      - <#if statement.state?has_content>
      ${statement.state}
      - <#if statement.postalCode?has_content>
      ${statement.postalCode}
      - - - <#if statement.country?has_content> -
      ${statement.country}
      - -
      - - <#-- Pre-1.4 addresses may only have an rdfs:label, since users using the default - object property form sometimes entered the entire address as the label. Display that when - there's no address data. --> - <#elseif statement.editable> - <#-- This can be removed when the custom form is available. Until then, provide a link to the - address profile so the data can be edited. --> - ${statement.label!statement.localName} - <#else> - ${statement.label!} + <#if ( statement.country?has_content && (statement.country == "US" || statement.country?contains("United States") || statement.country?contains("U.S.") || statement.country?contains("U.S.A.") || statement.country?contains("USA")))> + <#local cityState><@s.join [statement.locality!, statement.region!], ", " /> + <#local cityStateZip><@s.join [ cityState!, statement.postalCode!], " " /> + <#if cityStateZip?has_content> +

      ${cityStateZip}

      +

      ${statement.country!}

      + + <#else> + <#if statement.locality?has_content> +

      + ${statement.locality} +

      + + <#if statement.region?has_content> +

      + ${statement.region} +

      + + <#if statement.postalCode?has_content> +

      + ${statement.postalCode} +

      + + <#if statement.country?has_content> +

      + ${statement.country} +

      + - - \ No newline at end of file + + \ No newline at end of file diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-telephoneNumber.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-telephoneNumber.ftl new file mode 100644 index 00000000..2e97990b --- /dev/null +++ b/productMods/templates/freemarker/body/partials/individual/propStatement-telephoneNumber.ftl @@ -0,0 +1,17 @@ +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> + +<#-- + This template must be self-contained and not rely on other variables set for the individual page, because it + is also used to generate the property statement during a deletion. + --> +<@showTelephone statement /> + +<#-- Use a macro to keep variable assignments local; otherwise the values carry over to the + next statement --> +<#macro showTelephone statement> + + <#if statement.number?has_content> + ${statement.number} + + + \ No newline at end of file diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-webpage-quickview.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-webpage-quickview.ftl index 725603c6..0fc71494 100644 --- a/productMods/templates/freemarker/body/partials/individual/propStatement-webpage-quickview.ftl +++ b/productMods/templates/freemarker/body/partials/individual/propStatement-webpage-quickview.ftl @@ -26,7 +26,7 @@ <#macro showWebpage statement count identifier> <#local linkText> - <#if statement.anchor?has_content>${statement.anchor}<#t> + <#if statement.label?has_content>${statement.label}<#t> <#elseif statement.url?has_content>${statement.url}<#t> diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-webpage.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-webpage.ftl index 55084052..2c2fde31 100644 --- a/productMods/templates/freemarker/body/partials/individual/propStatement-webpage.ftl +++ b/productMods/templates/freemarker/body/partials/individual/propStatement-webpage.ftl @@ -7,7 +7,7 @@ --> <#assign linkText> - <#if statement.anchor?has_content>${statement.anchor}<#t> + <#if statement.label?has_content>${statement.label}<#t> <#elseif statement.url?has_content>${statement.url}<#t> diff --git a/productMods/templates/freemarker/edit/forms/addEditWebpageForm.ftl b/productMods/templates/freemarker/edit/forms/addEditWebpageForm.ftl index a19b9e21..bf818392 100644 --- a/productMods/templates/freemarker/edit/forms/addEditWebpageForm.ftl +++ b/productMods/templates/freemarker/edit/forms/addEditWebpageForm.ftl @@ -13,7 +13,7 @@ <#--Retrieve variables needed--> <#assign url = lvf.getFormFieldValue(editSubmission, editConfiguration, "url")/> <#assign urlTypeValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "urlType")/> -<#assign anchor = lvf.getFormFieldValue(editSubmission, editConfiguration, "anchor") /> +<#assign label = lvf.getFormFieldValue(editSubmission, editConfiguration, "label") /> <#assign newRank = editConfiguration.pageData.newRank!"" /> <#if url?has_content> @@ -66,8 +66,8 @@ - - + + <#if editMode="add"> diff --git a/productMods/templates/freemarker/edit/forms/addFullNameToPerson.ftl b/productMods/templates/freemarker/edit/forms/addFullNameToPerson.ftl new file mode 100644 index 00000000..5f448533 --- /dev/null +++ b/productMods/templates/freemarker/edit/forms/addFullNameToPerson.ftl @@ -0,0 +1,102 @@ +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> + +<#-- this is in request.subject.name --> + +<#-- leaving this edit/add mode code in for reference in case we decide we need it --> + +<#import "lib-vivo-form.ftl" as lvf> + +<#--Retrieve certain edit configuration information--> +<#if editConfiguration.objectUri?has_content> + <#assign editMode = "edit"> +<#else> + <#assign editMode = "add"> + + +<#assign htmlForElements = editConfiguration.pageData.htmlForElements /> + +<#--Retrieve variables needed--> +<#assign firstNameValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "firstName") /> +<#assign middleNameValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "middleName") /> +<#assign lastNameValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "lastName") /> + + +<#--If edit submission exists, then retrieve validation errors if they exist--> +<#if editSubmission?has_content && editSubmission.submissionExists = true && editSubmission.validationErrors?has_content> + <#assign submissionErrors = editSubmission.validationErrors/> + + +<#if editMode == "edit"> + <#assign titleVerb="${i18n().edit_capitalized}"> + <#assign submitButtonText="${titleVerb}" + " ${i18n().full_name}"> + <#assign disabledVal="disabled"> +<#else> + <#assign titleVerb="${i18n().create_capitalized}"> + <#assign submitButtonText="${titleVerb}" + " ${i18n().full_name}"> + <#assign disabledVal=""/> + + +<#assign requiredHint = " *" /> + +

      ${titleVerb} ${i18n().full_name_for} ${editConfiguration.subjectName}

      + +<#--Display error messages if any--> +<#if submissionErrors?has_content> + + + +<@lvf.unsupportedBrowser urls.base /> + +
      + +
      + +

      + + +

      + +

      + + +

      + +

      + + +

      + + + +

      + ${i18n().or} + ${i18n().cancel_link} +

      + +

      * ${i18n().required_fields}

      + +
      + +
      + +${stylesheets.add('')} +${stylesheets.add('')} +${stylesheets.add('')} + +${scripts.add('', + '', + '', + '')} + + diff --git a/productMods/templates/freemarker/edit/forms/js/mailingAddressUtils.js b/productMods/templates/freemarker/edit/forms/js/mailingAddressUtils.js deleted file mode 100644 index 037ab0f9..00000000 --- a/productMods/templates/freemarker/edit/forms/js/mailingAddressUtils.js +++ /dev/null @@ -1,147 +0,0 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -var mailingAddressUtils = { - - onLoad: function(mode,country) { - this.initObjectReferences(); - this.bindEventListeners(); - this.sortCountrySelector(mode,country); - $.extend(this, i18nStrings); - - if ( mode == "add" && !this.errorSection.attr('id') ) { - this.containerDiv.hide(); - this.submitButton.hide(); - } - else { - this.processCountryRelatedFields(); - } - }, - - initObjectReferences: function() { - this.form = $('#personHasMailingAddress'); - - // The external auth ID field and messages - this.countrySelector = $('#country'); - this.countrySelectorOptions = $('#country option'); - this.address1Field = $('#addrLineOne'); - this.cityField = $('#city'); - this.stateField = $('#state'); - this.stateSelector= $('#stateSelect'); - this.stateLabel = $('#stateLabel'); - this.postalCodeField = $('#postalCode'); - this.postalCodeLabel = $('#postalCodeLabel'); - this.subjectField = $('#subjectName'); - this.rdfsLabel = $('#addrLabel'); - this.addrTypeField = $('#addressType'); - this.submitButton = $('#submit'); - this.containerDiv = $('#addressDetails'); - this.orSpan = $('span.or'); - this.errorSection = $('section#error-alert'); - }, - - bindEventListeners: function() { - this.idCache = {}; - - this.countrySelector.change(function() { - mailingAddressUtils.processCountryRelatedFields(); - mailingAddressUtils.showHiddenElements(); - }); - - this.form.submit(function() { - mailingAddressUtils.buildAddressLabel(); - }); - - this.stateSelector.change(function() { - mailingAddressUtils.setStateValue(); - }); - }, - - addressClassIsNonUS: function() { - var country = this.countrySelector.val(); - if ( country.search( 'United States' ) == -1 ) { - return true; - } - else { - return false; - } - }, - - buildAddressLabel: function() { - if ( mailingAddressUtils.addressClassIsNonUS() ) { - this.rdfsLabel.val(this.address1Field.val() + " " + this.cityField.val() + " " + this.countrySelector.val()); - } - else { - this.rdfsLabel.val(this.address1Field.val() + " " + this.cityField.val() + " " + this.stateField.val()); - } - }, - - processCountryRelatedFields: function() { - if ( mailingAddressUtils.addressClassIsNonUS() ) { - this.stateLabel.text(mailingAddressUtils.provinceOrRegion); - this.postalCodeField.attr('size', '40'); - this.stateSelector.hide(); - this.stateField.show(); - this.addrTypeField.val("http://vivoweb.org/ontology/core#Address"); - } - else { - this.stateLabel.text(mailingAddressUtils.stateString); - this.postalCodeField.attr('size', '8'); - this.stateField.hide(); - this.stateSelector.show(); - this.addrTypeField.val("http://vivoweb.org/ontology/core#USPostalAddress"); - } - }, - - showHiddenElements: function() { - this.containerDiv.show(); - this.submitButton.show(); - this.orSpan.show(); - }, - - setStateValue: function() { - this.stateField.val(this.stateSelector.val()); - }, - - // in the ftl we remove the "the" that precedes some countries, so we need to - // re-sort them alphabetically - sortCountrySelector: function(mode,country) { - // Get options from select box - var the_options = this.countrySelectorOptions; - // sort alphabetically - the_options.sort(function(a,b) { - if (a.text > b.text) return 1; - else if (a.text < b.text) return -1; - else return 0 - }) - //replace with sorted the_options; - this.countrySelector.append( the_options ); - - // if it's add mode, add the "select one" option have it be selected; - // if it's edit mode, add the "Select one" option but have the correct country selected. - // if it's repair mode, add the "Select one" option but only select it if there's no country - - if ( this.errorSection.is(':visible') ) { - this.countrySelector.prepend($("") - .attr("value","") - .text(mailingAddressUtils.selectOne)); - this.countrySelector.val(country); - } - else if ( mode == "add" ) { - this.countrySelector.prepend($("") - .attr("value","") - .text(mailingAddressUtils.selectOne)); - } - else if ( mode == "edit" || country.length > 1 ) { - this.countrySelector.prepend($("") - .attr("value","") - .text(mailingAddressUtils.selectOne)); - this.countrySelector.val(country); - } - else if ( country.length == 0 ) { - this.countrySelector.prepend($("") - .attr("value","") - .text(mailingAddressUtils.selectOne)); - this.countrySelector.val(country); - } - } -} \ No newline at end of file diff --git a/productMods/templates/freemarker/edit/forms/js/newIndividualFormUtils.js b/productMods/templates/freemarker/edit/forms/js/newIndividualFormUtils.js new file mode 100644 index 00000000..d1cbbf33 --- /dev/null +++ b/productMods/templates/freemarker/edit/forms/js/newIndividualFormUtils.js @@ -0,0 +1,37 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +var newIndividualFormUtils = { + + onLoad: function(mode,country) { + this.initObjectReferences(); + this.bindEventListeners(); + }, + + initObjectReferences: function() { + this.form = $('#newIndividual'); + + // The external auth ID field and messages + this.fName = $('#firstName'); + this.lName = $('#lastName'); + this.rdfsLabel = $('#label'); + }, + + bindEventListeners: function() { + this.idCache = {}; + + this.form.submit(function() { + newIndividualFormUtils.buildRDFSLabel(); + }); + + }, + + buildRDFSLabel: function() { + if ( this.fName.length > 0 ) { + this.rdfsLabel.val(this.lName.val() + ", " + this.fName.val()); + } + }, +} + +$(document).ready(function() { + newIndividualFormUtils.onLoad(); +}); diff --git a/productMods/templates/freemarker/edit/forms/manageWebpagesForIndividual.ftl b/productMods/templates/freemarker/edit/forms/manageWebpagesForIndividual.ftl index d480933e..c4f0b1d0 100644 --- a/productMods/templates/freemarker/edit/forms/manageWebpagesForIndividual.ftl +++ b/productMods/templates/freemarker/edit/forms/manageWebpagesForIndividual.ftl @@ -29,8 +29,8 @@
        <#list editConfiguration.pageData.webpages as webpage>
      • - <#if webpage.anchor??> - <#assign anchor=webpage.anchor > + <#if webpage.label??> + <#assign anchor=webpage.label > <#else> <#assign anchor=webpage.url > @@ -39,7 +39,7 @@ ${anchor} - ${i18n().edit_capitalized} | + ${i18n().edit_capitalized} | ${i18n().delete_button}
      • diff --git a/productMods/templates/freemarker/edit/forms/newIndividualForm.ftl b/productMods/templates/freemarker/edit/forms/newIndividualForm.ftl index 28dadfc1..286b4b8b 100644 --- a/productMods/templates/freemarker/edit/forms/newIndividualForm.ftl +++ b/productMods/templates/freemarker/edit/forms/newIndividualForm.ftl @@ -56,6 +56,8 @@

        + + <#else>

        @@ -75,3 +77,4 @@

    ${stylesheets.add('')} +${scripts.add('')} \ No newline at end of file diff --git a/productMods/templates/freemarker/edit/forms/personHasEmailAddress.ftl b/productMods/templates/freemarker/edit/forms/personHasEmailAddress.ftl new file mode 100644 index 00000000..8d498191 --- /dev/null +++ b/productMods/templates/freemarker/edit/forms/personHasEmailAddress.ftl @@ -0,0 +1,86 @@ +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> + +<#-- this is in request.subject.name --> + +<#-- leaving this edit/add mode code in for reference in case we decide we need it --> + +<#import "lib-vivo-form.ftl" as lvf> + +<#--Retrieve certain edit configuration information--> +<#if editConfiguration.objectUri?has_content> + <#assign editMode = "edit"> +<#else> + <#assign editMode = "add"> + + +<#assign htmlForElements = editConfiguration.pageData.htmlForElements /> + +<#--Retrieve variables needed--> +<#assign emailAddressValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "emailAddress") /> + +<#--If edit submission exists, then retrieve validation errors if they exist--> +<#if editSubmission?has_content && editSubmission.submissionExists = true && editSubmission.validationErrors?has_content> + <#assign submissionErrors = editSubmission.validationErrors/> + + +<#if editMode == "edit"> + <#assign titleVerb="${i18n().edit_capitalized}"> + <#assign submitButtonText="${titleVerb}" + " ${i18n().email_address}"> + <#assign disabledVal="disabled"> +<#else> + <#assign titleVerb="${i18n().create_capitalized}"> + <#assign submitButtonText="${titleVerb}" + " ${i18n().email_address}"> + <#assign disabledVal=""/> + + +<#assign requiredHint = " *" /> + +

    ${titleVerb} ${i18n().email_address_for} ${editConfiguration.subjectName}

    + +<#--Display error messages if any--> +<#if submissionErrors?has_content> + + + +<@lvf.unsupportedBrowser urls.base /> + +
    + +
    + +

    + + +

    + + + +

    + ${i18n().or} + ${i18n().cancel_link} +

    + +

    * ${i18n().required_fields}

    + +
    + +
    + +${stylesheets.add('')} +${stylesheets.add('')} +${stylesheets.add('')} + +${scripts.add('', + '', + '', + '')} + + diff --git a/productMods/templates/freemarker/edit/forms/personHasMailingAddress.ftl b/productMods/templates/freemarker/edit/forms/personHasMailingAddress.ftl index 029872a5..99236069 100644 --- a/productMods/templates/freemarker/edit/forms/personHasMailingAddress.ftl +++ b/productMods/templates/freemarker/edit/forms/personHasMailingAddress.ftl @@ -16,13 +16,9 @@ <#assign htmlForElements = editConfiguration.pageData.htmlForElements /> <#--Retrieve variables needed--> -<#assign addrLabelValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "addrLabel") /> -<#assign addressTypeValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "addressType") /> -<#assign addrLineOneValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "addrLineOne") /> -<#assign addrLineTwoValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "addrLineTwo") /> -<#assign addrLineThreeValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "addrLineThree") /> -<#assign cityValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "city") /> -<#assign stateValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "state") /> +<#assign streetAddressValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "streetAddress") /> +<#assign localityValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "locality") /> +<#assign regionValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "region") /> <#assign postalCodeValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "postalCode") /> <#assign countryValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "country") /> @@ -52,13 +48,13 @@

    <#--Checking if any required fields are empty--> <#if lvf.submissionErrorExists(editSubmission, "country")> - ${i18n().select_a_country}
    + ${i18n().enter_a_country}
    - <#if lvf.submissionErrorExists(editSubmission, "addrLineOne")> - ${i18n().enter_address1_value}
    + <#if lvf.submissionErrorExists(editSubmission, "streetAddress")> + ${i18n().enter_street_address}
    - <#if lvf.submissionErrorExists(editSubmission, "city")> - ${i18n().enter_a_city}
    + <#if lvf.submissionErrorExists(editSubmission, "locality")> + ${i18n().enter_a_locality}
    <#if lvf.submissionErrorExists(editSubmission, "postalCode")> ${i18n().enter_postal_code} @@ -74,138 +70,43 @@

    +

    + + +

    -

    - - <#assign countryOpts = editConfiguration.pageData.country /> - -

    +

    + + +

    - +

    + + +

    + +

    + + +

    + +

    + + +

    -
    -

    - - -

    - -

    - - -

    - -

    - - -

    + -

    - - -

    +

    + ${i18n().or} + ${i18n().cancel_link} +

    -

    - - - -

    +

    * ${i18n().required_fields}

    -

    - - -

    - -
    - - - - - -

    - ${i18n().or} - ${i18n().cancel_link} -

    - -

    * ${i18n().required_fields}

    - -
    +
    - - - - - - ${stylesheets.add('')} ${stylesheets.add('')} @@ -214,7 +115,6 @@ ${stylesheets.add('', '', '', - '', '')} diff --git a/productMods/templates/freemarker/edit/forms/personHasTelephoneNumber.ftl b/productMods/templates/freemarker/edit/forms/personHasTelephoneNumber.ftl new file mode 100644 index 00000000..c3493c29 --- /dev/null +++ b/productMods/templates/freemarker/edit/forms/personHasTelephoneNumber.ftl @@ -0,0 +1,86 @@ +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> + +<#-- this is in request.subject.name --> + +<#-- leaving this edit/add mode code in for reference in case we decide we need it --> + +<#import "lib-vivo-form.ftl" as lvf> + +<#--Retrieve certain edit configuration information--> +<#if editConfiguration.objectUri?has_content> + <#assign editMode = "edit"> +<#else> + <#assign editMode = "add"> + + +<#assign htmlForElements = editConfiguration.pageData.htmlForElements /> + +<#--Retrieve variables needed--> +<#assign telephoneNumberValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "telephoneNumber") /> + +<#--If edit submission exists, then retrieve validation errors if they exist--> +<#if editSubmission?has_content && editSubmission.submissionExists = true && editSubmission.validationErrors?has_content> + <#assign submissionErrors = editSubmission.validationErrors/> + + +<#if editMode == "edit"> + <#assign titleVerb="${i18n().edit_capitalized}"> + <#assign submitButtonText="${titleVerb}" + " ${i18n().telephone_number}"> + <#assign disabledVal="disabled"> +<#else> + <#assign titleVerb="${i18n().create_capitalized}"> + <#assign submitButtonText="${titleVerb}" + " ${i18n().telephone_number}"> + <#assign disabledVal=""/> + + +<#assign requiredHint = " *" /> + +

    ${titleVerb} ${i18n().mailing_address_for} ${editConfiguration.subjectName}

    + +<#--Display error messages if any--> +<#if submissionErrors?has_content> + + + +<@lvf.unsupportedBrowser urls.base /> + +
    + +
    + +

    + + +

    + + + +

    + ${i18n().or} + ${i18n().cancel_link} +

    + +

    * ${i18n().required_fields}

    + +
    + +
    + +${stylesheets.add('')} +${stylesheets.add('')} +${stylesheets.add('')} + +${scripts.add('', + '', + '', + '')} + + diff --git a/rdf/display/everytime/PropertyConfig.n3 b/rdf/display/everytime/PropertyConfig.n3 index 477e5c07..1dc439da 100644 --- a/rdf/display/everytime/PropertyConfig.n3 +++ b/rdf/display/everytime/PropertyConfig.n3 @@ -347,15 +347,90 @@ local:informationResourceInAuthorshipConfig a :ObjectPropertyDisplayConfig ; ### vcard properties ### local:mailingAddressContext a :ConfigContext ; :hasConfiguration local:mailingAddressConfig ; - :configContextFor ; + :configContextFor ; :qualifiedByDomain ; :qualifiedBy . local:mailingAddressConfig a :ObjectPropertyDisplayConfig ; - :listViewConfigFile "listViewConfig-personHasMailingAddress.xml"^^xsd:string ; + :listViewConfigFile "listViewConfig-mailingAddress.xml"^^xsd:string ; :displayName "mailing address" ; vitro:displayRankAnnot 80; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasMailingAddressGenerator"^^ ; :propertyGroup . + +local:telephoneContext a :ConfigContext ; + :hasConfiguration local:telephoneConfig ; + :configContextFor ; + :qualifiedByDomain ; + :qualifiedBy . + +local:telephoneConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-telephoneNumber.xml"^^xsd:string ; + :displayName "phone" ; + vitro:displayRankAnnot 60; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasTelephoneNumberGenerator"^^ ; + :propertyGroup . + +local:additionalEmailContext a :ConfigContext ; + :hasConfiguration local:additionalEmailConfig ; + :configContextFor ; + :qualifiedByDomain ; + :qualifiedBy . + +local:additionalEmailConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-additionalEmail.xml"^^xsd:string ; + :displayName "additional emails" ; + vitro:displayRankAnnot 30; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasEmailGenerator"^^ ; + :propertyGroup . + +local:primaryEmailContext a :ConfigContext ; + :hasConfiguration local:primaryEmailConfig ; + :configContextFor ; + :qualifiedByDomain ; + :qualifiedBy . + +local:primaryEmailConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-primaryEmail.xml"^^xsd:string ; + :displayName "primary email" ; + vitro:displayRankAnnot 20; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasEmailGenerator"^^ ; + :propertyGroup . + +local:webpageContext a :ConfigContext ; + :hasConfiguration local:webpageConfig ; + :configContextFor ; + :qualifiedByDomain ; + :qualifiedBy . + +local:webpageConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-webpage.xml"^^xsd:string ; + :displayName "webpage" ; + vitro:displayRankAnnot 40; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.ManageWebpagesForIndividualGenerator"^^ ; + :propertyGroup . + +local:fullNameContext a :ConfigContext ; + :hasConfiguration local:fullNameConfig ; + :configContextFor ; + :qualifiedByDomain ; + :qualifiedBy . + +local:fullNameConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-fullName.xml"^^xsd:string ; + :displayName "full name" ; + vitro:displayRankAnnot 10; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddFullNameToPersonGenerator"^^ ; + :propertyGroup . diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java index 0d0b191f..be5d8f05 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java @@ -11,6 +11,9 @@ import java.util.Map; import javax.servlet.http.HttpSession; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.XSD; @@ -33,6 +36,7 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators. * It is intended to always be an add, and never an update. */ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator implements EditConfigurationGenerator { + public static Log log = LogFactory.getLog(AddAuthorsToInformationResourceGenerator.class); @Override public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, @@ -58,6 +62,8 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator editConfiguration.addNewResource("authorshipUri", DEFAULT_NS_TOKEN); editConfiguration.addNewResource("newPerson", DEFAULT_NS_TOKEN); editConfiguration.addNewResource("newOrg", DEFAULT_NS_TOKEN); + editConfiguration.addNewResource("vcardPerson", DEFAULT_NS_TOKEN); + editConfiguration.addNewResource("vcardName", DEFAULT_NS_TOKEN); //In scope setUrisAndLiteralsInScope(editConfiguration, vreq); @@ -128,17 +134,35 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator private String getN3NewPersonFirstName() { return getN3PrefixString() + - "?newPerson foaf:firstName ?firstName ."; + "@prefix vcard: . \n" + + "?newPerson ?vcardPerson . \n" + + "?vcardPerson ?newPerson . \n" + + "?vcardPerson a . \n" + + "?vcardPerson vcard:hasName ?vcardName . \n" + + "?vcardName a . \n" + + "?vcardName vcard:givenName ?firstName ."; } private String getN3NewPersonMiddleName() { return getN3PrefixString() + - "?newPerson core:middleName ?middleName ."; + "@prefix vcard: . \n" + + "?newPerson ?vcardPerson . \n" + + "?vcardPerson ?newPerson . \n" + + "?vcardPerson a . \n" + + "?vcardPerson vcard:hasName ?vcardName . \n" + + "?vcardName a . \n" + + "?vcardName vcard:middleName ?middleName ."; } private String getN3NewPersonLastName() { return getN3PrefixString() + - "?newPerson foaf:lastName ?lastName ."; + "@prefix vcard: . \n" + + "?newPerson ?vcardPerson . \n" + + "?vcardPerson ?newPerson . \n" + + "?vcardPerson a . \n" + + "?vcardPerson vcard:hasName ?vcardName . \n" + + "?vcardName a . \n" + + "?vcardName vcard:familyName ?lastName ."; } private String getN3NewPerson() { @@ -177,6 +201,8 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator HashMap newResources = new HashMap(); newResources.put("authorshipUri", DEFAULT_NS_TOKEN); newResources.put("newPerson", DEFAULT_NS_TOKEN); + newResources.put("vcardPerson", DEFAULT_NS_TOKEN); + newResources.put("vcardName", DEFAULT_NS_TOKEN); newResources.put("newOrg", DEFAULT_NS_TOKEN); return newResources; } @@ -245,7 +271,6 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator setValidators(list("datatype:" + XSD.xstring.toString())). setRangeDatatypeUri(XSD.xstring.toString()) ); - } @@ -255,7 +280,6 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator setValidators(list("datatype:" + XSD.xstring.toString())). setRangeDatatypeUri(XSD.xstring.toString()) ); - } @@ -265,20 +289,14 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator setValidators(list("datatype:" + XSD.xstring.toString())). setRangeDatatypeUri(XSD.xstring.toString()) ); - } - - - - private void setLastNameField(EditConfigurationVTwo editConfiguration) { editConfiguration.addField(new FieldVTwo(). setName("lastName"). setValidators(list("datatype:" + XSD.xstring.toString())). setRangeDatatypeUri(XSD.xstring.toString()) ); - } private void setRankField(EditConfigurationVTwo editConfiguration) { @@ -287,7 +305,6 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator setValidators(list("nonempty")). setRangeDatatypeUri(XSD.xint.toString()) ); - } @@ -296,7 +313,6 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator setName("personUri") //.setObjectClassUri(personClass) ); - } private void setOrgUriField(EditConfigurationVTwo editConfiguration) { @@ -304,16 +320,16 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator setName("orgUri") //.setObjectClassUri(personClass) ); - } + private void setOrgNameField(EditConfigurationVTwo editConfiguration) { editConfiguration.addField(new FieldVTwo(). setName("orgName"). setValidators(list("datatype:" + XSD.xstring.toString())). setRangeDatatypeUri(XSD.xstring.toString()) ); - } + //Form specific data public void addFormSpecificData(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { HashMap formSpecificData = new HashMap(); @@ -329,11 +345,49 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator List authorships = infoResource.getRelatedIndividuals( EditConfigurationUtils.getPredicateUri(vreq)); //TODO: Check if sorted correctly + + log.debug("authorships = " + authorships); + sortAuthorshipIndividuals(authorships); return getAuthorshipInfo(authorships); } - +/* + private static String AUTHORSHIPS_QUERY = "" + + "PREFIX core: \n" + + "PREFIX afn: \n" + + "PREFIX rdfs: \n" + + "PREFIX foaf: \n" + + "SELECT ?authorshipURI (afn:localname(?authorshipURI) AS ?authorshipName) ?authorURI ?authorName \n" + + "WHERE { \n" + + "?subject core:relatedBy ?authorshipURI . \n" + + "?authorshipURI core:relates ?authorURI . \n" + + "?authorURI a foaf:Person . \n" + + "?authorURI rdfs:label ?authorName \n" + + "}"; + + + private List> getExistingAuthorships(String subjectUri, VitroRequest vreq) { + + String queryStr = QueryUtils.subUriForQueryVar(this.getAuthorshipsQuery(), "subject", subjectUri); + log.debug("Query string is: " + queryStr); + List> authorshipss = new ArrayList>(); + try { + ResultSet results = QueryUtils.getQueryResults(queryStr, vreq); + while (results.hasNext()) { + QuerySolution soln = results.nextSolution(); + RDFNode node = soln.get("link"); + if (node.isURIResource()) { + webpages.add(QueryUtils.querySolutionToStringValueMap(soln)); + } + } + } catch (Exception e) { + log.error(e, e); + } + log.debug("webpages = " + webpages); + return webpages; + } +*/ private List getAuthorshipInfo( List authorships) { List info = new ArrayList(); @@ -368,9 +422,6 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator return maxRank; } - - - private void sortAuthorshipIndividuals(List authorships) { DataPropertyComparator comp = new DataPropertyComparator(authorRankPredicate); Collections.sort(authorships, comp); @@ -416,4 +467,8 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator static final String DEFAULT_NS_TOKEN=null; //null forces the default NS +// protected String getAuthorshipsQuery() { +// return AUTHORSHIPS_QUERY; +// } + } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditWebpageFormGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditWebpageFormGenerator.java index b63fcc7d..c2b0b9a1 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditWebpageFormGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddEditWebpageFormGenerator.java @@ -39,7 +39,7 @@ Class: core:URLLink - the link to be added to the individual Data properties of core:URLLink: -core:linkURI +core:linkUrlPredicate core:linkAnchorText core:rank @@ -68,27 +68,32 @@ public class AddEditWebpageFormGenerator extends BaseEditConfigurationGenerator initBasics(config, vreq); initPropertyParameters(vreq, session, config); initObjectPropForm(config, vreq); + String linkUri = getLinkUri(vreq); config.setVarNameForSubject("subject"); - config.setVarNameForObject("link"); + config.setVarNameForObject("vcard"); + config.addNewResource("vcard", DEFAULT_NS_FOR_NEW_RESOURCE); config.addNewResource("link", DEFAULT_NS_FOR_NEW_RESOURCE); config.setN3Required(list( this.getN3ForWebpage(), N3_FOR_URLTYPE )); config.setN3Optional(list( N3_FOR_ANCHOR, N3_FOR_RANK)); - config.addUrisInScope("webpageProperty", list( this.getWebpageProperty())); - config.addUrisInScope("inverseProperty", list( this.getWebpageOfProperty())); - config.addUrisInScope("linkClass", list( this.getURLLinkClass())); - config.addUrisInScope("linkURI", list( core + "linkURI" )); - config.addUrisInScope("linkAnchorPredicate", list( core + "linkAnchorText" )); + config.addUrisInScope("webpageProperty", list( "http://purl.obolibrary.org/obo/ARG_2000028" )); + config.addUrisInScope("inverseProperty", list( "http://purl.obolibrary.org/obo/ARG_2000029" )); + config.addUrisInScope("linkUrlPredicate", list( "http://www.w3.org/2006/vcard/ns#url" )); + config.addUrisInScope("linkLabelPredicate", list( "http://www.w3.org/2000/01/rdf-schema#label" )); config.addUrisInScope("rankPredicate", list( core + "rank")); + config.addSparqlForAdditionalUrisInScope("vcard", individualVcardQuery); + if ( config.isUpdate() ) { + config.addUrisInScope("link", list( linkUri )); + } config.setUrisOnForm("urlType"); - config.setLiteralsOnForm(list("url","anchor","rank")); + config.setLiteralsOnForm(list("url","label","rank")); config.addSparqlForExistingLiteral("url", URL_QUERY); - config.addSparqlForExistingLiteral("anchor", ANCHOR_QUERY); + config.addSparqlForExistingLiteral("label", ANCHOR_QUERY); config.addSparqlForExistingLiteral("rank", MAX_RANK_QUERY); config.addSparqlForExistingUris("urlType", URLTYPE_QUERY); @@ -101,10 +106,10 @@ public class AddEditWebpageFormGenerator extends BaseEditConfigurationGenerator setName("urlType"). setValidators( list("nonempty") ). setOptions( - new ChildVClassesWithParent(this.getURLLinkClass()))); + new ChildVClassesWithParent("http://www.w3.org/2006/vcard/ns#URL"))); config.addField(new FieldVTwo(). - setName("anchor")); + setName("label")); config.addField(new FieldVTwo(). setName("rank"). @@ -133,16 +138,17 @@ public class AddEditWebpageFormGenerator extends BaseEditConfigurationGenerator /* ********* N3 Assertions *********** */ static String N3_FOR_WEBPAGE = - "?subject ?webpageProperty ?link . \n"+ - "?link ?inverseProperty ?subject . \n"+ - "?link a ?linkClass . \n" + - "?link ?linkURI ?url ."; + "?subject ?webpageProperty ?vcard . \n"+ + "?vcard ?inverseProperty ?subject . \n"+ + "?vcard ?link ."+ + "?link a . \n" + + "?link ?linkUrlPredicate ?url ."; static String N3_FOR_URLTYPE = "?link a ?urlType ."; static String N3_FOR_ANCHOR = - "?link ?linkAnchorPredicate ?anchor ."; + "?link ?linkLabelPredicate ?label ."; static String N3_FOR_RANK = "?link ?rankPredicate ?rank ."; @@ -150,28 +156,35 @@ public class AddEditWebpageFormGenerator extends BaseEditConfigurationGenerator /* *********** SPARQL queries for existing values ************** */ static String URL_QUERY = - "SELECT ?urlExisting WHERE { ?link ?linkURI ?urlExisting }"; + "SELECT ?urlExisting WHERE { ?link ?linkUrlPredicate ?urlExisting }"; static String URLTYPE_QUERY = "PREFIX vitro: <" + VitroVocabulary.vitroURI + "> \n" + "SELECT ?linkClassExisting WHERE { ?link vitro:mostSpecificType ?linkClassExisting }"; static String ANCHOR_QUERY = - "SELECT ?anchorExisting WHERE { ?link ?linkAnchorPredicate ?anchorExisting }"; + "SELECT ?labelExisting WHERE { ?link ?linkLabelPredicate ?labelExisting }"; static String RANK_QUERY = "SELECT ?rankExisting WHERE { ?link ?rankPredicate ?rankExisting }"; static String core = "http://vivoweb.org/ontology/core#"; + static String individualVcardQuery = + "SELECT ?existingVcard WHERE { \n" + + "?subject ?existingVcard . \n" + + "}"; + /* Note on ordering by rank in sparql: if there is a non-integer value on a link, that will be returned, * since it's ranked highest. Preventing that would require getting all the ranks and sorting in Java, * throwing out non-int values. */ private static String MAX_RANK_QUERY = "" + "PREFIX core: \n" + + "PREFIX vcard: \n" + "SELECT DISTINCT ?rank WHERE { \n" - + " ?subject core:webpage ?link . \n" + + " ?subject ?vcard . \n" + + " ?vcard vcard:hasURL ?link . \n" + " ?link core:rank ?rank .\n" + "} ORDER BY DESC(?rank) LIMIT 1"; @@ -209,23 +222,10 @@ public class AddEditWebpageFormGenerator extends BaseEditConfigurationGenerator return formTemplate; } - protected String getWebpageProperty() { - return core + "webpage"; - } - - protected String getWebpageOfProperty() { - return core + "webpageOf"; - } - protected String getMaxRankQueryStr() { return MAX_RANK_QUERY; } - - protected String getURLLinkClass() { - return core + "URLLink"; - } - protected String getN3ForWebpage() { return N3_FOR_WEBPAGE; } @@ -240,5 +240,9 @@ public class AddEditWebpageFormGenerator extends BaseEditConfigurationGenerator "&editForm=" + UrlBuilder.urlEncode(generatorName); } - + private String getLinkUri(VitroRequest vreq) { + String linkUri = vreq.getParameter("linkUri"); + + return linkUri; + } } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddFullNameToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddFullNameToPersonGenerator.java new file mode 100644 index 00000000..172d49ac --- /dev/null +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddFullNameToPersonGenerator.java @@ -0,0 +1,130 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpSession; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import com.hp.hpl.jena.vocabulary.XSD; + +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaVClassOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; + +public class AddFullNameToPersonGenerator extends VivoBaseGenerator implements + EditConfigurationGenerator { + private Log log = LogFactory.getLog(AddFullNameToPersonGenerator.class); + + @Override + public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, + HttpSession session) throws Exception { + + EditConfigurationVTwo conf = new EditConfigurationVTwo(); + + initBasics(conf, vreq); + initPropertyParameters(vreq, session, conf); + initObjectPropForm(conf, vreq); + String fullNameUri = getFullNameUri(vreq); + + conf.setTemplate("addFullNameToPerson.ftl"); + + conf.setVarNameForSubject("person"); + conf.setVarNameForPredicate("predicate"); + conf.setVarNameForObject("individualVcard"); + + conf.setN3Required( Arrays.asList( n3ForNewName ) ); + conf.setN3Optional( Arrays.asList( firstNameAssertion, middleNameAssertion, lastNameAssertion ) ); + + conf.addNewResource("fullName", DEFAULT_NS_FOR_NEW_RESOURCE); + conf.addNewResource("individualVcard", DEFAULT_NS_FOR_NEW_RESOURCE); + + conf.setLiteralsOnForm(Arrays.asList("firstName", "middleName", "lastName" )); + + conf.addSparqlForExistingLiteral("firstName", firstNameQuery); + conf.addSparqlForExistingLiteral("middleName", middleNameQuery); + conf.addSparqlForExistingLiteral("lastName", lastNameQuery); + conf.addSparqlForAdditionalUrisInScope("individualVcard", individualVcardQuery); + + if ( conf.isUpdate() ) { + HashMap> urisInScope = new HashMap>(); + urisInScope.put("fullName", Arrays.asList(new String[]{fullNameUri})); + conf.addUrisInScope(urisInScope); + } + + conf.addField( new FieldVTwo(). + setName("firstName") + .setRangeDatatypeUri( XSD.xstring.toString() ). + setValidators( list("nonempty") )); + + conf.addField( new FieldVTwo(). + setName("middleName") + .setRangeDatatypeUri( XSD.xstring.toString()) ); + + conf.addField( new FieldVTwo(). + setName("lastName") + .setRangeDatatypeUri( XSD.xstring.toString() ). + setValidators( list("nonempty") )); + + conf.addValidator(new AntiXssValidation()); + + prepare(vreq, conf); + return conf; + } + + /* N3 assertions */ + + final static String n3ForNewName = + "?person ?individualVcard . \n" + + "?individualVcard a . \n" + + "?individualVcard ?person . \n" + + "?individualVcard ?fullName . \n" + + "?fullName a . " ; + + final static String firstNameAssertion = + "?fullName ?firstName ."; + + final static String middleNameAssertion = + "?fullName ?middleName ."; + + final static String lastNameAssertion = + "?fullName ?lastName ."; + + /* Queries for editing an existing entry */ + + final static String individualVcardQuery = + "SELECT ?existingIndividualVcard WHERE { \n" + + "?person ?existingIndividualVcard . \n" + + "}"; + + final static String firstNameQuery = + "SELECT ?existingFirstName WHERE {\n"+ + "?fullName ?existingFirstName . }"; + + final static String middleNameQuery = + "SELECT ?existingMiddleName WHERE {\n"+ + "?fullName ?existingMiddleName . }"; + + final static String lastNameQuery = + "SELECT ?existingLastName WHERE {\n"+ + "?fullName ?existingLastName . }"; + + private String getFullNameUri(VitroRequest vreq) { + String fullNameUri = vreq.getParameter("fullNameUri"); + + return fullNameUri; + } +} diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java index ba44e6e3..f30cc908 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java @@ -451,13 +451,23 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement } private String getN3FirstNameAssertion() { - return "@prefix foaf: <" + foaf + "> . \n" + - "?newEditor foaf:firstName ?firstName ."; + return "@prefix vcard: . \n" + + "?newEditor ?vcardEditor . \n" + + "?vcardEditor ?newEditor . \n" + + "?vcardEditor a . \n" + + "?vcardEditor vcard:hasName ?vcardName . \n" + + "?vcardName a . \n" + + "?vcardName vcard:givenName ?firstName ."; } private String getN3LastNameAssertion() { - return "@prefix foaf: <" + foaf + "> . \n" + - "?newEditor foaf:lastName ?lastName ."; + return "@prefix vcard: . \n" + + "?newEditor ?vcardEditor . \n" + + "?vcardEditor ?newEditor . \n" + + "?vcardEditor a . \n" + + "?vcardEditor vcard:hasName ?vcardName . \n" + + "?vcardName a . \n" + + "?vcardName vcard:familyName ?lastName ."; } private String getN3ForLocaleAssertion() { @@ -515,6 +525,8 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement newResources.put("newConference", DEFAULT_NS_TOKEN); newResources.put("newEvent", DEFAULT_NS_TOKEN); newResources.put("newEditor", DEFAULT_NS_TOKEN); + newResources.put("vcardEditor", DEFAULT_NS_TOKEN); + newResources.put("vcardName", DEFAULT_NS_TOKEN); newResources.put("newPublisher", DEFAULT_NS_TOKEN); newResources.put("dateTimeNode", DEFAULT_NS_TOKEN); return newResources; diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageWebpagesForIndividualGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageWebpagesForIndividualGenerator.java index 1a82911c..90effba9 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageWebpagesForIndividualGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageWebpagesForIndividualGenerator.java @@ -83,10 +83,14 @@ public class ManageWebpagesForIndividualGenerator extends BaseEditConfigurationG private static String WEBPAGE_QUERY = "" + "PREFIX core: \n" - + "SELECT DISTINCT ?link ?url ?anchor ?rank WHERE { \n" - + " ?subject core:webpage ?link . \n" - + " OPTIONAL { ?link core:linkURI ?url } \n" - + " OPTIONAL { ?link core:linkAnchorText ?anchor } \n" + + "PREFIX vcard: \n" + + "PREFIX rdfs: \n" + + "SELECT DISTINCT ?vcard ?link ?url ?label ?rank WHERE { \n" + + " ?subject ?vcard . \n" + + " ?vcard vcard:hasURL ?link . \n" + + " ?link a vcard:URL \n" + + " OPTIONAL { ?link vcard:url ?url } \n" + + " OPTIONAL { ?link rdfs:label ?label } \n" + " OPTIONAL { ?link core:rank ?rank } \n" + "} ORDER BY ?rank"; @@ -108,7 +112,7 @@ public class ManageWebpagesForIndividualGenerator extends BaseEditConfigurationG } catch (Exception e) { log.error(e, e); } - + log.debug("webpages = " + webpages); return webpages; } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java index 60d4f156..0fd76116 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/NewIndividualFormGenerator.java @@ -1,177 +1,188 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; - -import javax.servlet.http.HttpSession; - -import com.hp.hpl.jena.rdf.model.Literal; -import com.hp.hpl.jena.vocabulary.RDFS; -import com.hp.hpl.jena.vocabulary.XSD; - -import edu.cornell.mannlib.vitro.webapp.beans.VClass; -import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; -import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; -import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.FoafNameToRdfsLabelPreprocessor; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; - -/** - * Generates the edit configuration for a default property form. - * ModelChangePreprocessor creates the rdfs:label statement. - */ -public class NewIndividualFormGenerator extends BaseEditConfigurationGenerator implements EditConfigurationGenerator { - - @Override - public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) { - - EditConfigurationVTwo config = new EditConfigurationVTwo(); - - config.setTemplate( "newIndividualForm.ftl" ); - - config.setN3Required( list( - "?newInd <" + VitroVocabulary.RDF_TYPE + "> <" + getTypeOfNew(vreq) + "> ." - )); - //Optional because user may have selected either person or individual of another kind - //Person uses first name and last name whereas individual of other class would use label - config.setN3Optional(list( - N3_PREFIX + "?newInd foaf:firstName ?firstName ; foaf:lastName ?lastName .", - N3_PREFIX + "?newInd <" + RDFS.label.getURI() + "> ?label ." - )); - - config.addNewResource("newInd", vreq.getWebappDaoFactory().getDefaultNamespace()); - - config.setUrisOnform(list ()); - config.setLiteralsOnForm( list( "label", "firstName", "lastName" )); - setUrisAndLiteralsInScope(config); - //No SPARQL queries for existing since this is only used to create new, never for edit - - config.addField(new FieldVTwo(). - setName("firstName"). - setRangeDatatypeUri(XSD.xstring.getURI()). - setValidators(getFirstNameValidators(vreq))); - - config.addField(new FieldVTwo(). - setName("lastName"). - setRangeDatatypeUri(XSD.xstring.getURI()). - setValidators(getLastNameValidators(vreq))); - - config.addField(new FieldVTwo(). - setName("label"). - setRangeDatatypeUri(XSD.xstring.getURI()). - setValidators(getLabelValidators(vreq))); - - addFormSpecificData(config, vreq); - - config.addValidator(new AntiXssValidation()); - - //This combines the first and last name into the rdfs:label - config.addModelChangePreprocessor(new FoafNameToRdfsLabelPreprocessor()); - - String formUrl = EditConfigurationUtils.getFormUrlWithoutContext(vreq); - config.setFormUrl(formUrl); - - //Note, the spaces are important - they were added by ProcessRdfFormController earlier - //as a means of ensuring the substitution worked correctly - as the regex expects spaces - config.setEntityToReturnTo(" ?newInd "); - prepare(vreq, config); - return config; - } - - //first and last name have validators if is person is true - private List getFirstNameValidators(VitroRequest vreq) { - List validators = new ArrayList(); - if(isPersonType(vreq)) { - validators.add("nonempty"); - } - return validators; - } - - private List getLastNameValidators(VitroRequest vreq) { - List validators = new ArrayList(); - if(isPersonType(vreq)) { - validators.add("nonempty"); - } - return validators; - } - - //validate label if person is not true - private List getLabelValidators(VitroRequest vreq) { - List validators = new ArrayList(); - if(!isPersonType(vreq)) { - validators.add("nonempty"); - } - return validators; - } - - //Get parameter from HTTP request for type of new individual - private String getTypeOfNew(VitroRequest vreq) { - String typeUri = vreq.getParameter("typeOfNew"); - if( typeUri == null || typeUri.trim().isEmpty() ) - return getFOAFPersonClassURI(); - else - return typeUri; - } - - //Form specific data - public void addFormSpecificData(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { - HashMap formSpecificData = new HashMap(); - formSpecificData.put("typeName", getTypeName(vreq)); - //Put in whether or not person type - if(isPersonType(vreq)) { - //Doing this b/c unsure how freemarker will handle boolean value from JAVA - formSpecificData.put("isPersonType", "true"); - } else { - formSpecificData.put("isPersonType", "false"); - - } - editConfiguration.setFormSpecificData(formSpecificData); - } - - private String getTypeName(VitroRequest vreq) { - String typeOfNew = getTypeOfNew(vreq); - VClass type = vreq.getWebappDaoFactory().getVClassDao().getVClassByURI(typeOfNew); - return type.getName(); - } - - public String getFOAFPersonClassURI() { - return "http://xmlns.com/foaf/0.1/Person"; - } - - public boolean isPersonType(VitroRequest vreq) { - WebappDaoFactory wdf = vreq.getWebappDaoFactory(); - Boolean isPersonType = Boolean.FALSE; - String foafPersonType = getFOAFPersonClassURI(); - List superTypes = wdf.getVClassDao().getAllSuperClassURIs(getTypeOfNew(vreq)); - if( superTypes != null ){ - for( String typeUri : superTypes){ - if( foafPersonType.equals(typeUri)) { - isPersonType = Boolean.TRUE; - break; - } - } - } - return isPersonType; - } - private void setUrisAndLiteralsInScope(EditConfigurationVTwo editConfiguration) { - HashMap> urisInScope = new HashMap>(); - //note that at this point the subject, predicate, and object var parameters have already been processed - urisInScope.put(editConfiguration.getVarNameForSubject(), - Arrays.asList(new String[]{editConfiguration.getSubjectUri()})); - urisInScope.put(editConfiguration.getVarNameForPredicate(), - Arrays.asList(new String[]{editConfiguration.getPredicateUri()})); - editConfiguration.setUrisInScope(urisInScope); - //Uris in scope include subject, predicate, and object var - - editConfiguration.setLiteralsInScope(new HashMap>()); - } - - private String N3_PREFIX = "@prefix foaf: .\n"; -} +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; + +import javax.servlet.http.HttpSession; + +import com.hp.hpl.jena.rdf.model.Literal; +import com.hp.hpl.jena.vocabulary.RDFS; +import com.hp.hpl.jena.vocabulary.XSD; + +import edu.cornell.mannlib.vitro.webapp.beans.VClass; +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.FoafNameToRdfsLabelPreprocessor; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; + +/** + * Generates the edit configuration for a default property form. + * ModelChangePreprocessor creates the rdfs:label statement. + */ +public class NewIndividualFormGenerator extends BaseEditConfigurationGenerator implements EditConfigurationGenerator { + + @Override + public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) { + + EditConfigurationVTwo config = new EditConfigurationVTwo(); + + config.setTemplate( "newIndividualForm.ftl" ); + + config.setN3Required( list( + "?newInd <" + VitroVocabulary.RDF_TYPE + "> <" + getTypeOfNew(vreq) + "> ." + )); + //Optional because user may have selected either person or individual of another kind + //Person uses first name and last name whereas individual of other class would use label + config.setN3Optional(list( + N3_PREFIX + "@prefix vcard: .\n" + + " ?newInd ?newVcardInd . \n" + + " ?newVcardInd ?newInd . \n" + + " ?newVcardInd a . \n" + + " ?newVcardInd vcard:hasName ?newVcardName . \n" + + " ?newVcardName a . \n" + + " ?newVcardName vcard:givenName ?firstName . \n" + + " ?newVcardName vcard:familyName ?lastName .", + N3_PREFIX + " ?newInd <" + RDFS.label.getURI() + "> ?label ." + )); + + config.addNewResource("newInd", vreq.getWebappDaoFactory().getDefaultNamespace()); + config.addNewResource("newVcardInd", vreq.getWebappDaoFactory().getDefaultNamespace()); + config.addNewResource("newVcardName", vreq.getWebappDaoFactory().getDefaultNamespace()); + + config.setUrisOnform(list ()); + config.setLiteralsOnForm( list( "label", "firstName", "lastName" )); + setUrisAndLiteralsInScope(config); + //No SPARQL queries for existing since this is only used to create new, never for edit + + config.addField(new FieldVTwo(). + setName("firstName"). + setRangeDatatypeUri(XSD.xstring.getURI()). + setValidators(getFirstNameValidators(vreq))); + + config.addField(new FieldVTwo(). + setName("lastName"). + setRangeDatatypeUri(XSD.xstring.getURI()). + setValidators(getLastNameValidators(vreq))); + + config.addField(new FieldVTwo(). + setName("label"). + setRangeDatatypeUri(XSD.xstring.getURI()). + setValidators(getLabelValidators(vreq))); + + addFormSpecificData(config, vreq); + + config.addValidator(new AntiXssValidation()); + + //This combines the first and last name into the rdfs:label + // currently being done via javascript in the template. May use this again + // when/if updated to IFS ontology. tlw72 +// config.addModelChangePreprocessor(new FoafNameToRdfsLabelPreprocessor()); + + String formUrl = EditConfigurationUtils.getFormUrlWithoutContext(vreq); + config.setFormUrl(formUrl); + + //Note, the spaces are important - they were added by ProcessRdfFormController earlier + //as a means of ensuring the substitution worked correctly - as the regex expects spaces + config.setEntityToReturnTo(" ?newInd "); + prepare(vreq, config); + return config; + } + + //first and last name have validators if is person is true + private List getFirstNameValidators(VitroRequest vreq) { + List validators = new ArrayList(); + if(isPersonType(vreq)) { + validators.add("nonempty"); + } + return validators; + } + + private List getLastNameValidators(VitroRequest vreq) { + List validators = new ArrayList(); + if(isPersonType(vreq)) { + validators.add("nonempty"); + } + return validators; + } + + //validate label if person is not true + private List getLabelValidators(VitroRequest vreq) { + List validators = new ArrayList(); + if(!isPersonType(vreq)) { + validators.add("nonempty"); + } + return validators; + } + + //Get parameter from HTTP request for type of new individual + private String getTypeOfNew(VitroRequest vreq) { + String typeUri = vreq.getParameter("typeOfNew"); + if( typeUri == null || typeUri.trim().isEmpty() ) + return getFOAFPersonClassURI(); + else + return typeUri; + } + + //Form specific data + public void addFormSpecificData(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { + HashMap formSpecificData = new HashMap(); + formSpecificData.put("typeName", getTypeName(vreq)); + //Put in whether or not person type + if(isPersonType(vreq)) { + //Doing this b/c unsure how freemarker will handle boolean value from JAVA + formSpecificData.put("isPersonType", "true"); + } else { + formSpecificData.put("isPersonType", "false"); + + } + editConfiguration.setFormSpecificData(formSpecificData); + } + + private String getTypeName(VitroRequest vreq) { + String typeOfNew = getTypeOfNew(vreq); + VClass type = vreq.getWebappDaoFactory().getVClassDao().getVClassByURI(typeOfNew); + return type.getName(); + } + + public String getFOAFPersonClassURI() { + return "http://xmlns.com/foaf/0.1/Person"; + } + + public boolean isPersonType(VitroRequest vreq) { + WebappDaoFactory wdf = vreq.getWebappDaoFactory(); + Boolean isPersonType = Boolean.FALSE; + String foafPersonType = getFOAFPersonClassURI(); + List superTypes = wdf.getVClassDao().getAllSuperClassURIs(getTypeOfNew(vreq)); + if( superTypes != null ){ + for( String typeUri : superTypes){ + if( foafPersonType.equals(typeUri)) { + isPersonType = Boolean.TRUE; + break; + } + } + } + return isPersonType; + } + private void setUrisAndLiteralsInScope(EditConfigurationVTwo editConfiguration) { + HashMap> urisInScope = new HashMap>(); + //note that at this point the subject, predicate, and object var parameters have already been processed + urisInScope.put(editConfiguration.getVarNameForSubject(), + Arrays.asList(new String[]{editConfiguration.getSubjectUri()})); + urisInScope.put(editConfiguration.getVarNameForPredicate(), + Arrays.asList(new String[]{editConfiguration.getPredicateUri()})); + editConfiguration.setUrisInScope(urisInScope); + //Uris in scope include subject, predicate, and object var + + editConfiguration.setLiteralsInScope(new HashMap>()); + } + + private String N3_PREFIX = "@prefix foaf: .\n"; +} diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisingRelationshipGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisingRelationshipGenerator.java index cd5b0092..fe137c04 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisingRelationshipGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasAdvisingRelationshipGenerator.java @@ -71,6 +71,8 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im conf.addNewResource("advisingRelationship", DEFAULT_NS_FOR_NEW_RESOURCE); conf.addNewResource("newAdvisee", DEFAULT_NS_FOR_NEW_RESOURCE); + conf.addNewResource("vcardAdvisee", DEFAULT_NS_FOR_NEW_RESOURCE); + conf.addNewResource("vcardName", DEFAULT_NS_FOR_NEW_RESOURCE); conf.addNewResource("advisorRole", DEFAULT_NS_FOR_NEW_RESOURCE); conf.addNewResource("adviseeRole", DEFAULT_NS_FOR_NEW_RESOURCE); conf.addNewResource("newSubjArea", DEFAULT_NS_FOR_NEW_RESOURCE); @@ -229,12 +231,22 @@ public class PersonHasAdvisingRelationshipGenerator extends VivoBaseGenerator im "?adviseeRole ?advisingRelationship . "; final static String firstNameAssertion = - "@prefix foaf: <" + foaf + "> . \n" + - "?newAdvisee foaf:firstName ?firstName ."; + "@prefix vcard: . \n" + + "?newAdvisee ?vcardAdvisee . \n" + + "?vcardAdvisee ?newAdvisee . \n" + + "?vcardAdvisee a . \n" + + "?vcardAdvisee vcard:hasName ?vcardName . \n" + + "?vcardName a . \n" + + "?vcardName vcard:givenName ?firstName ."; final static String lastNameAssertion = - "@prefix foaf: <" + foaf + "> . \n" + - "?newAdvisee foaf:lastName ?lastName ."; + "@prefix vcard: . \n" + + "?newAdvisee ?vcardAdvisee . \n" + + "?vcardAdvisee ?newAdvisee . \n" + + "?vcardAdvisee a . \n" + + "?vcardAdvisee vcard:hasName ?vcardName . \n" + + "?vcardName a . \n" + + "?vcardName vcard:familyName ?lastName ."; final static String degreeAssertion = "?advisingRelationship ?degree . \n" + diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEmailGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEmailGenerator.java new file mode 100644 index 00000000..28de70a8 --- /dev/null +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasEmailGenerator.java @@ -0,0 +1,125 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpSession; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import com.hp.hpl.jena.vocabulary.XSD; + +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaVClassOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; + +public class PersonHasEmailGenerator extends VivoBaseGenerator implements + EditConfigurationGenerator { + private Log log = LogFactory.getLog(PersonHasEmailGenerator.class); + + @Override + public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, + HttpSession session) throws Exception { + + EditConfigurationVTwo conf = new EditConfigurationVTwo(); + + initBasics(conf, vreq); + initPropertyParameters(vreq, session, conf); + initObjectPropForm(conf, vreq); + String emailUri = getEmailUri(vreq); + String rangeUri = getRangeUri(vreq); + + conf.setTemplate("personHasEmailAddress.ftl"); + + conf.setVarNameForSubject("person"); + conf.setVarNameForPredicate("predicate"); + conf.setVarNameForObject("individualVcard"); + + if ( rangeUri.equals("http://www.w3.org/2006/vcard/ns#Work") ) { + conf.setN3Required( Arrays.asList( n3ForNewPrimaryEmail ) ); + } + else { + conf.setN3Required( Arrays.asList( n3ForNewEmail ) ); + } + + conf.setN3Optional( Arrays.asList( emailAddressAssertion ) ); + + conf.addNewResource("email", DEFAULT_NS_FOR_NEW_RESOURCE); + conf.addNewResource("individualVcard", DEFAULT_NS_FOR_NEW_RESOURCE); + + conf.setLiteralsOnForm(Arrays.asList("emailAddress" )); + + conf.addSparqlForExistingLiteral("emailAddress", emailAddressQuery); + conf.addSparqlForAdditionalUrisInScope("individualVcard", individualVcardQuery); + + if ( conf.isUpdate() ) { + HashMap> urisInScope = new HashMap>(); + urisInScope.put("email", Arrays.asList(new String[]{emailUri})); + conf.addUrisInScope(urisInScope); + } + + conf.addField( new FieldVTwo(). + setName("emailAddress") + .setRangeDatatypeUri( XSD.xstring.toString() ). + setValidators( list("nonempty") )); + + conf.addValidator(new AntiXssValidation()); + + prepare(vreq, conf); + return conf; + } + + /* N3 assertions */ + + final static String n3ForNewEmail = + "?person ?individualVcard . \n" + + "?individualVcard a . \n" + + "?individualVcard ?person . \n" + + "?individualVcard ?email . \n" + + "?email a . " ; + + final static String n3ForNewPrimaryEmail = + "?person ?individualVcard . \n" + + "?individualVcard a . \n" + + "?individualVcard ?person . \n" + + "?individualVcard ?email . \n" + + "?email a . \n" + + "?email a ." ; + + final static String emailAddressAssertion = + "?email ?emailAddress ."; + + /* Queries for editing an existing entry */ + + final static String individualVcardQuery = + "SELECT ?existingIndividualVcard WHERE { \n" + + "?person ?existingIndividualVcard . \n" + + "}"; + + final static String emailAddressQuery = + "SELECT ?existingEmailAddress WHERE {\n"+ + "?email ?existingEmailAddress . }"; + + private String getRangeUri(VitroRequest vreq) { + String rangeUri = vreq.getParameter("rangeUri"); + + return rangeUri; + } + private String getEmailUri(VitroRequest vreq) { + String emailUri = vreq.getParameter("emailUri"); + + return emailUri; + } +} diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasMailingAddressGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasMailingAddressGenerator.java index 1e54a758..bde067ee 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasMailingAddressGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasMailingAddressGenerator.java @@ -2,14 +2,23 @@ package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import javax.servlet.http.HttpSession; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + import com.hp.hpl.jena.vocabulary.XSD; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; @@ -18,20 +27,8 @@ import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators. public class PersonHasMailingAddressGenerator extends VivoBaseGenerator implements EditConfigurationGenerator { - - final static String addressClass = vivoCore + "Address"; - final static String countryPred = vivoCore + "addressCountry"; - final static String countryClass = vivoCore + "Country"; - final static String addrLine1Pred =vivoCore+"address1" ; - final static String addrLine2Pred =vivoCore+"address2" ; - final static String addrLine3Pred =vivoCore+"address3" ; - final static String cityPred =vivoCore+"addressCity" ; - final static String statePred =vivoCore+"addressState" ; - final static String postalCodePred =vivoCore+"addressPostalCode" ; - final static String mailingAddressPred =vivoCore+"mailingAddress" ; - - public PersonHasMailingAddressGenerator() {} - + private Log log = LogFactory.getLog(PersonHasMailingAddressGenerator.class); + @Override public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) throws Exception { @@ -40,59 +37,51 @@ public class PersonHasMailingAddressGenerator extends VivoBaseGenerator implemen initBasics(conf, vreq); initPropertyParameters(vreq, session, conf); - initObjectPropForm(conf, vreq); + initObjectPropForm(conf, vreq); + String addressUri = vreq.getParameter("addressUri"); conf.setTemplate("personHasMailingAddress.ftl"); conf.setVarNameForSubject("person"); conf.setVarNameForPredicate("predicate"); - conf.setVarNameForObject("address"); + conf.setVarNameForObject("individualVcard"); - conf.setN3Required( Arrays.asList( n3ForNewAddress, - addrLabelAssertion, - addressTypeAssertion ) ); - conf.setN3Optional( Arrays.asList( addrLineOneAssertion, addrLineTwoAssertion, addrLineThreeAssertion, cityAssertion, stateAssertion, countryAssertion, postalCodeAssertion ) ); + conf.setN3Required( Arrays.asList( n3ForNewAddress ) ); + conf.setN3Optional( Arrays.asList( streetAddressAssertion, + localityAssertion, + regionAssertion, + countryAssertion, + postalCodeAssertion ) ); conf.addNewResource("address", DEFAULT_NS_FOR_NEW_RESOURCE); + conf.addNewResource("individualVcard", DEFAULT_NS_FOR_NEW_RESOURCE); + + conf.setLiteralsOnForm(Arrays.asList("streetAddress", "locality", "postalCode", "country", "region" )); - //uris in scope: none - //literals in scope: none - - conf.setUrisOnform(Arrays.asList("addressType")); - conf.setLiteralsOnForm(Arrays.asList("addrLineOne", "addrLineTwo", "addrLineThree", "city", "postalCode", "addrLabel","country", "state" )); - - conf.addSparqlForExistingLiteral("addrLabel", addrLabelQuery); - conf.addSparqlForExistingLiteral("addrLineOne", addrLineOneQuery); - conf.addSparqlForExistingLiteral("addrLineTwo", addrLineTwoQuery); - conf.addSparqlForExistingLiteral("addrLineThree", addrLineThreeQuery); - conf.addSparqlForExistingLiteral("city", cityQuery); + conf.addSparqlForExistingLiteral("streetAddress", streetAddressQuery); + conf.addSparqlForExistingLiteral("locality", localityQuery); conf.addSparqlForExistingLiteral("postalCode", postalCodeQuery); - conf.addSparqlForExistingLiteral("state", stateQuery); - conf.addSparqlForExistingLiteral("country", countryQuery); + conf.addSparqlForExistingLiteral("region", regionQuery); + conf.addSparqlForExistingLiteral("country", countryQuery); - conf.addSparqlForExistingUris("addressType", addressTypeQuery); - - conf.addField( new FieldVTwo(). - setName("country"). - setValidators( list("nonempty") ). - setOptions( - new IndividualsViaVClassOptions( - countryClass))); + if ( conf.isUpdate() ) { + HashMap> urisInScope = new HashMap>(); + urisInScope.put("address", Arrays.asList(new String[]{addressUri})); + conf.addUrisInScope(urisInScope); + } + else { + conf.addSparqlForAdditionalUrisInScope("individualVcard", individualVcardQuery); + } conf.addField( new FieldVTwo(). - setName("addrLineOne") + setName("streetAddress") .setRangeDatatypeUri( XSD.xstring.toString() ). setValidators( list("nonempty") )); conf.addField( new FieldVTwo(). - setName("addrLineTwo") + setName("country") .setRangeDatatypeUri( XSD.xstring.toString() ). - setValidators( list("datatype:" + XSD.xstring.toString()) )); - - conf.addField( new FieldVTwo(). - setName("addrLineThree") - .setRangeDatatypeUri( XSD.xstring.toString() ). - setValidators( list("datatype:" + XSD.xstring.toString()) )); + setValidators( list("nonempty") )); conf.addField( new FieldVTwo(). setName("postalCode") @@ -100,25 +89,15 @@ public class PersonHasMailingAddressGenerator extends VivoBaseGenerator implemen setValidators( list("nonempty") )); conf.addField( new FieldVTwo(). - setName("city") + setName("locality") .setRangeDatatypeUri( XSD.xstring.toString() ). setValidators( list("nonempty") ) ); conf.addField( new FieldVTwo(). - setName("state") + setName("region") .setRangeDatatypeUri( XSD.xstring.toString() ). setValidators( list("datatype:" + XSD.xstring.toString()) ) ); - conf.addField( new FieldVTwo(). - setName("addrLabel") - .setRangeDatatypeUri( XSD.xstring.toString() ). - setValidators( list("datatype:" + XSD.xstring.toString()) ) ); - - conf.addField( new FieldVTwo(). - setName("addressType"). - setOptions(new ChildVClassesOptions( - addressClass)) ); - conf.addValidator(new AntiXssValidation()); prepare(vreq, conf); @@ -128,77 +107,53 @@ public class PersonHasMailingAddressGenerator extends VivoBaseGenerator implemen /* N3 assertions */ final static String n3ForNewAddress = - "@prefix vivo: <" + vivoCore + "> . \n\n" + - "?person vivo:mailingAddress ?address . \n" + - "?address a vivo:Address . \n" + - "?address vivo:mailingAddressFor ?person . \n" ; + "?person ?individualVcard . \n" + + "?individualVcard a . \n" + + "?individualVcard ?person . \n" + + "?individualVcard ?address . \n" + + "?address a . " ; - final static String addrLineOneAssertion = - "?address <"+ addrLine1Pred +"> ?addrLineOne ."; + final static String streetAddressAssertion = + "?address ?streetAddress ."; - final static String addrLineTwoAssertion = - "?address <"+ addrLine2Pred +"> ?addrLineTwo ."; - - final static String addrLineThreeAssertion = - "?address <"+ addrLine3Pred +"> ?addrLineThree ."; - - final static String cityAssertion = - "?address <"+ cityPred +"> ?city ."; + final static String localityAssertion = + "?address ?locality ."; final static String postalCodeAssertion = - "?address <"+ postalCodePred +"> ?postalCode ."; + "?address ?postalCode ."; - final static String stateAssertion = - "?address <"+ statePred +"> ?state ."; + final static String regionAssertion = + "?address ?region ."; final static String countryAssertion = - "?address <" + countryPred + "> ?country ."; - - final static String addrLabelAssertion = - "?address <" + label + "> ?addrLabel ."; - - final static String addressTypeAssertion = - "?address a ?addressType ."; + "?address ?country ."; /* Queries for editing an existing entry */ - final static String addrLabelQuery = - "SELECT ?existingAddrLabel WHERE { \n" + - " ?address <" + label + "> ?existingAddrLabel . \n" + + final static String individualVcardQuery = + "SELECT ?individualVcard WHERE { \n" + + "?person ?individualVcard . \n" + "}"; - final static String addrLineOneQuery = - "SELECT ?existingaddrLineOne WHERE {\n"+ - "?address <"+ addrLine1Pred +"> ?existingaddrLineOne . }"; + final static String streetAddressQuery = + "SELECT ?existingStreetAddress WHERE {\n"+ + "?address ?existingStreetAddress . }"; - final static String addrLineTwoQuery = - "SELECT ?existingaddrLineTwo WHERE {\n"+ - "?address <"+ addrLine2Pred +"> ?existingaddrLineTwo . }"; + final static String localityQuery = + "SELECT ?existingLocality WHERE {\n"+ + "?address ?existingLocality . }"; - final static String addrLineThreeQuery = - "SELECT ?existingaddrLineThree WHERE {\n"+ - "?address <"+ addrLine3Pred +"> ?existingaddrLineThree . }"; - - final static String cityQuery = - "SELECT ?existingCity WHERE {\n"+ - "?address <"+ cityPred +"> ?existingCity . }"; - - final static String stateQuery = - "SELECT ?existingState WHERE {\n"+ - "?address <"+ statePred +"> ?existingState . }"; + final static String regionQuery = + "SELECT ?existingRegion WHERE {\n"+ + "?address ?existingRegion . }"; final static String postalCodeQuery = "SELECT ?existingPostalCode WHERE {\n"+ - "?address <"+ postalCodePred +"> ?existingPostalCode . }"; + "?address ?existingPostalCode . }"; final static String countryQuery = "SELECT ?existingCountry WHERE {\n"+ - "?address <"+ countryPred +"> ?existingCountry . }"; - - final static String addressTypeQuery = - "PREFIX vitro: <" + VitroVocabulary.vitroURI + "> \n" + - "SELECT ?existingAddressType WHERE { \n" + - "?address vitro:mostSpecificType ?existingAddressType . }"; + "?address ?existingCountry . }"; } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java index 9053c48e..f22463cd 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasPositionHistoryGenerator.java @@ -203,6 +203,7 @@ public class PersonHasPositionHistoryGenerator extends VivoBaseGenerator impleme "?endNode <" + dateTimeValue + "> ?endField-value . \n" + "?endNode <" + dateTimePrecision + "> ?endField-precision . \n"; +// Queries for existing values final static String orgLabelQuery = "SELECT ?existingOrgLabel WHERE { \n" + " ?position <" + positionInOrgPred + "> ?existingOrg . \n" + @@ -232,7 +233,8 @@ public class PersonHasPositionHistoryGenerator extends VivoBaseGenerator impleme final static String existingOrgQuery = "SELECT ?existingOrg WHERE { \n" + - " ?position <" + positionInOrgPred + "> ?existingOrg . }"; + " ?position <" + positionInOrgPred + "> ?existingOrg . \n" + + " ?existingOrg a <" + orgClass + "> }"; final static String orgTypeQuery = "PREFIX rdfs: <" + rdfs + "> \n" + diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasTelephoneNumberGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasTelephoneNumberGenerator.java new file mode 100644 index 00000000..bdfb65ba --- /dev/null +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/PersonHasTelephoneNumberGenerator.java @@ -0,0 +1,105 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpSession; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import com.hp.hpl.jena.vocabulary.XSD; + +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.IndividualsViaVClassOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.validators.AntiXssValidation; + +public class PersonHasTelephoneNumberGenerator extends VivoBaseGenerator implements + EditConfigurationGenerator { + private Log log = LogFactory.getLog(PersonHasTelephoneNumberGenerator.class); + + @Override + public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, + HttpSession session) throws Exception { + + EditConfigurationVTwo conf = new EditConfigurationVTwo(); + + initBasics(conf, vreq); + initPropertyParameters(vreq, session, conf); + initObjectPropForm(conf, vreq); + String phoneUri = getPhoneUri(vreq); + + conf.setTemplate("personHasTelephoneNumber.ftl"); + + conf.setVarNameForSubject("person"); + conf.setVarNameForPredicate("predicate"); + conf.setVarNameForObject("individualVcard"); + + conf.setN3Required( Arrays.asList( n3ForNewPhone ) ); + conf.setN3Optional( Arrays.asList( telephoneNumberAssertion ) ); + + conf.addNewResource("phone", DEFAULT_NS_FOR_NEW_RESOURCE); + conf.addNewResource("individualVcard", DEFAULT_NS_FOR_NEW_RESOURCE); + + conf.setLiteralsOnForm(Arrays.asList("telephoneNumber" )); + + conf.addSparqlForExistingLiteral("telephoneNumber", telephoneNumberQuery); + conf.addSparqlForAdditionalUrisInScope("individualVcard", individualVcardQuery); + + if ( conf.isUpdate() ) { + HashMap> urisInScope = new HashMap>(); + urisInScope.put("phone", Arrays.asList(new String[]{phoneUri})); + conf.addUrisInScope(urisInScope); + } + + conf.addField( new FieldVTwo(). + setName("telephoneNumber") + .setRangeDatatypeUri( XSD.xstring.toString() ). + setValidators( list("nonempty") )); + + conf.addValidator(new AntiXssValidation()); + + prepare(vreq, conf); + return conf; + } + + /* N3 assertions */ + + final static String n3ForNewPhone = + "?person ?individualVcard . \n" + + "?individualVcard a . \n" + + "?individualVcard ?person . \n" + + "?individualVcard ?phone . \n" + + "?phone a . " ; + + final static String telephoneNumberAssertion = + "?phone ?telephoneNumber ."; + + /* Queries for editing an existing entry */ + + final static String individualVcardQuery = + "SELECT ?existingIndividualVcard WHERE { \n" + + "?person ?existingIndividualVcard . \n" + + "}"; + + final static String telephoneNumberQuery = + "SELECT ?existingTelephoneNumber WHERE {\n"+ + "?phone ?existingTelephoneNumber . }"; + + private String getPhoneUri(VitroRequest vreq) { + String phoneUri = vreq.getParameter("phoneUri"); + + return phoneUri; + } +} diff --git a/themes/wilma/css/wilma.css b/themes/wilma/css/wilma.css index b7143d30..e8395b0f 100644 --- a/themes/wilma/css/wilma.css +++ b/themes/wilma/css/wilma.css @@ -1694,6 +1694,9 @@ input[type="submit"] { .checkboxSpacer { margin-left:150px; } +p.address-line { + margin-bottom: 0.3em; +} /* EDITING DISPLAY------> */ .edit-individual { border-left: 1px dotted #B2D15A; diff --git a/themes/wilma/i18n/all.properties b/themes/wilma/i18n/all.properties index a0f2585f..aa78e21c 100644 --- a/themes/wilma/i18n/all.properties +++ b/themes/wilma/i18n/all.properties @@ -500,16 +500,14 @@ academic_studies_or_other = Academic Studies or Other Training edit_mailing_address = Edit Mailing Address create_mailing_address = Create Mailing Address mailing_address_for = mailing address for -select_a_country = Please select a country. -enter_address1_value = Please enter a value in the Address Line 1 field. -enter_a_city = Please enter a value in the City field. +enter_a_country = Please enter a value in the Country field. +enter_street_address = Please enter a value in the Street Address field. +enter_a_locality = Please enter a value in the City/Locality field. enter_postal_code = Please enter a value in the Postal Code field. country = Country -street_Address1 = Street Address 1 -street_Address2 = Street Address 2 -street_Address3 = Street Address 3 -city = City -state = State +street_address = Street Address +city_locality = City/Locality +region = State/Province/Region postal_code = Postal Code posn_entry_for = position entry for @@ -830,4 +828,17 @@ local_research = Local Research selected_presentation = Selected Presentation event_capitalized = Event collection_capitalized = Collection -item_capitalized = Item \ No newline at end of file +item_capitalized = Item +telephone_number_for = telephone number for +telephone_number = Telephone Number +enter_telephone_number = Please enter a value in the Telephone Number field. +email_address = Email Address +email_address_for = email address for +enter_email_address = Please enter a value in the Email Address field. +full_name = Full Name +full_name_for = full name for +enter_first_name = Please enter a value in the First Name field. +enter_last_name = Please enter a value in the Last Name field. +first_name = First Name +middle_name = Middle Name +last_name = Last Name From 702890a26f7f54fdef6d070be3bb875b5b9bf843 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Wed, 18 Sep 2013 16:22:09 -0400 Subject: [PATCH 56/66] annotation data migration --- .../WEB-INF/ontologies/update/diff.tab.txt | 2 +- ...opolitical-ver1.1-11-18-11-annotations.rdf | 562 ++ .../isDefinedBy-1.5-annotations.rdf | 33 + .../update/oldAnnotations/placeholder.n3 | 0 .../oldAnnotations/scires-1.5-annotations.rdf | 267 + .../oldAnnotations/vitro-0.7-annotations.rdf | 14 + .../vivo-core-1.5-annotations.rdf | 7018 +++++++++++++++++ .../listViewConfig-hasInvestigatorRole.xml | 30 +- 8 files changed, 7910 insertions(+), 16 deletions(-) create mode 100644 productMods/WEB-INF/ontologies/update/oldAnnotations/geopolitical-ver1.1-11-18-11-annotations.rdf create mode 100644 productMods/WEB-INF/ontologies/update/oldAnnotations/isDefinedBy-1.5-annotations.rdf delete mode 100644 productMods/WEB-INF/ontologies/update/oldAnnotations/placeholder.n3 create mode 100644 productMods/WEB-INF/ontologies/update/oldAnnotations/scires-1.5-annotations.rdf create mode 100644 productMods/WEB-INF/ontologies/update/oldAnnotations/vitro-0.7-annotations.rdf create mode 100644 productMods/WEB-INF/ontologies/update/oldAnnotations/vivo-core-1.5-annotations.rdf diff --git a/productMods/WEB-INF/ontologies/update/diff.tab.txt b/productMods/WEB-INF/ontologies/update/diff.tab.txt index 4dce0349..23aee090 100644 --- a/productMods/WEB-INF/ontologies/update/diff.tab.txt +++ b/productMods/WEB-INF/ontologies/update/diff.tab.txt @@ -1 +1 @@ -http://vivoweb.org/ontology/core#administeredBy complex construct with grant administrator role http://vivoweb.org/ontology/core#administers complex construct with grant administrator role http://vivoweb.org/ontology/core#advisee CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#adviseeIn CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#advisingContributionTo realizedIn? Come back to this. http://vivoweb.org/ontology/core#advisor CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#advisorIn CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#affiliatedOrganization construct Relationship node? http://vivoweb.org/ontology/core#assignedBy patent - come back to this http://vivoweb.org/ontology/core#assignee patent - come back to this http://vivoweb.org/ontology/core#associatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#associatedWithPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#attendeeRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#authorInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardConferred http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#awardConferredBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#awardOrHonor http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardOrHonorFor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#awardsGrant http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#clinicalRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#co-PrincipalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#contributingAdvising come back to this http://vivoweb.org/ontology/core#contributingRole come back to this http://vivoweb.org/ontology/core#courseOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#credentialOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#currentMemberOf http://vivoweb.org/ontology/core#memberOf Yes z http://vivoweb.org/ontology/core#currentlyHeadOf CC or delete? http://vivoweb.org/ontology/core#currentlyHeadedBy CC or delete? http://vivoweb.org/ontology/core#degreeCandidacy revisit http://vivoweb.org/ontology/core#degreeEarned http://purl.obolibrary.org/obo/RO_0002234 Yes z http://vivoweb.org/ontology/core#degreeOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#degreeOutcomeOf http://purl.obolibrary.org/obo/RO_0002353 Yes z http://vivoweb.org/ontology/core#distributes revisit (distributor role?) http://vivoweb.org/ontology/core#distributesFundingFrom revisit http://vivoweb.org/ontology/core#domesticGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#domesticGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#editor CC editorship http://vivoweb.org/ontology/core#editorOf CC editorship http://vivoweb.org/ontology/core#editorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#educationalTraining http://purl.obolibrary.org/obo/RO_0000056 Yes z http://vivoweb.org/ontology/core#educationalTrainingOf http://purl.obolibrary.org/obo/RO_0000057 Yes z http://vivoweb.org/ontology/core#eligibleFor revisit http://vivoweb.org/ontology/core#equipmentInFacility http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#eventWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#geographicLocationOf http://purl.obolibrary.org/obo/RO_0001015 Yes """location of""" http://vivoweb.org/ontology/core#geographicallyContains http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#geographicallyWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#governingAuthorityFor revisit http://vivoweb.org/ontology/core#grantAwardedBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#hasAttendeeRole http://purl.obolibrary.org/obo/RO_0000053 Yes """bearer of""" http://vivoweb.org/ontology/core#hasClinicalRole http://purl.obolibrary.org/obo/RO_0000053 Yes """bearer of""" http://vivoweb.org/ontology/core#hasCo-PrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasCollaborator http://vivoweb.org/ontology/core#relatedBy Yes CC construct Relationship http://vivoweb.org/ontology/core#hasCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#hasCurrentMember revisit - construct relationship? http://vivoweb.org/ontology/core#hasEditorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasGeographicLocation http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#hasGoverningAuthority revisit http://vivoweb.org/ontology/core#hasInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasLeaderRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasMemberRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasOrganizerRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasOutreachProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasPart http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasPredecessorOrganization revisit http://vivoweb.org/ontology/core#hasPresenterRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasPrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasResearcherRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasReviewerRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasRoom http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#hasServiceProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasSubOrganization http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasSuccessorOrganization revisit http://vivoweb.org/ontology/core#hasTeacherRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#inEventSeries http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#includesEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#informationProduct revisit http://vivoweb.org/ontology/core#informationProductOf revisit http://vivoweb.org/ontology/core#informationResourceInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#internationalGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#internationalGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#investigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes """inheres in""" http://vivoweb.org/ontology/core#issuanceOfCredential http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#issuedCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#leaderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#linkedAuthor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#linkedInformationResource http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#locationOfEquipment http://purl.obolibrary.org/obo/RO_0001015 Yes z http://vivoweb.org/ontology/core#mailingAddress VCard http://vivoweb.org/ontology/core#mailingAddressFor VCard http://vivoweb.org/ontology/core#memberRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#offersCourse http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#offersDegree http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#organizationForPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizationForTraining http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#outcome revisit: RO? http://vivoweb.org/ontology/core#outcomeOf revisit: RO? http://vivoweb.org/ontology/core#outreachProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#partOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#personInPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#positionForPerson http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#positionInOrganization http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#presenterRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#principalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#providesService http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#realizedRole http://purl.obolibrary.org/obo/BFO_0000055 Yes """realizes""" http://vivoweb.org/ontology/core#receipt http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#receiptOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#relatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#researcherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#reviewerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleContributesTo http://vivoweb.org/ontology/core#relatedBy Yes may not apply in all situations http://vivoweb.org/ontology/core#roleIn http://purl.obolibrary.org/obo/BFO_0000054 Yes """realized in"" (or delete, since there should be subs?)" http://vivoweb.org/ontology/core#roleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleRealizedIn http://purl.obolibrary.org/obo/BFO_0000054 Yes z http://vivoweb.org/ontology/core#roomWithinBuilding http://purl.obolibrary.org/obo/RO_0001025 Yes double check this http://vivoweb.org/ontology/core#seriesForEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#serviceProvidedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#serviceProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#subGrantOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#subOrganizationWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#teacherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#trainingAtOrganization http://vivoweb.org/ontology/core#relates Yes double check this http://vivoweb.org/ontology/core#EducationalTraining http://vivoweb.org/ontology/core#EducationalProcess Yes z \ No newline at end of file +http://vivoweb.org/ontology/core#administeredBy complex construct with grant administrator role http://vivoweb.org/ontology/core#administers complex construct with grant administrator role http://vivoweb.org/ontology/core#advisee CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#adviseeIn CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#advisingContributionTo realizedIn? Come back to this. http://vivoweb.org/ontology/core#advisor CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#advisorIn CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#affiliatedOrganization construct Relationship node? http://vivoweb.org/ontology/core#assignedBy patent - come back to this http://vivoweb.org/ontology/core#assignee patent - come back to this http://vivoweb.org/ontology/core#associatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#associatedWithPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#attendeeRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#authorInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardConferred http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#awardConferredBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#awardOrHonor http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardOrHonorFor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#awardsGrant http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#clinicalRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#co-PrincipalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#contributingAdvising come back to this http://vivoweb.org/ontology/core#contributingRole come back to this http://vivoweb.org/ontology/core#courseOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#credentialOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#currentMemberOf http://vivoweb.org/ontology/core#memberOf Yes z http://vivoweb.org/ontology/core#currentlyHeadOf CC or delete? http://vivoweb.org/ontology/core#currentlyHeadedBy CC or delete? http://vivoweb.org/ontology/core#degreeCandidacy revisit http://vivoweb.org/ontology/core#degreeEarned http://purl.obolibrary.org/obo/RO_0002234 Yes z http://vivoweb.org/ontology/core#degreeOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#degreeOutcomeOf http://purl.obolibrary.org/obo/RO_0002353 Yes z http://vivoweb.org/ontology/core#distributes revisit (distributor role?) http://vivoweb.org/ontology/core#distributesFundingFrom revisit http://vivoweb.org/ontology/core#domesticGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#domesticGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#editor CC editorship http://vivoweb.org/ontology/core#editorOf CC editorship http://vivoweb.org/ontology/core#editorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#educationalTraining http://purl.obolibrary.org/obo/RO_0000056 Yes z http://vivoweb.org/ontology/core#educationalTrainingOf http://purl.obolibrary.org/obo/RO_0000057 Yes z http://vivoweb.org/ontology/core#eligibleFor revisit http://vivoweb.org/ontology/core#equipmentInFacility http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#eventWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#geographicLocationOf http://purl.obolibrary.org/obo/RO_0001015 Yes """location of""" http://vivoweb.org/ontology/core#geographicallyContains http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#geographicallyWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#governingAuthorityFor revisit http://vivoweb.org/ontology/core#grantAwardedBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#hasAttendeeRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasAttendeeRoleContext http://vivoweb.org/ontology/core#hasClinicalRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasClinicalRoleContext http://vivoweb.org/ontology/core#hasCo-PrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasCo-PrincipalInvestigatorRoleContext http://vivoweb.org/ontology/core#hasCollaborator http://vivoweb.org/ontology/core#relatedBy Yes CC construct Relationship http://vivoweb.org/ontology/core#hasCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#hasCurrentMember revisit - construct relationship? http://vivoweb.org/ontology/core#hasEditorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasEditorRoleContext http://vivoweb.org/ontology/core#hasGeographicLocation http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#hasGoverningAuthority revisit http://vivoweb.org/ontology/core#hasInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasInvestigatorRoleContext http://vivoweb.org/ontology/core#hasLeaderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasLeaderRoleContext http://vivoweb.org/ontology/core#hasMemberRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasMemberRoleContext http://vivoweb.org/ontology/core#hasOrganizerRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasOrganizerRoleContext http://vivoweb.org/ontology/core#hasOutreachProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasOutreachProviderContext http://vivoweb.org/ontology/core#hasPart http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasPredecessorOrganization revisit http://vivoweb.org/ontology/core#hasPresenterRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasPresenterRoleContext http://vivoweb.org/ontology/core#hasPrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasPrincipalInvestigatorRoleContext http://vivoweb.org/ontology/core#hasResearcherRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasResearcherRoleContext http://vivoweb.org/ontology/core#hasReviewerRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasReviewerRoleContext http://vivoweb.org/ontology/core#hasRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasRoom http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#hasServiceProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasServiceProviderRoleContext http://vivoweb.org/ontology/core#hasSubOrganization http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasSuccessorOrganization revisit http://vivoweb.org/ontology/core#hasTeacherRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#inEventSeries http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#includesEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#informationProduct revisit http://vivoweb.org/ontology/core#informationProductOf revisit http://vivoweb.org/ontology/core#informationResourceInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#internationalGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#internationalGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#investigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes """inheres in""" http://vivoweb.org/ontology/core#issuanceOfCredential http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#issuedCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#leaderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#linkedAuthor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#linkedInformationResource http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#locationOfEquipment http://purl.obolibrary.org/obo/RO_0001015 Yes z http://vivoweb.org/ontology/core#mailingAddress VCard http://vivoweb.org/ontology/core#mailingAddressFor VCard http://vivoweb.org/ontology/core#memberRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#offersCourse http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#offersDegree http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#organizationForPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizationForTraining http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#outcome revisit: RO? http://vivoweb.org/ontology/core#outcomeOf revisit: RO? http://vivoweb.org/ontology/core#outreachProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#partOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#personInPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#positionForPerson http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#positionInOrganization http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#presenterRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#principalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#providesService http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#realizedRole http://purl.obolibrary.org/obo/BFO_0000055 Yes """realizes""" http://vivoweb.org/ontology/core#receipt http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#receiptOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#relatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#researcherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#reviewerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleContributesTo http://vivoweb.org/ontology/core#relatedBy Yes may not apply in all situations http://vivoweb.org/ontology/core#roleIn http://purl.obolibrary.org/obo/BFO_0000054 Yes """realized in"" (or delete, since there should be subs?)" http://vivoweb.org/ontology/core#roleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleRealizedIn http://purl.obolibrary.org/obo/BFO_0000054 Yes z http://vivoweb.org/ontology/core#roomWithinBuilding http://purl.obolibrary.org/obo/RO_0001025 Yes double check this http://vivoweb.org/ontology/core#seriesForEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#serviceProvidedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#serviceProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#subGrantOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#subOrganizationWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#teacherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#trainingAtOrganization http://vivoweb.org/ontology/core#relates Yes double check this http://vivoweb.org/ontology/core#EducationalTraining http://vivoweb.org/ontology/core#EducationalProcess Yes z \ No newline at end of file diff --git a/productMods/WEB-INF/ontologies/update/oldAnnotations/geopolitical-ver1.1-11-18-11-annotations.rdf b/productMods/WEB-INF/ontologies/update/oldAnnotations/geopolitical-ver1.1-11-18-11-annotations.rdf new file mode 100644 index 00000000..82cbce85 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldAnnotations/geopolitical-ver1.1-11-18-11-annotations.rdf @@ -0,0 +1,562 @@ + + + hasCoordinate + + + + + + + nameShortFR + + + disputed + -1 + -1 + + + + + -1 + + -1 + area + + + + agriculturalAreaNotes + + + + + + nameListZH + + + + + nameListES + + + + codeFAOTERM + + + + + + + nameListAR + + + populationYear + + + + + + + codeCurrency + + + + nationalityES + + + + nameOfficialRU + + + + + economic_region + -1 + -1 + + + + + codeUNDP + + + + + + + -1 + non_self_governing + -1 + + + + nameShortES + + + + isPredecessorOf + + true + + + + GDPTotalInCurrentPrices + + + + + hasMaxLatitude + + + + + hasStatistics + + + + + other + -1 + -1 + + + + + hasCurrency + + + + + + + GDP + + + + + landArea + + + nameListIT + + + + + countryAreaNotes + + + + + populationUnit + + + + + + + nameCurrencyRU + + + + true + hasBorderWith + + + + landAreaUnit + + + + + + nationalityAR + + + + geo + geopolitical.owl + + + nameCurrencyEN + + + + + + + nameOfficialAR + + + validSince + + + + + isInGroup + true + + + + + + nameListEN + + + + hasCode + + + + + + nameListFR + + + + countryAreaYear + + + + + organization + -1 + -1 + + + + + hasShortName + + + + + codeGAUL + + + + + + + nameListRU + + + populationNotes + + + + + hasMinLongitude + + + + + + nameShortAR + + + + validUntil + + + + + hasMember + true + + + + + hasMinLatitude + + + + + GDPYear + + + + + agriculturalAreaYear + + + + + nameOfficialEN + + + + + -1 + + + -1 + territory + + + agriculturalArea + + + + + nameCurrencyAR + + + + + + + nameOfficialZH + + + GDPNotes + + + + + nationalityZH + + + + + nameOfficialES + + + + + populationTotal + + + + + + + population + + + nationalityFR + + + + + nameCurrencyZH + + + + + + + nameOfficialIT + + + landAreaYear + + + + + + + nationalityIT + + + group + -1 + -1 + + + + + + + nameShortEN + + + + nameCurrencyIT + + + + hasListName + + + + + agriculturalAreaTotal + + + + + landAreaNotes + + + + + hasMaxLongitude + + + + + nameShortRU + + + + + + nationalityEN + + + + + codeISO3 + + + + special_group + -1 + -1 + + + + + countryAreaUnit + + + + + hasOfficialName + + + + + codeDBPediaID + + + + + countryArea + + + + + + nameShortIT + + + + + codeFAOSTAT + + + + nameCurrencyFR + + + + + GDPUnit + + + + + + codeAGROVOC + + + + hasNationality + + + + + nameShortZH + + + + + true + isSuccessorOf + + + + + nameCurrencyES + + + + + countryAreaTotal + + + + + agriculturalAreaUnit + + + + + Transnational Region + + -1 + + + -1 + + + codeISO2 + + + + + + nameOfficialFR + + + + + + nationalityRU + + + + -1 + -1 + self_governing + + + + + codeUN + + + + true + isAdministeredBy + + + + + landAreaTotal + + + + diff --git a/productMods/WEB-INF/ontologies/update/oldAnnotations/isDefinedBy-1.5-annotations.rdf b/productMods/WEB-INF/ontologies/update/oldAnnotations/isDefinedBy-1.5-annotations.rdf new file mode 100644 index 00000000..27938d1f --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldAnnotations/isDefinedBy-1.5-annotations.rdf @@ -0,0 +1,33 @@ + + + is defined by + true + + + + + diff --git a/productMods/WEB-INF/ontologies/update/oldAnnotations/placeholder.n3 b/productMods/WEB-INF/ontologies/update/oldAnnotations/placeholder.n3 deleted file mode 100644 index e69de29b..00000000 diff --git a/productMods/WEB-INF/ontologies/update/oldAnnotations/scires-1.5-annotations.rdf b/productMods/WEB-INF/ontologies/update/oldAnnotations/scires-1.5-annotations.rdf new file mode 100644 index 00000000..4eda8a12 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldAnnotations/scires-1.5-annotations.rdf @@ -0,0 +1,267 @@ + + + Research Resources (eagle-i) + ero + + + Biological Specimen + -1 + -1 + + + + + + study population count + 20 + + + + + + documentation for + true + + + + + + Protocol + + + -1 + 15 + + + + Phase 4 Clinical Trial + 4 + + + -1 + + + + access provided by + true + + + + + Scientific Research + scires + + + Human Study + + -1 + + -1 + + + + Phase 2 Clinical Trial + 5 + + + -1 + + + + Storage Service + + + + 20 + -1 + + + National Clinical Trials (NCT) number + 1 + + 4 + + ClinicalTrials.gov registry number + + + + has documentation + true + + + + + + Production Service + + -1 + + + 20 + + + realizes protocol + true + + + + + Reagent + -1 + -1 + + + + + + Phase 1 Clinical Trial + + 4 + + + -1 + + + Organism + -1 + -1 + + + + + + Clinical Trial + -1 + 1 + + + + + Institutional Review Board (IRB) number + + Institutional Review Board (IRB) number for a Clinical Trial + + + + + Phase 3 Clinical Trial + + + -1 + -1 + + + + Instrument + + + -1 + + 10 + + + provides access to + true + + + + + Phase 0 Clinical Trial + + + -1 + + 6 + + + Research Project + -1 + + -1 + + + + + protocol realized by + true + + + + + Access Service + 20 + + + + -1 + + diff --git a/productMods/WEB-INF/ontologies/update/oldAnnotations/vitro-0.7-annotations.rdf b/productMods/WEB-INF/ontologies/update/oldAnnotations/vitro-0.7-annotations.rdf new file mode 100644 index 00000000..3f9f1cdc --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldAnnotations/vitro-0.7-annotations.rdf @@ -0,0 +1,14 @@ + + + + + moniker (deprecated) + 3 + 100 + This property is deprecated. + + diff --git a/productMods/WEB-INF/ontologies/update/oldAnnotations/vivo-core-1.5-annotations.rdf b/productMods/WEB-INF/ontologies/update/oldAnnotations/vivo-core-1.5-annotations.rdf new file mode 100644 index 00000000..88df4862 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/oldAnnotations/vivo-core-1.5-annotations.rdf @@ -0,0 +1,7018 @@ + + + PubMed Central ID + + + + + + sub grant of + 1 + + 5 + + true + + true + + + NIH Manuscript Submission System ID + + + + + + produced in + + + true + 5 + + + Note + -1 + + -1 + + + + offered by + + + + true + 5 + 4 + + + is this person a corresponding author? + 60 + 1 + + + Indicates whether the author handles correspondence about the work and is in effect the guarantor of the published work. The response is either 'true' or 'false' (without the quotes). + + + + date/time value + false + + 5 + 5 + + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.DateTimeValueFormGenerator + true + + + Academic Term + + + -1 + -1 + + + Case Study + + -1 + + + -1 + + + section + + + + A section number + + + Seminar Series + + + -1 + + -1 + + + supplemental information + + + Allows for the entry of additional information, such as additional information describing educational background. + + 3 + 40 + + + populationYear + + + + + isReferencedBy + isReferencedBy + true + + A related resource that references, cites, or otherwise points to the described resource. This relates a resource to the resource that cited it. + true + + + + + nationalityES + + + + + interviewer + interviewer + true + + + + true + An agent that interview another agent. + + + chapter + + + + A chapter number. NOT to be used for the chapter title, which should be entered in the "name" field instead (the field in bold at the top of the page) + 50 + + + Student + + + -1 + -1 + + + codeUNDP + + + + + non_self_governing + + + -1 + -1 + + + relevant activity + true + + + Relates an organization to a specific award receipt or distinction it has conferred + true + award or honor given + 72 + 5 + + + + FOAF + foaf + + + assignee for + true + + 5 + + true + 5 + + + Company + 2 + + 2 + + + + + GDPTotalInCurrentPrices + + + + + hasMaxLatitude + + + + + Date/Time Interval + + + true + 4 + 4 + + + Non-Academic Position + + -1 + -1 + + true + + + other + + + -1 + -1 + + + sici + + + The Serial Item and Contribution Identifier (SICI) is a code (ANSI/NISO standard Z39.56) used to uniquely identify specific volumes, articles or other identifiable parts of a periodical. + + + + Licensure + + + 5 + 5 + + + + place of publication + + + City in which the publication was done. + + 1 + 55 + + + address line 1 + + + + 10 + + + offers degree + offers degree + This relates an organization to the academic degrees offered. + + 5 + + 60 + true + + + + collaborator + 5 + Use for a simple assertion that a person or organization is your collaborator; to describe the relationship in more detail enter a role for each collaborator in some common endeavor. + true + + + 60 + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AutocompleteObjectPropertyFormGenerator + + + + Patent + + -1 + + + -1 + + + Government Agency + -1 + + + + -1 + + + narrower term + true + narrower term + true + This relates a term that is narrower in meaning (i.e. more specific) to another term that is broader in meaning, where the scope (meaning) of narrower term falls completely within the scope of the broader term. + 50 + + + 5 + + + co-principal investigator role of + 50 + + + + 5 + true + + + affliliated organization + + + 40 + true + 5 + true + + + + SKOS (Simple Knowledge Organization System) + skos + + + geopolitical.owl + geo + + + based_near + A location that something is based near, for some broadly human notion of near. + + true + + true + based_near + + + + Screenplay + + + -1 + -1 + + + License + + 5 + + + 5 + + + product + + + true + 5 + + + nameOfficialAR + + + + + validSince + + + + + administered by + Relates the grant to the organization that administers the grant. This is normally the department of the principal investigator. + + + true + administered by + + true + + + Person + + individual--foaf-person.ftl + + + -1 + -1 + + + isInGroup + + + true + + + Editorial Article + + + + -1 + -1 + + + start page + + + Starting page number within a continuous page range. + + 40 + 1 + + + ORCID id + 10 + + 2 + + + ORCID (Open Researcher and Contributor ID) is a proposed nonproprietary alphanumeric code that would uniquely identify scientific and other academic authors. + + + has facility + true + 5 + true + has facility + + + + This relates something to a facility that it owns or runs. + + + publisher + true + + + An entity responsible for making the resource available. + + true + publisher + + + nameListFR + + + + + true + desc + + 15 + 20 + awards and honors + + awards and distinctions + This relates a person to an award or honor that they received. + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasAwardOrHonorGenerator + + true + + + countryAreaYear + + + + + organization + + + -1 + -1 + + + Slideshow + -1 + + + -1 + + + report identifier + 1 + 20 + + + + Unique identifier for a Report (a type of information resource). + + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddEditorRoleToPersonGenerator + 2 + + + 5 + + true + true + use this property to record editorial management or oversight responsibilities for a collection or a series such as a journal. + collection or series editor for + + + equipment for + + 5 + This relates equipment to the organization that owns the equipment. + true + equipment for + + true + + + + geographic focus + true + 70 + + 5 + true + + + + + codeGAUL + + + + + name prefix + + 1 + + A title placed before a person's name. + 32 + + + + Dublin Core elements + dcelem + + + attended + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddAttendeeRoleToPersonGenerator + 5 + + true + true + + 1 + + + hasMinLongitude + + + + + nameShortAR + + + + + Bibliographic Information Source + + 5 + 5 + + + + Academic Department + + + -1 + + -1 + + + Manuscript + + + -1 + -1 + + + ISI researcher id + 2 + + The identification number given to the profile created by a researcher in ResearcherID (http://isiwebofknowledge.com/researcherid/). + + 20 + + + + Presentation + + + + -1 + -1 + + + has part + 99 + true + + + true + has part + 5 + + + published in + 5 + + + 60 + + true + true + + + Non-Faculty Academic + + + + -1 + -1 + + + Excerpt + -1 + -1 + + + + + + 40 + true + 5 + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasAdvisingRelationshipGenerator + advisees + true + true + + + + + annotates + + true + annotates + + Critical or explanatory note for a Document. + true + + + + Subnational Region + -1 + -1 + + + + + territory + -1 + + + -1 + + + Grant + + + + -1 + -1 + + + Score + + + -1 + -1 + + + nameOfficialZH + + + + + reversedBy + reversedBy + + true + + true + + A legal decision that reverses a ruling. This relates the legal decision to the legal decision that reversed it. + + + major field of degree + + + 50 + Major subject focus of the degree being described in an educational background. + + 3 + + + isVersionOf + + true + 30 + + isVersionOf + true + + + + GDPNotes + + + + + receipts + + + true + 5 + + + nameOfficialES + + + + + research area of + true + + 10 + + + 5 + true + + + populationTotal + + + + + upc + + + The Universal Product Code (UPC) is a barcode symbology (i.e., a specific type of barcode), that is widely used in Canada and the United States for tracking trade items in stores. + + + + The core:webpage relates to an intermediate node (of type core:URLLink) that allows specifying the homepage URL as a literal, as well as a human-readable label ("anchor text") for the link. + 5 + + webpage + + true + 40 + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.ManageWebpagesForIndividualGenerator + true + webpage + + + Faculty Member + -1 + -1 + + + + + + nationalityFR + + + + + hide from display + + + 100 + + + concept for + + true + + true + 5 + 20 + + + nameOfficialIT + + + + + role in + + + true + 5 + + + Competition + + + -1 + -1 + + + + reproduces + 5 + true + + + + 60 + + + investigator on + true + + true + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddGrantRoleToPersonGenerator + 60 + + 5 + + + Faculty Member Emeritus + + + + -1 + -1 + + + Video + + + + -1 + -1 + + + Issue + + -1 + + -1 + + + + issued + 5 + 8 + + + Research Proposal + + + + -1 + -1 + + + File + + + -1 + -1 + + + director + + + This relates an entity to a Film director. + true + director + + true + + + Academic Year + + + -1 + -1 + + + + This relates an award or honor to the person who received the award or honor. + + award or distinction for + true + award or honor for + 20 + true + 5 + + + + nameShortRU + + + + + room within building + Relates a room to the building that contains the room. + true + true + building + 5 + + + + + + Course + -1 + -1 + + + + + + Event Ontology + event + + + Vitro internals + + + codeISO3 + + + + + Magazine + + -1 + -1 + + + + moniker (deprecated) + + + 3 + 100 + + + Address + + -1 + + -1 + + + + Librarian Position + + -1 + + -1 + true + + + address line 2 + + + + 10 + + + nameShortIT + + + + + Internship + + + 10 + 10 + + + codeFAOSTAT + + + + + Attendee Role + + + true + -1 + -1 + + + Relates a component of something to the whole thing. + 99 + + part of + + + part of + 5 + true + true + + + geographic location of + + 5 + 60 + This relates a geographic location to something within that geographic location, for example, an organization within that geographic location. + + + true + nearestGeographicLocationFor + + + Editor Role + + + 2 + 2 + + + News Release + + + + -1 + -1 + + + 5 + true + true + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddHeadOfRoleToPersonGenerator + + true + 30 + head of + + + + codeISO2 + + + + + nameOfficialFR + + + + + equipmentInFacility + Relates the equipment to the facility that contains that equipment. + true + + true + 5 + 40 + in facility + + + + + Library of Congress Control Number (LCCN) + + The Library of Congress Control Number or LCCN is a serially based system of numbering cataloging records in the Library of Congress in the United States. + + + + + Authorship + + true + + -1 + -1 + + + Workshop + + + + -1 + -1 + + + address line 3 + + + + 10 + + + co-principal investigator on + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddGrantRoleToPersonGenerator + 5 + true + true + + 50 + + + + false + defaultLinkForm.jsp + true + + + contributes to + + + true + 5 + + + PubMed Identifier + 10 + 1 + A PMID (PubMed Identifier or PubMed Unique Identifier) is a unique number assigned to each PubMed citation of life sciences and biomedical scientific journal articles. + + + + + + Group + -1 + -1 + + + + + + Film + -1 + + -1 + + + + + Consortium + -1 + + + + -1 + + + provided by + + true + 5 + 10 + true + + Links a service to the provider of the service. + serviceProvidedBy + + + + Chapter + + + -1 + + -1 + + + Periodical + -1 + -1 + + + + + Committee + + + -1 + + -1 + + + disputed + + + -1 + -1 + + + Standard + + -1 + + -1 + + + Legal Document + + -1 + -1 + + + + direct costs + 1 + 61 + + + + This is the cost associated with the grant activity, and should not include any indirect cost associated with administering the grant. + + + supported by + 5 + + + relevant organization + 15 + true + 21 + award conferred by + + Indicates the organization conferring the award -- perhaps different from the sponsor of the award + + true + + + + nameListES + + + + + Continent + -1 + + + + -1 + + + postal code + A code of letters and digits added to a postal address to aid in the sorting of mail. + + + 1 + 50 + + + + Core Laboratory + + + + -1 + -1 + + + relation + A related resource. Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system. + + true + relation + true + + + + + US Postal Address + -1 + + + -1 + + + + related role + + true + + true + 5 + + + + + broader term + broader term + true + This relates a term that is broader in meaning (i.e. more general) to another term that is narrower in meaning, where the scope (meaning) of narrower term falls completely within the scope of the broader term. + + + 50 + 5 + true + + + Leader Role + -1 + + + -1 + true + + + most specific type + + + 1 + 1 + + + nameOfficialRU + + + + + true + + educational organization + desc + 20 + + + 5 + true + This relates an instance of Educational Training to the Organization that provided the training. + + + features + 5 + true + 60 + features + + + + This relates an information resource to a person it features. + + + Webpage + + -1 + + + -1 + + + Investigator Role + + + true + -1 + -1 + + + + + has sub-organization + true + 10 + Relates an organization to the sub-organization that it contains. + true + + hasSubOrganization + true + 5 + + + includes event + + 5 + true + true + + + + + featured in + true + + This relates a person to an information resource that contains a featured article on that person. + true + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AutocompleteObjectPropertyFormGenerator + 5 + + featuredIn + + 50 + + + Certification + 2 + + 2 + + + + + Book Section + + -1 + + -1 + + + department or school name within institution + 3 + 40 + + + Name of department or school name used when describing educational background. + + + + provides service + This relates something to the service it provides. + + 5 + true + + + 10 + providesService + + + Clinical Role + + + true + -1 + -1 + + + true + true + 5 + offered by + offered by + + 60 + + + This relates an academic degree to the organization offering the degree. + + + hasCurrency + + + + + + 5 + 10 + + presenter role of + true + + Relates a person to their presentation activity. + presentationActivityBy + true + + + landArea + + + + + event within + true + + 5 + true + + + + + countryAreaNotes + + + + + court + true + Relates a legal document with an organization. Bibo definition is: "A court associated with a legal document; for example, that which issues a decision." + + + true + court + + + + Peer Reviewer Role + -1 + + true + -1 + + + + Extension Unit + -1 + + -1 + + + + + Interview + + + -1 + -1 + + + + 70 + The foaf definition is as follows - Distributor of a document or a collection of documents. However, in VIVO, this can relate anything as the distributor to anything else. + distributor + + 5 + true + true + distributor + + + + + nameCurrencyRU + + + + + eligible for + 2 + + 5 + + + true + true + + + principal investigator role of + + + true + 5 + + 40 + + + Agreement + + + -1 + -1 + + + + has global count date + + 5 + + + 5 + + + Museum + + -1 + + + -1 + + + associated concept + + true + 20 + + 5 + true + + + + affirmedBy + + true + true + + + affirmedBy + A legal decision that affirms a ruling. + + + Legal Case Document + + -1 + + -1 + + + state or province + + + 30 + 1 + One of a number of areas or communities having their own governments and forming a federation under a sovereign government, as in the US. + + + + domestic geographic focus of + + + + true + domesticGeographicFocusOf + 20 + 5 + true + + + nameCurrencyEN + + + + + Service Providing Lab + + -1 + + + -1 + + + listed author for + 5 + + + Facility + -1 + -1 + + + + + + expiration date + + true + + 6 + 5 + + false + + + Meeting + + + + -1 + -1 + + + assignee + true + the individual or entity to whom ownership of the published application was assigned at the time of publication. + true + 5 + 5 + + + + + + offers + + + + true + 5 + 4 + + + translator + true + + true + 55 + This relates an information resource to the translator of the written document from one language to another. + + + 5 + translator + + + associated with position + true + 5 + + + + + + true + true + desc + 40 + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasPositionHistoryGenerator + + + This relates a person to their position information. + true + positions + 5 + current positions + + + Blog + + -1 + + -1 + + + offers course + true + + true + + 5 + 5 + + + related documents + true + 200 + Relates an event to associated documents; for example, conference to a paper. + + presentations + + + true + + + distributes funding from + true + + distributes funding from + true + 5 + Indicates the organization that distributes funding from another organization. For example, indicates the source of flow-through funding. + + + + + advisee in + 5 + + + + true + 30 + true + + + hasShortName + + + + + cited by + 4 + + true + + + true + 5 + + + Manual + + -1 + -1 + + + + true + 1 + geographicallyContains + Relates a geographic location with the geographic locations that it contains. + + geographically contains + 5 + + true + + + + Comment + 5 + + + 5 + + + + Transnational Region + -1 + -1 + + + + + 5 + true + + + linked author + true + + linked author + 1 + This relates authorship information to a agent who/that owns the authorship information. + + + Populated Place + + + + -1 + -1 + + + term label + + + + 1 + + + degree outcome of + This relates an academic degree to a person's educational background. + + + 10 + + 5 + awarded to + true + + + related + 5 + + related + true + This indicates when a term is related to another term in the same vocabulary. + + true + 60 + + + Faculty Administrative Position + + true + -1 + + -1 + + + leadership role of + + 5 + + + true + 30 + + + Equipment + -1 + + -1 + + + + + abbreviation + + + 1 + 11 + + + locator + + + A description (often numeric) that locates an item within a containing document or collection. + + + + Article + + + + + + Undergraduate Advising Relationship + + + 1 + 1 + + + Position + true + -1 + + -1 + + + + GDPYear + + + + + Non-Academic + + + + -1 + -1 + + + Postdoc or Fellow Advising Relationship + + + 1 + 1 + + + governing authority for + 5 + 8 + + + related degree + degree + The thesis degree. + true + + + + true + + + Laboratory + -1 + + + -1 + + + + participant + + + true + 5 + + + local award id + + + 1 + An institution's local identifier assigned to a grant awarded. + 60 + + + + reviewer role of + 5 + 2 + + + Issued Credential + 2 + 2 + + + + true + + + true + use this property to record editorial work performed for a document, such as a book, an academic article or a conference paper. + + true + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AutocompleteObjectPropertyFormGenerator + editor of + 20 + + + 5 + + + agriculturalAreaYear + + + + + true + service to the profession + + + true + hasProfessionalActivity + true + 20 + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddServiceProviderRoleToPersonGenerator + 5 + This relates a person or organization to a role they provide in delivering a service within a professional environment, such as conference organization, grant proposal review, or providing research support services. + + + fax + + + Please enter the complete phone number for your fax, with area code and also country code (if outside the US). + + 4 + 70 + + + provides funding through + 5 + + + true + Relates an organization to the organization through which it provides its funding. + provides funding through + + true + + + International Classification (ICL) code + The International classification(s) to which the published application has been assigned. + + 1 + 5 + + + + + + presented at + true + + presentedAt + + + Relates a document to an event; for example, a paper to a conference. + 200 + true + + + Geographic Location + + + + -1 + -1 + + + agriculturalArea + + + + + + + true + publisher of + Relates an entity that is engaged in publishing printed or online material to the material itself. + 51 + + true + 5 + publisher of + + + contributing advising relationship + 5 + 50 + true + + + true + + + + nameCurrencyAR + + + + + end + true + + 99 + 1 + false + + + + interviewee + interviewee + + true + + true + + An agent that is interviewed by another agent. + + + has role + true + true + 60 + This relates a person to a role they play. + hasActivityDescription + + + 5 + + + presentationActivity + true + + 20 + presentations + + This relates a person to a description of their presentation activity. + true + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddPresenterRoleToPersonGenerator + true + + 5 + + + Teacher Role + + + true + -1 + -1 + + + research overview + + 1 + + + 10 + + + Concept + + + + -1 + 35 + + + Researcher Role + true + -1 + + + -1 + + + transcript of + + true + + true + + transcriptOf + Relates a document to some transcribed original. + + + population + + + + + facility for + + 5 + + facility for + This relates a facility as being used for something, e.g. for a particular service. + true + + + + Dataset + + + -1 + -1 + + + issuer + + An entity responsible for issuing often informally published documents such as press releases, reports, etc. + true + issuer + + true + + + + Software + -1 + + + -1 + + + + Contract + + + + -1 + -1 + + + start + 1 + the start of a time interval. + false + 80 + true + + + + + group + + + -1 + -1 + + + false + has author entry + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddAuthorsToInformationResourceGenerator + true + + authors + 5 + true + Relates information resources to information about its authors. Information about the authors would include, but is not limited to, the author's rank in the list of authors and whether or not that author was a corresponding author. + 10 + + + author rank in publication + 3 + A number only, (e.g. 1, 2, etc.), that reflects the order of this author in the publication's author list. + 1 + + + + + + + + + Vitro Public Ontology + Vitro Public Ontology + Vitro public constructs + vitro-public + + + Research Opportunity + + + -1 + + -1 + + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasEducationalTraining + 10 + true + true + true + education and training + educational background + + 5 + This relates a person to the description of their educational training. + + + + + Hearing + + -1 + + + -1 + + + International Standard Book Number (ISBN) 10 + + + + 10 + 1 + The International Standard Book Number (ISBN) is a unique[1][2] numeric commercial book identifier based upon the 9-digit Standard Book Numbering (SBN) code created by Gordon Foster. The 10-digit ISBN format was developed by the International Organization for Standardization and was published in 1970 as international standard ISO 2108. + + + Online Computer Library Center (OCLC) number + + 1 + An oclcnum is a sequential accession number assigned by OCLC as bibliographic records are entered into OCLC WorldCat (the OCLC Online Union Catalog). + 1 + + + + + Medical Residency + + + 10 + 10 + + + Brief + + -1 + -1 + + + + nameShortEN + + + + + Date/Time Value + + + true + -1 + -1 + + + reproduced in + 5 + true + 60 + true + + + + + + has global count source + true + 5 + true + + + + 5 + + + nameCurrencyIT + + + + + hasListName + + + + + asin + + + The Amazon Standard Identification Number (ASIN) is a unique identification number assigned by Amazon.com and its partners for product identification within the Amazon.com organization. + + + + name suffix + If applicable, please enter the preferred name suffix. Only one may be entered. + + + 34 + + 1 + + + outreach overview + + Please enter a single summary narrative of your outreach goals and/or contributions + + + 10 + 1 + + + Service Provider Role + -1 + + -1 + true + + + + administers grant + true + + + true + administers + Relates the grant to the organization that administers the grant. This is normally the department of the principal investigator. + + + + Member Role + + + true + -1 + -1 + + + Bibontology + bibo + + + special_group + + + -1 + -1 + + + countryAreaUnit + + + + + successor organization + + + 5 + true + true + 60 + + + + Librarian + + + + -1 + -1 + + + role in + + true + + true + 5 + + + nameCurrencyFR + + + + + author as listed + 90 + true + + + 5 + + + prerequisite for + + + prerequisite for + 5 + true + + 40 + + + International Standard Book Number (ISBN) 13 + 11 + + The International Standard Book Number (ISBN) is a unique[1][2] numeric commercial book identifier based upon the 9-digit Standard Book Numbering (SBN) code created by Gordon Foster.Since 1 January 2007, ISBNs have contained 13 digits, a format that is compatible with Bookland EAN-13s. + + + 1 + + + Published US Classification Class/Subclass (CCL) code + + + The original and cross-reference US Classification(s) to which the published application was assigned at the time of publication -- includes both primary and secondary class information. + + 1 + 5 + + + hasNationality + + + + + governing authority + 8 + + true + + + true + 5 + + + Invited Talk + + + + -1 + -1 + + + URI + + + 1 + + Universal Resource Identifier of a document. + 30 + + + Document + + + -1 + -1 + + + translator of + This relates something as the translator of an information resource. + 5 + translatorOf + + + 30 + true + + + grant awarded by + true + + true + This relates a grant to the organization that awarded that grant. + funded by + + + + + location of equipment + true + 40 + This relates a facility to the equipment it houses. + locationOfEquipment + + 5 + + + + nameCurrencyES + + + + + Academic Article + + + + -1 + -1 + + + countryAreaTotal + + + + + Reference Source + -1 + + + -1 + + + funding provided via + + + true + 5 + + + This relates an organization to the person's position(s) within that organization. + + 15 + + employer having employment + true + people + desc + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.OrganizationHasPositionHistoryGenerator + true + + true + + + Transnational Region + + -1 + + + -1 + + + EAN International-Uniform Code Council (EAN-UCC) 13 + EAN International-Uniform Code Council (EAN-UCC) was a supply chain standards family name, formally the EAN.UCC System, that included product barcodes which are printed on the great majority of products available in stores worldwide and electronic commerce standards. + + + + + + nationalityRU + + + + + has current member + true + + This relates a group to its members. + + has member + + true + + + Edited Book + + + -1 + + -1 + + + + true + Digital Object Identifier (DOI) + 1 + + The Digital Object Identifier (DOI) System provides for persistent identification of content objects in the digital environment. "DOI names are assigned to any entity for use on digital networks. They are used to provide current information, including where they (or information about them) can be found on the Internet. Information about a digital object may change over time, including where to find it, but its DOI name will not change." + 1 + + doi + true + + + Geopolitical Entity + + -1 + -1 + + + + short description + + + An account of the resource. + + + + isAdministeredBy + true + + + + + sponsors award or honor + + + 5 + true + + 71 + true + + + Room + -1 + + + -1 + + + + eRA Commons id + + + + 15 + + + volume + A volume number. + 1 + + + + 20 + + + abstract + + 1 + + A summary of the resource. + + 59 + + + School + + -1 + -1 + + + + + Principal Investigator Role + + + true + -1 + -1 + + + nameShortFR + + + + + area + -1 + + -1 + + + + codeFAOTERM + + + + + seriesForEvent + + + + true + true + 5 + + + award sponsored by + true + + + true + 20 + + 5 + + + Review + + + + -1 + -1 + + + codeCurrency + + + + + Global Citation Count + + + 5 + 5 + + + credits + + + Number of credits assigned a course by an learning institution. + 1 + 50 + + + issue + 21 + + 1 + + + + + + true + true + 50 + has translation + + 5 + Relates an original documents to a translation of that document. + + has translation + + + investigator role of + + + 60 + 5 + + true + + + University + + -1 + + + -1 + + + number + 1 + + 30 + + A generic item or document number. Not to be confused with issue number. A barcode, perhaps? + + + + Location + + + -1 + -1 + + + College + + + -1 + + -1 + + + nameShortES + + + + + isVersionOf + A related resource of which the described resource is a version, edition, or adaptation. Changes in version imply substantive changes in content rather than differences in format. + + true + isVersionOf + + + true + + + Working Paper + + + -1 + + -1 + + + hasStatistics + + + + + date issued + + + true + 4 + false + 5 + The date the patent was issued. + + + + GDP + + + + + + true + 5 + true + activityDescriptionFor + Relates a person to a role they play. + + 1 + role of + + + + populationUnit + + + + + teaching overview + + 1 + + + 10 + Please enter a single narrative summary description of your teaching activities, goals, and/or experience + + + 40 + 20 + 5 + Select a publication, patent or other type of information resource that has been produced as a result of this endeavor. + true + produces + + + true + + true + + + rank + + + enter the position in the list that you would like this item displayed + + + International Standard Serial Number (ISSN) + An International Standard Serial Number (ISSN) is a unique eight-digit number used to identify a periodical publication. + + + + + + patent number + + Unique number assigned to a patent application when the United States Patent and Trademark Office issues as a patent. + + + 1 + 1 + + + supports + + + true + 5 + + + 5 + true + This relates a person to a description of their teaching role, usually associated with an Event, Process, or Organization. These teaching roles can include courses previously taught, educational tutorials or workshops given, as well as activities related to enhancing teaching, such as developing a new course. Use core:teaches for the direct relationship between a Person and a Semester Class (usually imported from a system of record). + true + + hasTeachingActivity + true + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddTeacherRoleToPersonGenerator + 20 + + teaching activities + + + + Newspaper + -1 + + -1 + + + + Journal + + -1 + -1 + + + + + clinical role of + + true + 70 + 5 + + + + + nationalityAR + + + + + Court Reporter + + -1 + -1 + + + + false + defaultLinkForm.jsp + true + + + Presenter Role + -1 + + -1 + + true + + + Primary Position + 5 + 5 + + + + + contact information + + + The contact information for a particular event. This could be a name, email, phone number, or method(s) of contacting someone to gain information about the event. + + 1 + 50 + + + nameListEN + + + + + overview + + + + 10 + 1 + A short narrative summary to be used as a single descriptive overview statement. + + + description + + + An account of the resource. + + 3 + 30 + + + Information Resource + + -1 + + -1 + + + primary phone + + + + 1 + 60 + + + editor + + 5 + true + + 20 + true + + + + hasCode + + + + + has global count value + + + + + + Award or Honor + + + + 1 + 1 + + + true + outreach and community service + This relates a person or an organization to a role they perform in outreach or community service, as distinct from service to the profession + + true + 30 + true + + 5 + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddOutreachProviderRoleToPersonGenerator + + hasOutreachActivity + + + subcontracted through + + + + grantSubcontractedThrough + 60 + This relates a grant to the organization awarding the sub-contract for the grant. + 5 + true + + + + webpageOf + + 40 + true + webpageOf + true + 5 + The core:webpage relates to an intermediate node (of type core:URLLink) that allows specifying the homepage URL as a literal, as well as a human-readable label ("anchor text") for the link. + + + + first name + The legal first name of a person as indicated in data loaded most likely from their institution. Only 1 first name can be displayed for each individual. + + 1 + + 10 + + + + Service + + -1 + + -1 + + + + receipt of + + 5 + true + + + true + + + identifier + + + A parent property for institutional and other identifiers. This data property is not seen or updated by anyone. + + 1 + 1 + + + populationNotes + + + + + product of + true + + 40 + true + 5 + + + + current member of + true + + + A person's formal or informal affiliation with a group. + + member of + true + + + Campus + -1 + -1 + + + + + + recipient + + true + + recipient + + true + This relates a communication document to the agent who receives that communication document. + + + Event Series + -1 + + -1 + + + + true + This relates a person's educational training to the person. + educational background of + 5 + + true + 10 + + + education or training of + + + Building + -1 + -1 + + + + + + has subject area + true + + 20 + 5 + + true + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddAssociatedConceptGenerator + + + attendee role of + 5 + true + 1 + + true + + + + Slide + -1 + -1 + + + + + total award amount + This includes the direct cost being used for the grant activity plus indirect costs associated with administering the grant. + + 1 + + 60 + + + + + 80 + true + + true + 5 + This relates an agent to their mailing address. + mailing address + mailingAddress + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.PersonHasMailingAddressGenerator + + + Code + -1 + -1 + + + + + linked information resource + linked information resource + Relates information about its authors to the information resource that was created by the authors. Information about the authors would include, but is not limited to, the author's rank in the list of authors and whether or not that author was a corresponding author. + + + + true + 5 + 10 + true + + + geographic focus of + + 20 + true + 5 + + + + + keywords + + 56 + Intended for a word or short phrase only where no instance of a controlled vocabulary can be identified. Can also be used to help in highlighting subtle difference in work. + 10 + + + + Library + + -1 + + + -1 + + + true + + international geographic focus of + This relates a specific international geographic region to something. + 5 + + + 30 + true + true + geographic focus of + + + outcome of + + + true + 5 + + + Performance + + + -1 + -1 + + + + identifier + + + Unique identifier of a document or collection. This data property is not seen or updated by anyone. + + 1 + 1 + + + Credential + + + + 5 + 5 + + + reviewOf + + 60 + + true + + Relates a review document to a reviewed thing (resource, item, etc.). + true + 5 + review of + + + supported by + 5 + true + true + + + + + Letter + 3 + + + + 15 + + + nameCurrencyZH + + + + + distributes + + 70 + true + This can relate anything to the thing it distributes. The inverse of this is distributor and the foaf definition for distributor is as follows - Distributor of a document or a collection of documents. + 5 + distributes + + + + + advising contribution to + + + 50 + + true + 5 + + + + 70 + clinical activities + 5 + true + true + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddClinicalRoleToPersonGenerator + true + + + + Educational Training + -1 + -1 + + + + + Conference Paper + + -1 + -1 + + + + + landAreaYear + + + + + Website + + -1 + + + -1 + + + nationalityIT + + + + + phone + + + Please enter your complete phone number, with country code if outside the U.S. and Canada + + 10 + 60 + + + preferredNamespacePrefix + + + A prefix to be used, instead of the full namespace URI, use when indicating terms from the specified vocabulary. + + + Collected Document + + -1 + + -1 + + + Relationship + + + -1 + -1 + + + email + + + + 9 + 1 + + + provenance support + pvs + + + Division + -1 + + + -1 + + + + Erratum + + + + 5 + 5 + + + outcome + + + true + 5 + + + Newsletter + -1 + + + + -1 + + + Agent + + -1 + -1 + + + + reviewed in + + + Relates something to the review of that thing. + 5 + 60 + true + reviewedIn + + + city + 1 + 20 + An incorporated municipality, usually governed by a mayor and a board of aldermen or councilmen. + + + + + + contributor + + + 5 + true + + + + Clinical Organization + -1 + + + -1 + + + + Team + + -1 + -1 + + + + + issuance of + true + + 8 + + 5 + + true + + + + Relates a person to a professional service role they hold. + 5 + true + 20 + professionalActivityBy + + service provider role of + + true + + + Program + -1 + + + + -1 + + + Thesis Degree + + -1 + + -1 + + + Hospital + -1 + + + -1 + + + + Person As Listed + + + 1 + 90 + + + Center + -1 + -1 + + + + + + countryArea + + + + + Date/Time Value Precision + + + -1 + -1 + + + Graduate Advising Relationship + + + 1 + 1 + + + preferred title + + Enter the title you would prefer to use. This would be different from, and in addition to, your HR job title. + + 10 + 1 + + + + Thesis + + + -1 + + -1 + + + 5 + true + true + + + This relates the proceedings to the conference that produced the proceedings. + proceedingsOf + + 30 + proceedings of + + + Graduate Student + + + + -1 + -1 + + + publication venue for + + + true + 5 + 60 + + + codeAGROVOC + + + + + contributor + contributor + An entity responsible for making contributions to the resource. Examples of a Contributor include a person, an organization, or a service. Typically, the name of a Contributor should be used to indicate the entity. + + + true + true + + + + isSuccessorOf + true + + + + + Role + + + -1 + -1 + true + + + agriculturalAreaUnit + + + + + agent + 5 + + agent + true + Upper level property that is not displayed or updated by anyone. Sub-object properties of this one should be used. + true + + + + + date/time precision + + + true + 5 + 5 + + + + 11 + 5 + + true + organization within + true + + Relates an sub-organization to the organization that contains it. + subOrganizationWithin + + + teacher role of + + teachingActivityBy + true + 20 + 5 + + + + + link anchor text + + + Used to provide a visible, clickable text to a hyperlink in VIVO. + + + + Research Organization + + + + -1 + -1 + + + Map + + + -1 + -1 + + + self_governing + + -1 + -1 + + + + Database + -1 + + + -1 + + + + has prerequisite + + + hasPrerequisite + true + + + valid in + + true + + true + 5 + 2 + + + Translation + + + -1 + -1 + + + HR job title + 3 + + A specific designation of a post within a human resource organization, normally associated with a job description that details the tasks and responsibilities that go with it. + + + 9 + + + landAreaTotal + + + + + Conference + + + -1 + + -1 + + + outreach provider role of + + true + 5 + + Relates a person to an outreach role they hold. + 30 + outreachActivityBy + + + + research areas + + true + true + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddAssociatedConceptGenerator + 5 + 10 + + + + Department + + -1 + + + -1 + + + hasCoordinate + + + + + preferredNamespaceUri + + + The full URI for the namespace. + + + Report + + + -1 + + -1 + + + agriculturalAreaNotes + + + + + nameListZH + + + + + F1000 Link + + + 5 + 6 + + + nameListAR + + + + + Blog Posting + + + + -1 + -1 + + + Collection + + -1 + -1 + + + + Private Company + + + -1 + -1 + + + + Document Status + -1 + + -1 + + + + has sub grant + true + + true + + 5 + 1 + + + + subject area for + true + true + + 5 + 20 + + + + + date/time interval + 5 + true + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.DateTimeIntervalFormGenerator + + + + true + 5 + + + selected publications + true + + true + false + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddPublicationToPersonGenerator + 5 + 1 + true + + has authorship + + This relates a person to their authorship information. + + + Academic Degree + + + -1 + -1 + + + principal investigator on + + 5 + true + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddGrantRoleToPersonGenerator + + + 40 + true + + + Legislation + -1 + + + -1 + + + credentials + 5 + + true + true + + + 6 + + + economic_region + + + -1 + -1 + + + State Or Province + + + -1 + + -1 + + + Reviewer Role + -1 + -1 + + true + + + + is defined by + + + + true + + + end page + + + 50 + + 1 + Ending page number within a continuous page range. + + + + hasResearchActivity + 5 + 30 + + Use to represent any research-related role in an activity -- typically a Process such as a Project -- or for a general statement about research, not necessarily linked to anything but the person. + research activities + true + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddResearcherRoleToPersonGenerator + true + true + + + position for person + + + + true + 40 + This relates a person's position information to the person themselves. + involves employee + true + + + currently headed by + + + 5 + true + 20 + true + + + + Audio Document + + + + -1 + -1 + + + isPredecessorOf + + true + + + + Librarian Emeritus + + + + -1 + -1 + + + Decision + + + -1 + -1 + + + in event series + + true + + + true + 5 + + + has global citation frequency + + true + + + true + 5 + 5 + + + Professor Emeritus + + -1 + + + -1 + + + nameListIT + + + + + cites + + true + 5 + true + + 4 + + + + subcontractsGrant + 5 + + true + subcontracts grant + + This relates the agency, entity or individual awarding the sub-contract for a grant to the grant itself. + + 62 + true + + + Audio-Visual Document + + -1 + + -1 + + + Country + + + + -1 + -1 + + + Geographic Region + + -1 + -1 + + + + + Conference Series + + + -1 + + -1 + + + Speech + + + + -1 + 5 + + + Undergraduate Student + + + + -1 + -1 + + + true + translation of + + Relates a translated document to the original document. + translation of + true + 5 + 50 + + + + + last name + + + The legal last name of a person as indicated in data loaded most likely from their institution. Only 1 last name can be displayed for each individual. + 1 + + 30 + + + Quote + -1 + + -1 + + + + domesticGeographicFocus + + true + 5 + + true + domestic geographic focus + + 70 + true + + + FileByteStream + + + -1 + -1 + + + hasBorderWith + + true + + + + performer + This relates a performance to the person who or organization that carries out the performance. + + true + performer + true + + + + + Non-Faculty Academic Position + -1 + -1 + + + true + + + landAreaUnit + + + + + Personal Communication Document + + + 2 + 15 + + + Funding Organization + + -1 + -1 + + + + + researcher role of + 30 + + researchActivityBy + + + true + 5 + + + + + 5 + has geographic location + + 60 + true + true + nearestGeographicLocation + This relates something to its geographic location, for example, an organization to its geographic location. + + + + + true + 4 + date filed + desc + 5 + false + + + The date the patent was filed. + + + Publisher + + -1 + + -1 + + + + Outreach Provider Role + + -1 + true + -1 + + + + Series + + -1 + + + -1 + + + + 80 + + 5 + This relates something to a specific international geographic region as its focus. + + geographic focus + international geographic focus + true + true + + + link URI + + + Provides the URL for a hyperlink in VIVO. + + + + Foundation + + + -1 + -1 + + + + subsequentLegalDecision + subsequentLegalDecision + + A legal decision on appeal that takes action on a case (affirming it, reversing it, etc.). + + true + true + + + + Student Organization + + -1 + + -1 + + + + editor role of + 5 + 2 + + + coden + + + CODEN – according to ASTM standard E250 – is a six character, alphanumeric bibliographic code, that provides concise, unique and unambiguous identification of the titles of serials and non-serial publications from all subject areas. + + + + country + + 40 + + 3 + + An area of land distinguished by its political autonomy. Politically independent territories. + + + linkShortView.jsp + + + 2 + + true + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddReviewerRoleToPersonGenerator + + use this property to indicate ongoing reviewer responsibility for a bibo:Collection, such as a Journal or Series, and also to record a review performed for a bibo:Document such as a book, academic article or conference paper. + reviewer of + true + 5 + + + offered by + + + 5 + 5 + true + + + + mailing address for + + + true + 80 + This relates a mailing address to an agent. + mailingAddressFor + 5 + + + awards grant + + + + funds + true + 61 + true + This relates an organization to a grant that it has awarded. + + + nameListRU + + + + + supported publications + + true + + 5 + enter a publication or document supported by this grant + true + + + + Organizer Role + + + 10 + 4 + + + rooms + + + true + Relates a building to the rooms within that building. + + room + 5 + true + + + URLLink + + -1 + -1 + + + + Exhibit + + + + -1 + -1 + + + validUntil + + + + + hasMember + + + true + + + primary email + + + + 1 + 50 + + + hasMinLatitude + + + + + County + + -1 + + + -1 + + + Certificate + + 5 + 5 + + + + + Electronic International Standard Serial Number (EISSN) + + + + An International Standard Serial Number (ISSN) is a unique eight-digit number used to identify a periodical publication. The eissn is an issn for electronic periodicals. + 90 + + + Scopus id + + 30 + + 2 + + The numeric digit assigned to an author in Scopus. In Scopus it's call the "Author Identifier". + + + Statute + + + -1 + -1 + + + provides funding for + + + true + 5 + + + associated role + 5 + + + + true + + + nameOfficialEN + + + + + Proceedings + -1 + + -1 + + + + + true + + + publisher + Relates published materials to an entity that is engaged in publishing. + 51 + 5 + publisher + + true + + + Document Part + + + -1 + -1 + + + Book + -1 + + + -1 + + + + 1 + geographically within + 5 + geographicallyWithin + Relates a geographic location with the geographic location that contains it. + + true + + + true + + + Institute + -1 + + + -1 + + + + Organization + + -1 + individual--foaf-organization.ftl + + -1 + + + + Project + + -1 + + -1 + + + + nationalityZH + + + + + Postdoctoral Training + + + 10 + 10 + + + credential of + 6 + + 5 + + true + + + + currently head of + true + + + true + 20 + 5 + + + + Postdoc + + + + -1 + -1 + + + preferred display order + + + + + + seating capacity + + + 50 + + 1 + Number of people who can be seated in a specific room, by physical space available or limitations set by law. + + + 5 + + This relates the organization to the equipment it owns. + + has equipment + true + true + + 80 + has equipment + + + organizer of + + true + + true + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddOrganizerRoleToPersonGenerator + + 3 + 5 + + + sponsor award id + + Identifier of the organization that sponsored the award. + + 1 + + 70 + + + Conference Poster + + + + -1 + -1 + + + number of pages + + + + + + editor + + true + 5 + + + 20 + + + Association + -1 + + -1 + + + + + Workshop Series + -1 + + + -1 + + + + middle name or initial + + 1 + + 20 + The middle name or initial with which you normally identify yourself. Only one may be entered. + + + + Postdoctoral Position + + + true + -1 + -1 + + + is agent in + This relates an active agent to an event. + true + isAgentIn + 5 + true + + + + + + agriculturalAreaTotal + + + + + advisee + + 30 + 5 + true + + + + + Event + + -1 + + + -1 + + + + 1 + position in organization + + true + involves employer + true + + 15 + This relates a person's position to the organization that has that position. + + + 5 + true + + This relates an advisory relationship to an academic degree. + true + degree candidacy + + + degreeCandidacy + 25 + + + landAreaNotes + + + + + organization for training + + + true + 5 + desc + + + hasMaxLongitude + + + + + nationalityEN + + + + + organizer role of + + 3 + + 5 + true + true + + + predecessor organization + + 60 + 5 + + + true + + + hasOfficialName + + + + + codeDBPediaID + + + + + term type + + + + 1 + + + advisor + true + 40 + 5 + + + + + + + hasProceedings + true + proceedings + 5 + This relates a conference proceeding to the conference that produced the proceeding. + 30 + + + true + + + Image + + -1 + + -1 + + + This relates the educational background to the academic degree obtained through that educational background. + 10 + degree type + + 5 + true + degree earned + true + + + + + GDPUnit + + + + + Dublin Core terms + dcterms + + + edition + + The name defining a special edition of a document. Normally its a literal value composed of a version number and words. + 70 + + 3 + + + + Award or Honor Receipt + true + + + + + member role of + 50 + 5 + + + + true + + + Citation Counting and Context Characterization Ontology + c4o + + + nameShortZH + + + + + Faculty Mentoring Relationship + + + 1 + 1 + + + Bill + -1 + + -1 + + + + edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddMemberRoleToPersonGenerator + member of + 50 + true + + 5 + + true + + true + + + Co-Principal Investigator Role + + + true + -1 + -1 + + + license number + + + license number + + 1 + 4 + + + VIVO core + vivo + + + Faculty Position + -1 + true + + + -1 + + + date/time + + + Use when a single date and time is appropriate versus a start date and time and end date and time, or when multiple dates and times are relevant. + 5 + 5 + + + FRBR-aligned Bibliographic Ontology + fabio + + + gtin14 + 80 + + + Global Trade Item Number (GTIN) is an identifier for trade items developed by GS1 (comprising the former EAN International and Uniform Code Council). GTIN is an "umbrella" term used to describe the entire family of GS1 data structures for trade items (products and services) identification. GTINs may be 8, 12, 13 or 14 digits long. + 1 + + + + codeUN + + + + + Advising Relationship + true + + + -1 + -1 + + + entry term + + + + 40 + + + Clinical Guideline + + + 5 + + 5 + + + status + 5 + + + 250 + + true + + + Catalog + -1 + + + + -1 + + diff --git a/productMods/config/listViewConfig-hasInvestigatorRole.xml b/productMods/config/listViewConfig-hasInvestigatorRole.xml index b8da33ce..98344214 100644 --- a/productMods/config/listViewConfig-hasInvestigatorRole.xml +++ b/productMods/config/listViewConfig-hasInvestigatorRole.xml @@ -31,7 +31,7 @@ LET (?activityName := afn:localname(?activity)) OPTIONAL { ?activity rdfs:label ?activityLabel } } - OPTIONAL { ?role <http://vivoweb.org/ontology/core#relates> ?activity + OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity LET (?activityName := afn:localname(?activity)) OPTIONAL { ?activity rdfs:label ?activityLabel } } @@ -49,7 +49,7 @@ ?dateTimeEndValueRole core:dateTime ?dateTimeEndRole } } - OPTIONAL { ?role <http://vivoweb.org/ontology/core#relates> ?grant . + OPTIONAL { ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant . ?grant core:dateTimeInterval ?dateTimeIntervalGrant OPTIONAL { ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant @@ -77,7 +77,7 @@ { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relates> ?activity + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity } UNION { ?subject ?property ?role . @@ -96,18 +96,18 @@ CONSTRUCT { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relates> ?activity . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . ?activity rdfs:label ?activityLabel } WHERE { { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relates> ?activity + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity } UNION { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relates> ?activity . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . ?activity rdfs:label ?activityLabel } } @@ -135,7 +135,7 @@ } UNION { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relates> ?activity . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . ?activity rdfs:label ?activityName } UNION { ?subject ?property ?role . @@ -145,23 +145,23 @@ } UNION { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relates> ?activity . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . ?activity core:grantAwardedBy ?awardedBy } UNION { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relates> ?activity . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . ?activity core:grantAwardedBy ?awardedBy . ?awardedBy rdfs:label ?awardedByLabel } UNION { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relates> ?activity . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . ?activity core:administeredBy ?adminedBy } UNION { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relates> ?activity . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?activity . ?activity core:administeredBy ?adminedBy . ?adminedBy rdfs:label ?adminedByLabel } @@ -206,14 +206,14 @@ CONSTRUCT { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relates> ?grant . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant . ?grant core:dateTimeInterval ?dateTimeIntervalGrant . ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant } WHERE { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relates> ?grant . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant . ?grant core:dateTimeInterval ?dateTimeIntervalGrant . ?dateTimeIntervalGrant core:start ?dateTimeStartValueGrant . ?dateTimeStartValueGrant core:dateTime ?dateTimeStartGrant @@ -225,14 +225,14 @@ CONSTRUCT { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relates> ?grant . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant . ?grant core:dateTimeInterval ?dateTimeIntervalGrant . ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant . ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant } WHERE { ?subject ?property ?role . ?role a ?objectType . - ?role <http://vivoweb.org/ontology/core#relates> ?grant . + ?role <http://vivoweb.org/ontology/core#relatedBy> ?grant . ?grant core:dateTimeInterval ?dateTimeIntervalGrant . ?dateTimeIntervalGrant core:end ?dateTimeEndValueGrant . ?dateTimeEndValueGrant core:dateTime ?dateTimeEndGrant From 3d527acce9e0264109c4cd9e75fd0709f787e83a Mon Sep 17 00:00:00 2001 From: tworrall Date: Wed, 18 Sep 2013 17:01:26 -0400 Subject: [PATCH 57/66] VIVO-112 and VIVO-298 --- .../listViewConfig-authorInAuthorship.xml | 13 +- ...Config-informationResourceInAuthorship.xml | 2 +- ...AuthorsToInformationResourceGenerator.java | 153 ++++++++++-------- .../AddPublicationToPersonGenerator.java | 48 ++++-- src/org/vivoweb/webapp/util/ModelUtils.java | 4 +- 5 files changed, 139 insertions(+), 81 deletions(-) diff --git a/productMods/config/listViewConfig-authorInAuthorship.xml b/productMods/config/listViewConfig-authorInAuthorship.xml index 6a4b9aad..51f0a127 100644 --- a/productMods/config/listViewConfig-authorInAuthorship.xml +++ b/productMods/config/listViewConfig-authorInAuthorship.xml @@ -10,6 +10,7 @@ PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> PREFIX bibo: <http://purl.org/ontology/bibo/> PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT DISTINCT ?subclass ?authorship @@ -41,7 +42,8 @@ OPTIONAL { ?infoResource core:publisher ?publisherObj . ?publisherObj rdfs:label ?publisher } - OPTIONAL { ?infoResource core:editor ?editorObj . + OPTIONAL { ?infoResource core:relatedBy ?editorship . + ?editorObj core:relatedBy ?editorship . ?editorObj rdfs:label ?editor } OPTIONAL { ?infoResource core:partOf ?partOfObj . @@ -118,6 +120,7 @@ PREFIX core: <http://vivoweb.org/ontology/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX foaf: <http://xmlns.com/foaf/0.1/> CONSTRUCT { ?subject ?property ?authorship . ?authorship ?authorshipProperty ?authorshipValue . @@ -125,7 +128,10 @@ ?infoResource ?infoResourceProperty ?infoResourceValue . ?infoResource bibo:reproducedIn ?appearsInObj . ?infoResource core:publisher ?publisherObj . - ?infoResource core:editor ?editorObj . + ?infoResource core:relatedBy ?editorship . + ?editorship a core:Editorship . + ?editorship core:relates ?editorObj . + ?editorObj a foaf:Person . ?infoResource core:partOf ?partOfObj . ?appearsInObj rdfs:label ?appearsIn . ?publisherObj rdfs:label ?publisher . @@ -159,7 +165,8 @@ } UNION { ?subject ?property ?authorship . ?authorship core:relates ?infoResource . - ?infoResource core:editor ?editorObj . + ?infoResource core:relatedBy ?editorship . + ?editorship core:relates ?editorObj . ?editorObj rdfs:label ?editor } UNION { ?subject ?property ?authorship . diff --git a/productMods/config/listViewConfig-informationResourceInAuthorship.xml b/productMods/config/listViewConfig-informationResourceInAuthorship.xml index d7af9d7f..43d2c320 100644 --- a/productMods/config/listViewConfig-informationResourceInAuthorship.xml +++ b/productMods/config/listViewConfig-informationResourceInAuthorship.xml @@ -17,7 +17,7 @@ WHERE { ?subject ?property ?authorship . ?authorship a core:Authorship - OPTIONAL { ?authorship core:authorRank ?rank } + OPTIONAL { ?authorship core:rank ?rank } OPTIONAL { ?authorship core:relates ?person . ?person a foaf:Person . ?person rdfs:label ?personName diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java index be5d8f05..1f8227cf 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAuthorsToInformationResourceGenerator.java @@ -8,12 +8,16 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import javax.servlet.http.HttpSession; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import com.hp.hpl.jena.query.QuerySolution; +import com.hp.hpl.jena.query.ResultSet; +import com.hp.hpl.jena.rdf.model.RDFNode; import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.vocabulary.RDFS; import com.hp.hpl.jena.vocabulary.XSD; @@ -22,6 +26,7 @@ import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyComparator; import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement; import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.dao.jena.QueryUtils; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.PublicationHasAuthorValidator; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.DateTimeIntervalValidationVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; @@ -334,99 +339,117 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator public void addFormSpecificData(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { HashMap formSpecificData = new HashMap(); //Get the existing authorships - formSpecificData.put("existingAuthorInfo", getExistingAuthorships(vreq)); - formSpecificData.put("newRank", getMaxRank(vreq) + 1); - formSpecificData.put("rankPredicate", authorRankPredicate); + formSpecificData.put("existingAuthorInfo", getExistingAuthorships(editConfiguration.getSubjectUri(), vreq)); + formSpecificData.put("newRank", getMaxRank(editConfiguration.getSubjectUri(), vreq) + 1); + formSpecificData.put("rankPredicate", "http://vivoweb.org/ontology/core#rank"); editConfiguration.setFormSpecificData(formSpecificData); } - - private List getExistingAuthorships(VitroRequest vreq) { - Individual infoResource = EditConfigurationUtils.getSubjectIndividual(vreq); - List authorships = infoResource.getRelatedIndividuals( - EditConfigurationUtils.getPredicateUri(vreq)); - //TODO: Check if sorted correctly - - log.debug("authorships = " + authorships); - - sortAuthorshipIndividuals(authorships); - - return getAuthorshipInfo(authorships); - } -/* + private static String AUTHORSHIPS_QUERY = "" + "PREFIX core: \n" + "PREFIX afn: \n" + "PREFIX rdfs: \n" + "PREFIX foaf: \n" - + "SELECT ?authorshipURI (afn:localname(?authorshipURI) AS ?authorshipName) ?authorURI ?authorName \n" + + "SELECT ?authorshipURI (afn:localname(?authorshipURI) AS ?authorshipName) ?authorURI ?authorName ?rank \n" + "WHERE { \n" + "?subject core:relatedBy ?authorshipURI . \n" + + "?authorshipURI a core:Authorship . \n" + "?authorshipURI core:relates ?authorURI . \n" + "?authorURI a foaf:Person . \n" - + "?authorURI rdfs:label ?authorName \n" - + "}"; + + "OPTIONAL { ?authorURI rdfs:label ?authorName } \n" + + "OPTIONAL { ?authorshipURI core:rank ?rank } \n" + + "} ORDER BY ?rank"; - private List> getExistingAuthorships(String subjectUri, VitroRequest vreq) { + private List getExistingAuthorships(String subjectUri, VitroRequest vreq) { String queryStr = QueryUtils.subUriForQueryVar(this.getAuthorshipsQuery(), "subject", subjectUri); log.debug("Query string is: " + queryStr); - List> authorshipss = new ArrayList>(); + List> authorships = new ArrayList>(); try { ResultSet results = QueryUtils.getQueryResults(queryStr, vreq); while (results.hasNext()) { QuerySolution soln = results.nextSolution(); - RDFNode node = soln.get("link"); + RDFNode node = soln.get("authorshipURI"); if (node.isURIResource()) { - webpages.add(QueryUtils.querySolutionToStringValueMap(soln)); + authorships.add(QueryUtils.querySolutionToStringValueMap(soln)); } } } catch (Exception e) { log.error(e, e); } - log.debug("webpages = " + webpages); - return webpages; + log.debug("authorships = " + authorships); + return getAuthorshipInfo(authorships); } -*/ + + private static String MAX_RANK_QUERY = "" + + "PREFIX core: \n" + + "SELECT DISTINCT ?rank WHERE { \n" + + " ?subject core:relatedBy ?authorship . \n" + + " ?authorship a core:Authorship . \n" + + " ?authorship core:rank ?rank .\n" + + "} ORDER BY DESC(?rank) LIMIT 1"; + + private int getMaxRank(String subjectUri, VitroRequest vreq) { + + int maxRank = 0; // default value + String queryStr = QueryUtils.subUriForQueryVar(this.getMaxRankQueryStr(), "subject", subjectUri); + log.debug("maxRank query string is: " + queryStr); + try { + ResultSet results = QueryUtils.getQueryResults(queryStr, vreq); + if (results != null && results.hasNext()) { // there is at most one result + QuerySolution soln = results.next(); + RDFNode node = soln.get("rank"); + if (node != null && node.isLiteral()) { + // node.asLiteral().getInt() won't return an xsd:string that + // can be parsed as an int. + int rank = Integer.parseInt(node.asLiteral().getLexicalForm()); + if (rank > maxRank) { + log.debug("setting maxRank to " + rank); + maxRank = rank; + } + } + } + } catch (NumberFormatException e) { + log.error("Invalid rank returned from query: not an integer value."); + } catch (Exception e) { + log.error(e, e); + } + log.debug("maxRank is: " + maxRank); + return maxRank; + } + private List getAuthorshipInfo( - List authorships) { + List> authorships) { List info = new ArrayList(); - for ( Individual authorship : authorships ) { - String authorshipUri = authorship.getURI(); - String authorshipName = authorship.getName(); - String authorUri = ""; - String authorName = ""; - Individual author = authorship.getRelatedIndividual(linkedAuthorPredicate); - if(author != null) { - authorUri = author.getURI(); - authorName = author.getName(); - } - AuthorshipInfo aaInfo = new AuthorshipInfo(authorshipUri, authorshipName, authorUri, authorName); - info.add(aaInfo); + String authorshipUri = ""; + String authorshipName = ""; + String authorUri = ""; + String authorName = ""; + + for ( Map authorship : authorships ) { + for (Entry entry : authorship.entrySet() ) { + if ( entry.getKey().equals("authorshipURI") ) { + authorshipUri = entry.getValue(); + } + else if ( entry.getKey().equals("authorshipName") ) { + authorshipName = entry.getValue(); + } + else if ( entry.getKey().equals("authorURI") ) { + authorUri = entry.getValue(); + } + else if ( entry.getKey().equals("authorName") ) { + authorName = entry.getValue(); + } + } + + AuthorshipInfo aaInfo = new AuthorshipInfo(authorshipUri, authorshipName, authorUri, authorName); + info.add(aaInfo); } + log.debug("info = " + info); return info; } - private int getMaxRank(VitroRequest vreq) { - Individual infoResource = EditConfigurationUtils.getSubjectIndividual(vreq); - List authorships = infoResource.getRelatedIndividuals( - EditConfigurationUtils.getPredicateUri(vreq)); - sortAuthorshipIndividuals(authorships); - int maxRank = 0; - for(Individual authorship: authorships) { - DataPropertyStatement rankStmt = authorship.getDataPropertyStatement(authorRankPredicate); - if (rankStmt != null) { - maxRank = Integer.parseInt(rankStmt.getData()); - } - } - return maxRank; - } - - private void sortAuthorshipIndividuals(List authorships) { - DataPropertyComparator comp = new DataPropertyComparator(authorRankPredicate); - Collections.sort(authorships, comp); - } - //This is the information about authors the form will require public class AuthorshipInfo { //This is the authorship node information @@ -467,8 +490,12 @@ public class AddAuthorsToInformationResourceGenerator extends VivoBaseGenerator static final String DEFAULT_NS_TOKEN=null; //null forces the default NS -// protected String getAuthorshipsQuery() { -// return AUTHORSHIPS_QUERY; -// } + protected String getMaxRankQueryStr() { + return MAX_RANK_QUERY; + } + + protected String getAuthorshipsQuery() { + return AUTHORSHIPS_QUERY; + } } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java index f30cc908..3f26de70 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddPublicationToPersonGenerator.java @@ -308,15 +308,24 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement private String getN3ForNewBookNewEditor() { return "@prefix vivo: <" + vivoCore + "> . \n" + - "?newBook vivo:editor ?newEditor . \n " + - "?newEditor vivo:editorOf ?newBook . \n" + + "?newBook vivo:relatedBy ?editorship . \n" + + "?editorship vivo:relates ?newBook . \n" + + "?newBook <" + label + "> ?book . \n " + + "?editorship a vivo:Editorship . \n" + + "?editorship vivo:relates ?newEditor . \n" + + "?newEditor a <" + editorClass + "> . \n" + + "?newEditor vivo:relatedBy ?editorship . \n" + "?newEditor <" + label + "> ?editor ."; } private String getN3ForNewBookEditor() { return "@prefix vivo: <" + vivoCore + "> . \n" + - "?newBook vivo:editor ?editorUri . \n" + - "?editorUri vivo:editorOf ?newBook . " ; + "?newBook vivo:relatedBy ?editorship . \n" + + "?editorship vivo:relates ?newBook . \n" + + "?newBook <" + label + "> ?book . \n " + + "?editorship a vivo:Editorship . \n" + + "?editorship vivo:relates ?editorUri . \n" + + "?editorUri vivo:relatedBy ?editorship . "; } private String getN3ForNewBookNewPublisher() { @@ -396,30 +405,44 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement private String getN3ForNewEditor() { return "@prefix vivo: <" + vivoCore + "> . \n" + - "?pubUri vivo:editor ?newEditor . \n" + + "?pubUri vivo:relatedBy ?editorship . \n" + + "?editorship vivo:relates ?pubUri . \n" + + "?editorship a vivo:Editorship . \n" + + "?editorship vivo:relates ?newEditor . \n" + "?newEditor a <" + editorClass + "> . \n" + - "?newEditor vivo:editorOf ?pubUri . \n" + + "?newEditor vivo:relatedBy ?editorship . \n" + "?newEditor <" + label + "> ?editor ."; } private String getN3ForEditor() { return "@prefix vivo: <" + vivoCore + "> . \n" + - "?pubUri vivo:editor ?editorUri . \n" + - "?editorUri vivo:editorOf ?pubUri . "; + "?pubUri vivo:relatedBy ?editorship . \n" + + "?editorship vivo:relates ?pubUri . \n" + + "?editorship a vivo:Editorship . \n" + + "?editorship vivo:relates ?editorUri . \n" + + "?editorUri vivo:relatedBy ?editorship . "; } private String getN3ForNewEditorNewPub() { return "@prefix vivo: <" + vivoCore + "> . \n" + - "?newPublication vivo:editor ?newEditor . \n" + + "?newPublication vivo:relatedBy ?editorship . \n" + + "?editorship vivo:relates ?newPublication . \n" + + "?newPublication <" + label + "> ?title ." + + "?editorship a vivo:Editorship . \n" + + "?editorship vivo:relates ?newEditor . \n" + "?newEditor a <" + editorClass + "> . \n" + - "?newEditor vivo:editorOf ?newPublication . \n" + + "?newEditor vivo:relatedBy ?editorship . \n" + "?newEditor <" + label + "> ?editor ."; } private String getN3ForEditorNewPub() { return "@prefix vivo: <" + vivoCore + "> . \n" + - "?newPublication vivo:editor ?editorUri . \n" + - "?editorUri vivo:editorOf ?newPublication . "; + "?newPublication vivo:relatedBy ?editorship . \n" + + "?editorship vivo:relates ?newPublication . \n" + + "?newPublication <" + label + "> ?title ." + + "?editorship vivo:relates ?editorUri . \n" + + "?editorship a vivo:Editorship . \n" + + "?editorUri vivo:relatedBy ?editorship . "; } private String getN3ForNewPublisher() { @@ -525,6 +548,7 @@ public class AddPublicationToPersonGenerator extends VivoBaseGenerator implement newResources.put("newConference", DEFAULT_NS_TOKEN); newResources.put("newEvent", DEFAULT_NS_TOKEN); newResources.put("newEditor", DEFAULT_NS_TOKEN); + newResources.put("editorship", DEFAULT_NS_TOKEN); newResources.put("vcardEditor", DEFAULT_NS_TOKEN); newResources.put("vcardName", DEFAULT_NS_TOKEN); newResources.put("newPublisher", DEFAULT_NS_TOKEN); diff --git a/src/org/vivoweb/webapp/util/ModelUtils.java b/src/org/vivoweb/webapp/util/ModelUtils.java index b3df1d6b..629d9f52 100644 --- a/src/org/vivoweb/webapp/util/ModelUtils.java +++ b/src/org/vivoweb/webapp/util/ModelUtils.java @@ -24,8 +24,8 @@ public class ModelUtils { private static final String processPropertyInverseURI = "http://purl.obolibrary.org/obo/BFO_0000055"; private static final String nonProcessPropertyURI = "http://vivoweb.org/ontology/core#roleContributesTo"; private static final String nonProcessPropertyInverseURI = "http://vivoweb.org/ontology/core#contributingRole"; - private static final String grantPropertyURI = "http://vivoweb.org/ontology/core#relates"; - private static final String grantPropertyInverseURI = "http://vivoweb.org/ontology/core#relatedBy"; + private static final String grantPropertyURI = "http://vivoweb.org/ontology/core#relatedBy"; + private static final String grantPropertyInverseURI = "http://vivoweb.org/ontology/core#relates"; private static Set processClass = new HashSet(); static { From a98eb8ac3829c4cce53f620b66607761a415a861 Mon Sep 17 00:00:00 2001 From: tworrall Date: Thu, 19 Sep 2013 09:52:41 -0400 Subject: [PATCH 58/66] VIVO-300: some i18n cleanup --- .../example/themes/wilma/i18n/all_es.properties | 11 +++-------- themes/wilma/i18n/all.properties | 15 ++++++--------- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/languages/example/themes/wilma/i18n/all_es.properties b/languages/example/themes/wilma/i18n/all_es.properties index 24ae36e4..e8641a38 100644 --- a/languages/example/themes/wilma/i18n/all_es.properties +++ b/languages/example/themes/wilma/i18n/all_es.properties @@ -719,7 +719,6 @@ researchers_in = investigadores en no_faculty_found = No hay miembros de la facultad encontrados. placeholder_image = imagen de marcador de posición view_all_departments = ver todos los departamentos académicos -view_all_faculty = ver todos los profesores no_departments_found = No hay departamentos académicos encontrados. # @@ -766,7 +765,6 @@ no_matching_entities_found = No hay entidades que coincidan encontrados clear_search_query = claro consulta de búsqueda short_max_entity_note = Un máximo de 10 entidades se pueden comparar. information_capitalized = Información -entity_type = Del tipo de entidad content_requires_flash = Este contenido requiere Adobe Flash Player. get_flash = Obtener Flash of_pubs = de los pubs. @@ -820,10 +818,7 @@ enter_telephone_number = Por favor, introduzca un valor en el campo Número de t email_address = Dirección de Correo Electrónico email_address_for = dirección de correo electrónico para enter_email_address = Por favor, introduzca un valor en el campo Dirección de Correo Electrónico. -full_name = Full Name -full_name_for = full name for -enter_first_name = Por favor, introduzca un valor en el campo Primer Nombre. -enter_last_name = Por favor, introduzca un valor en el campo Apellido. -first_name = Primer Nombre -middle_name = Segundo Nombre +full_name = Nombre y apellidos +full_name_for = nombre y apellidos para +first_name = Primer nombre last_name = Apellido \ No newline at end of file diff --git a/themes/wilma/i18n/all.properties b/themes/wilma/i18n/all.properties index aa78e21c..bf90ff1e 100644 --- a/themes/wilma/i18n/all.properties +++ b/themes/wilma/i18n/all.properties @@ -451,9 +451,9 @@ internal_class = institutional internal class only_display = Only display within_my_institution = within my institution -enter_a_name = Please enter a value in the name field. -enter_last_name = Please enter a Last Name for this person. -enter_first_name = Please enter a First Name for this person. +enter_a_name = Please enter a value in the Name field. +enter_last_name = Please enter a Last name for this person. +enter_first_name = Please enter a First name for this person. posn_history_entry_for = position history entry for enter_posn_title_value = Please enter a value in the Position Title field. @@ -835,10 +835,7 @@ enter_telephone_number = Please enter a value in the Telephone Number field. email_address = Email Address email_address_for = email address for enter_email_address = Please enter a value in the Email Address field. -full_name = Full Name +full_name = Full name full_name_for = full name for -enter_first_name = Please enter a value in the First Name field. -enter_last_name = Please enter a value in the Last Name field. -first_name = First Name -middle_name = Middle Name -last_name = Last Name +first_name = First name +last_name = Last name From aca312b7cc6bdc8c43c8b1b96f0f9100ff334272 Mon Sep 17 00:00:00 2001 From: tworrall Date: Thu, 19 Sep 2013 10:38:51 -0400 Subject: [PATCH 59/66] VIVO-300: some i18n cleanup --- themes/wilma/i18n/all.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/themes/wilma/i18n/all.properties b/themes/wilma/i18n/all.properties index bf90ff1e..57d9a20f 100644 --- a/themes/wilma/i18n/all.properties +++ b/themes/wilma/i18n/all.properties @@ -690,6 +690,7 @@ or_add_new_one = or add a new one. vocabulary_service_unavailable = The vocabulary service is unavailable. Please try again later. no_serch_results_found = No search results were found. label_type = Label (Type) +label_altLabels = Label (Alternate Labels) definition_capitalized = Definition best_match = Best Match select_term_from_results = Please select at least one term from the search search results. From 6d77fc78711ae234005e85d1610cf50522c13dbe Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Thu, 19 Sep 2013 14:18:49 -0400 Subject: [PATCH 60/66] various and sundry data migration changes --- .../WEB-INF/ontologies/update/diff.tab.txt | 2 +- .../additions/Editorship.sparql | 17 +++++++++++++++++ .../additions/{ => post}/Grant.sparql | 1 + .../additions/{ => post}/awardedDegree.sparql | 0 .../sparqlConstructs/additions/vcard2.sparql | 9 +++++++++ .../deletions/EditorshipDel.sparql | 14 ++++++++++++++ .../{ => post}/awardedDegreeDel.sparql | 4 +++- .../sparqlConstructs/deletions/vcardDel.sparql | 9 +++++++++ rdf/display/everytime/.PropertyConfig.n3.swp | Bin 0 -> 16384 bytes rdf/tbox/filegraph/contact-vcard.owl | 11 +++++++++++ rdf/tbox/filegraph/contact.owl | 12 ------------ rdf/tbox/filegraph/publication.owl | 10 ---------- 12 files changed, 65 insertions(+), 24 deletions(-) create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/Editorship.sparql rename productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/{ => post}/Grant.sparql (85%) rename productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/{ => post}/awardedDegree.sparql (100%) create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/EditorshipDel.sparql rename productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/{ => post}/awardedDegreeDel.sparql (76%) create mode 100644 rdf/display/everytime/.PropertyConfig.n3.swp diff --git a/productMods/WEB-INF/ontologies/update/diff.tab.txt b/productMods/WEB-INF/ontologies/update/diff.tab.txt index 23aee090..b88f01d0 100644 --- a/productMods/WEB-INF/ontologies/update/diff.tab.txt +++ b/productMods/WEB-INF/ontologies/update/diff.tab.txt @@ -1 +1 @@ -http://vivoweb.org/ontology/core#administeredBy complex construct with grant administrator role http://vivoweb.org/ontology/core#administers complex construct with grant administrator role http://vivoweb.org/ontology/core#advisee CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#adviseeIn CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#advisingContributionTo realizedIn? Come back to this. http://vivoweb.org/ontology/core#advisor CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#advisorIn CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#affiliatedOrganization construct Relationship node? http://vivoweb.org/ontology/core#assignedBy patent - come back to this http://vivoweb.org/ontology/core#assignee patent - come back to this http://vivoweb.org/ontology/core#associatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#associatedWithPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#attendeeRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#authorInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardConferred http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#awardConferredBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#awardOrHonor http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardOrHonorFor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#awardsGrant http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#clinicalRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#co-PrincipalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#contributingAdvising come back to this http://vivoweb.org/ontology/core#contributingRole come back to this http://vivoweb.org/ontology/core#courseOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#credentialOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#currentMemberOf http://vivoweb.org/ontology/core#memberOf Yes z http://vivoweb.org/ontology/core#currentlyHeadOf CC or delete? http://vivoweb.org/ontology/core#currentlyHeadedBy CC or delete? http://vivoweb.org/ontology/core#degreeCandidacy revisit http://vivoweb.org/ontology/core#degreeEarned http://purl.obolibrary.org/obo/RO_0002234 Yes z http://vivoweb.org/ontology/core#degreeOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#degreeOutcomeOf http://purl.obolibrary.org/obo/RO_0002353 Yes z http://vivoweb.org/ontology/core#distributes revisit (distributor role?) http://vivoweb.org/ontology/core#distributesFundingFrom revisit http://vivoweb.org/ontology/core#domesticGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#domesticGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#editor CC editorship http://vivoweb.org/ontology/core#editorOf CC editorship http://vivoweb.org/ontology/core#editorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#educationalTraining http://purl.obolibrary.org/obo/RO_0000056 Yes z http://vivoweb.org/ontology/core#educationalTrainingOf http://purl.obolibrary.org/obo/RO_0000057 Yes z http://vivoweb.org/ontology/core#eligibleFor revisit http://vivoweb.org/ontology/core#equipmentInFacility http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#eventWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#geographicLocationOf http://purl.obolibrary.org/obo/RO_0001015 Yes """location of""" http://vivoweb.org/ontology/core#geographicallyContains http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#geographicallyWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#governingAuthorityFor revisit http://vivoweb.org/ontology/core#grantAwardedBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#hasAttendeeRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasAttendeeRoleContext http://vivoweb.org/ontology/core#hasClinicalRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasClinicalRoleContext http://vivoweb.org/ontology/core#hasCo-PrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasCo-PrincipalInvestigatorRoleContext http://vivoweb.org/ontology/core#hasCollaborator http://vivoweb.org/ontology/core#relatedBy Yes CC construct Relationship http://vivoweb.org/ontology/core#hasCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#hasCurrentMember revisit - construct relationship? http://vivoweb.org/ontology/core#hasEditorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasEditorRoleContext http://vivoweb.org/ontology/core#hasGeographicLocation http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#hasGoverningAuthority revisit http://vivoweb.org/ontology/core#hasInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasInvestigatorRoleContext http://vivoweb.org/ontology/core#hasLeaderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasLeaderRoleContext http://vivoweb.org/ontology/core#hasMemberRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasMemberRoleContext http://vivoweb.org/ontology/core#hasOrganizerRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasOrganizerRoleContext http://vivoweb.org/ontology/core#hasOutreachProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasOutreachProviderContext http://vivoweb.org/ontology/core#hasPart http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasPredecessorOrganization revisit http://vivoweb.org/ontology/core#hasPresenterRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasPresenterRoleContext http://vivoweb.org/ontology/core#hasPrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasPrincipalInvestigatorRoleContext http://vivoweb.org/ontology/core#hasResearcherRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasResearcherRoleContext http://vivoweb.org/ontology/core#hasReviewerRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasReviewerRoleContext http://vivoweb.org/ontology/core#hasRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasRoom http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#hasServiceProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasServiceProviderRoleContext http://vivoweb.org/ontology/core#hasSubOrganization http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasSuccessorOrganization revisit http://vivoweb.org/ontology/core#hasTeacherRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#inEventSeries http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#includesEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#informationProduct revisit http://vivoweb.org/ontology/core#informationProductOf revisit http://vivoweb.org/ontology/core#informationResourceInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#internationalGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#internationalGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#investigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes """inheres in""" http://vivoweb.org/ontology/core#issuanceOfCredential http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#issuedCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#leaderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#linkedAuthor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#linkedInformationResource http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#locationOfEquipment http://purl.obolibrary.org/obo/RO_0001015 Yes z http://vivoweb.org/ontology/core#mailingAddress VCard http://vivoweb.org/ontology/core#mailingAddressFor VCard http://vivoweb.org/ontology/core#memberRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#offersCourse http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#offersDegree http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#organizationForPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizationForTraining http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#outcome revisit: RO? http://vivoweb.org/ontology/core#outcomeOf revisit: RO? http://vivoweb.org/ontology/core#outreachProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#partOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#personInPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#positionForPerson http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#positionInOrganization http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#presenterRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#principalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#providesService http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#realizedRole http://purl.obolibrary.org/obo/BFO_0000055 Yes """realizes""" http://vivoweb.org/ontology/core#receipt http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#receiptOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#relatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#researcherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#reviewerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleContributesTo http://vivoweb.org/ontology/core#relatedBy Yes may not apply in all situations http://vivoweb.org/ontology/core#roleIn http://purl.obolibrary.org/obo/BFO_0000054 Yes """realized in"" (or delete, since there should be subs?)" http://vivoweb.org/ontology/core#roleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleRealizedIn http://purl.obolibrary.org/obo/BFO_0000054 Yes z http://vivoweb.org/ontology/core#roomWithinBuilding http://purl.obolibrary.org/obo/RO_0001025 Yes double check this http://vivoweb.org/ontology/core#seriesForEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#serviceProvidedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#serviceProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#subGrantOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#subOrganizationWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#teacherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#trainingAtOrganization http://vivoweb.org/ontology/core#relates Yes double check this http://vivoweb.org/ontology/core#EducationalTraining http://vivoweb.org/ontology/core#EducationalProcess Yes z \ No newline at end of file +http://vivoweb.org/ontology/core#administeredBy complex construct with grant administrator role http://vivoweb.org/ontology/core#administers complex construct with grant administrator role http://vivoweb.org/ontology/core#advisee CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#adviseeIn CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#advisingContributionTo realizedIn? Come back to this. http://vivoweb.org/ontology/core#advisor CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#advisorIn CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#affiliatedOrganization construct Relationship node? http://vivoweb.org/ontology/core#assignedBy patent - come back to this http://vivoweb.org/ontology/core#assignee patent - come back to this http://vivoweb.org/ontology/core#associatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#associatedWithPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#attendeeRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#authorInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardConferred http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#awardConferredBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#awardOrHonor http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardOrHonorFor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#awardsGrant http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#clinicalRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#co-PrincipalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#contributingAdvising come back to this http://vivoweb.org/ontology/core#contributingRole come back to this http://vivoweb.org/ontology/core#courseOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#credentialOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#currentMemberOf http://vivoweb.org/ontology/core#memberOf Yes z http://vivoweb.org/ontology/core#currentlyHeadOf CC or delete? http://vivoweb.org/ontology/core#currentlyHeadedBy CC or delete? http://vivoweb.org/ontology/core#degreeCandidacy revisit http://vivoweb.org/ontology/core#degreeEarned http://purl.obolibrary.org/obo/RO_0002234 Yes z http://vivoweb.org/ontology/core#degreeOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#degreeOutcomeOf http://purl.obolibrary.org/obo/RO_0002353 Yes z http://vivoweb.org/ontology/core#distributes revisit (distributor role?) http://vivoweb.org/ontology/core#distributesFundingFrom revisit http://vivoweb.org/ontology/core#domesticGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#domesticGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#editor CC editorship http://vivoweb.org/ontology/core#editorOf CC editorship http://vivoweb.org/ontology/core#editorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#educationalTraining http://purl.obolibrary.org/obo/RO_0000056 Yes z http://vivoweb.org/ontology/core#educationalTrainingOf http://purl.obolibrary.org/obo/RO_0000057 Yes z http://vivoweb.org/ontology/core#eligibleFor revisit http://vivoweb.org/ontology/core#equipmentInFacility http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#eventWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#geographicLocationOf http://purl.obolibrary.org/obo/RO_0001015 Yes """location of""" http://vivoweb.org/ontology/core#geographicallyContains http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#geographicallyWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#governingAuthorityFor revisit http://vivoweb.org/ontology/core#grantAwardedBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#hasAttendeeRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasAttendeeRoleContext http://vivoweb.org/ontology/core#hasClinicalRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasClinicalRoleContext http://vivoweb.org/ontology/core#hasCo-PrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasCo-PrincipalInvestigatorRoleContext http://vivoweb.org/ontology/core#hasCollaborator http://vivoweb.org/ontology/core#relatedBy Yes CC construct Relationship http://vivoweb.org/ontology/core#hasCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#hasCurrentMember revisit - construct relationship? http://vivoweb.org/ontology/core#hasEditorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasEditorRoleContext http://vivoweb.org/ontology/core#hasGeographicLocation http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#hasGoverningAuthority revisit http://vivoweb.org/ontology/core#hasInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasInvestigatorRoleContext http://vivoweb.org/ontology/core#hasLeaderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasLeaderRoleContext http://vivoweb.org/ontology/core#hasMemberRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasMemberRoleContext http://vivoweb.org/ontology/core#hasOrganizerRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasOrganizerRoleContext http://vivoweb.org/ontology/core#hasOutreachProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasOutreachProviderContext http://vivoweb.org/ontology/core#hasPart http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasPredecessorOrganization revisit http://vivoweb.org/ontology/core#hasPresenterRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasPresenterRoleContext http://vivoweb.org/ontology/core#hasPrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasPrincipalInvestigatorRoleContext http://vivoweb.org/ontology/core#hasResearcherRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasResearcherRoleContext http://vivoweb.org/ontology/core#hasReviewerRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasReviewerRoleContext http://vivoweb.org/ontology/core#hasRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasRoom http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#hasServiceProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasServiceProviderRoleContext http://vivoweb.org/ontology/core#hasSubOrganization http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasSuccessorOrganization revisit http://vivoweb.org/ontology/core#hasTeacherRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#inEventSeries http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#includesEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#informationProduct revisit http://vivoweb.org/ontology/core#informationProductOf revisit http://vivoweb.org/ontology/core#informationResourceInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#internationalGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#internationalGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#investigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes """inheres in""" http://vivoweb.org/ontology/core#issuanceOfCredential http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#issuedCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#leaderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#linkedAuthor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#linkedInformationResource http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#locationOfEquipment http://purl.obolibrary.org/obo/RO_0001015 Yes z http://vivoweb.org/ontology/core#mailingAddress VCard http://vivoweb.org/ontology/core#mailingAddressFor VCard http://vivoweb.org/ontology/core#memberRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#offersCourse http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#offersDegree http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#organizationForPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizationForTraining http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#outcome revisit: RO? http://vivoweb.org/ontology/core#outcomeOf revisit: RO? http://vivoweb.org/ontology/core#outreachProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#partOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#personInPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#positionForPerson http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#positionInOrganization http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#presenterRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#principalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#providesService http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#realizedRole http://purl.obolibrary.org/obo/BFO_0000055 Yes """realizes""" http://vivoweb.org/ontology/core#receipt http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#receiptOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#relatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#researcherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#reviewerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleContributesTo http://vivoweb.org/ontology/core#relatedBy Yes may not apply in all situations http://vivoweb.org/ontology/core#roleIn http://purl.obolibrary.org/obo/BFO_0000054 Yes """realized in"" (or delete, since there should be subs?)" http://vivoweb.org/ontology/core#roleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleRealizedIn http://purl.obolibrary.org/obo/BFO_0000054 Yes z http://vivoweb.org/ontology/core#roomWithinBuilding http://purl.obolibrary.org/obo/RO_0001025 Yes double check this http://vivoweb.org/ontology/core#seriesForEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#serviceProvidedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#serviceProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#subGrantOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#subOrganizationWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#teacherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#trainingAtOrganization http://vivoweb.org/ontology/core#relates Yes double check this http://vivoweb.org/ontology/core#EducationalTraining http://vivoweb.org/ontology/core#EducationalProcess Yes z http://vivoweb.org/ontology/core#URLLink http://www.w3.org/2006/vcard/ns#URL Yes \ No newline at end of file diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/Editorship.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/Editorship.sparql new file mode 100644 index 00000000..0720c346 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/Editorship.sparql @@ -0,0 +1,17 @@ +PREFIX vivo: +PREFIX owl: +PREFIX foaf: + +CONSTRUCT { + ?person vivo:relatedBy _:Editorship . + _:Editorship a vivo:Editorship . + _:Editorship vivo:relates ?person . + _:Editorship vivo:relates ?document . + ?document vivo:relatedBy _:Editorship . +} WHERE { + { + ?person vivo:editorOf ?document + } UNION { + ?document vivo:editor ?person + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/Grant.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/Grant.sparql similarity index 85% rename from productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/Grant.sparql rename to productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/Grant.sparql index 8b34b1b5..f0a2a4a8 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/Grant.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/Grant.sparql @@ -8,4 +8,5 @@ CONSTRUCT { } WHERE { ?agent ?role . ?role vivo:relatedBy ?grant + FILTER NOT EXISTS { ?grant vivo:relates ?agent } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/awardedDegree.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql similarity index 100% rename from productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/awardedDegree.sparql rename to productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2.sparql index ae21fbab..499d0bbb 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard2.sparql @@ -2,6 +2,7 @@ PREFIX arg: PREFIX foaf: PREFIX v: PREFIX vivo: +PREFIX bibo: CONSTRUCT { ?vcard v:hasName _:name . @@ -9,6 +10,8 @@ CONSTRUCT { _:name v:givenName ?firstName . _:name vivo:middleName ?middleName . _:name v:familyName ?lastName . + _:name v:honorificPrefix ?prefix . + _:name v:honorificSuffix ?suffix . } WHERE { ?s arg:ARG_2000028 ?vcard . OPTIONAL { @@ -23,5 +26,11 @@ CONSTRUCT { ?s vivo:middleName ?middleName BIND("yes" as ?test) } + OPTIONAL { + ?s bibo:prefixName ?prefix + } + OPTIONAL { + ?s bibo:suffixName ?suffix + } FILTER(bound(?test)) } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/EditorshipDel.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/EditorshipDel.sparql new file mode 100644 index 00000000..dd934496 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/EditorshipDel.sparql @@ -0,0 +1,14 @@ +PREFIX vivo: +PREFIX owl: +PREFIX foaf: + +CONSTRUCT { + ?person vivo:editorOf ?document . + ?document vivo:editor ?person +} WHERE { + { + ?person vivo:editorOf ?document + } UNION { + ?document vivo:editor ?person + } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/awardedDegreeDel.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/post/awardedDegreeDel.sparql similarity index 76% rename from productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/awardedDegreeDel.sparql rename to productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/post/awardedDegreeDel.sparql index faafb687..6d169b25 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/awardedDegreeDel.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/post/awardedDegreeDel.sparql @@ -8,11 +8,13 @@ CONSTRUCT { ?educationalProcess vivo:relates ?org . ?org vivo:relatedBy ?educationalProcess . } WHERE { + ?educationalProcess ?degree . + ?person ?educationalProcess . + ?educationalProcess a vivo:EducationalProcess . ?educationalProcess ?degree . OPTIONAL { ?degree ?educationalProcess } OPTIONAL { ?educationalProcess vivo:relates ?org . ?org a foaf:Organization . } - ?degree a vivo:AcademicDegree . } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql index 7df305a2..439b7599 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/vcardDel.sparql @@ -2,11 +2,14 @@ PREFIX arg: PREFIX foaf: PREFIX v: PREFIX vivo: +PREFIX bibo: CONSTRUCT { ?s foaf:firstName ?firstName . ?s foaf:lastName ?lastName . ?s vivo:middleName ?middleName . + ?s bibo:prefixName ?prefix . + ?s bibo:suffixName ?suffix . ?s vivo:email ?email . ?s vivo:primaryEmail ?primaryEmail . ?s vivo:phoneNumber ?phoneNumber . @@ -25,6 +28,12 @@ CONSTRUCT { } UNION { ?s vivo:middleName ?middleName + } + UNION { + ?s bibo:prefixName ?prefix + } + UNION { + ?s bibo:suffixName ?suffix } UNION { ?s vivo:email ?email diff --git a/rdf/display/everytime/.PropertyConfig.n3.swp b/rdf/display/everytime/.PropertyConfig.n3.swp new file mode 100644 index 0000000000000000000000000000000000000000..17d5e92c1175828959d726802aaeee5ac1529a00 GIT binary patch literal 16384 zcmeHOON1+qMXF+pmkYi1gIy4vcVnH^0a z@j!@2^?*cf8Zq%=yqFk`i3u?gOgs>c9yGy&Ui2V(67Z|8>e-puX?9o;2&qoK^iI9& ztN*Y1|G#UCxqaIv$O?PR!t;=2o%t?5*;;dI=-eX9DjxDjlXRJPg~#`bBS~2se+epD zc8QCC`M%BEdPlv(Ng*c^C8tt#8eW4t!YwGHFkl!k3>XFs1BQXy zlz}*0XdS`a?$GnwqTlm+-k0^WR;O?6$-kuY*Xi`5J^2@V>Ywh(|5xWfr_&ec0i@%Y zuhW<6_lBN)oorr)0mFb{z%XDKFbo(53GHFkl!k4D?}ux|a1A(sxLI8sGm@ z|NrcRmUR+%9=P~`Wqk=816Bh6;BLSt!0W&SupPL3zhzwlE&?9{r+_A~9(WS?`990~ z0{9#_0vrS$0lvD|vfcwKz}b6n{{VO!*bn4^Kkv4zZ-KMGF~A3&0KUEp{Qy32W}#($ z0~`k^PyjC7X<0u3KLRI!?Z6UXK5%-0WgP|nKv3ZX@D5M}mICJy2zehk2)qb94x9rw z9{_IvlBWrv|3e6Ac(LGxs^_{a*erN$qq^O&p832v$$hpR*Bt!uAmA|(_*n?+Mc*rt z)mFQ%z7H`;gO^pge3Dtv={snRk)eo*hF4-F<|M8%5(-{sQRMMpNHtaPy(r%2v8K91 zvDx!csXJ|?N+UTUd#dIS9XK!*xrHbeUQj^`J}*(ffC9T!Ke&<6@LVQjdDSAJq_DGi zh?U~>wuYXm&Q8Wm}HPtu{3yu@kg>UmBPw$OzQE~9o*)+NH zrJQ{7qicz6$ts?%q$5~9)@}oIsL9m@jX^aTfTdZfl;e?Hs+RQtF={nwtZQ-;W{cqUusvpZb*9OR zc0yMWbDvjQ!-?RfYmt;MdJrvM5j3oNCGeu)2DTqZ2Y}AyX4dK2{`|eJS z1_9Q^PRiTpj)oyF^msAu+VVfJ0WThSF5olEzm1& za)H&jFyX3K^kU{p<=Gp$G-dRkybl0h~Ck9T;*b0 zFrK`lsuyOf;LNg0P-a&@B|x33C&i{P-D$RBrRq5cwMzOB%*V1xZCAU1+(^{0yEP|s za;etzEpSDRxgpZMQ&ec+y_&52RvPW%5!8VPTe0PG(aMl=wT-Fq&Fy%|l+xvz=4;w5 zXu0h9UNWclj@Nx)^gTqd2erAtPLgubPokxkcdJs!c<3{!J8CP7$)?~|P=+ry+uMF69tKwKUyjY&OXr0By)CINR@v^uea^$AXDNb*sT zMY3qAE(8l=zeS>Y7;+KIvNanv{JJ7VGwFG!Or6y5>A1w~1QG5l!?1V8!w}|rvP-H} z(kGfUQ>}HOU}bL#`!o*Pj#g({YYrM`!--9nR#KwSuEnNk4SQo^ z_Wa11uGl>(w;WAV*K9WJ=2*hPD7*nDmzOujN1_szk9Lg%$$hKkSFKv*1RwKsFKB@};@$G0Z^UThH71uGR)=W>$IXYLPen=|;Ob8Fg|i9OQSE zm#$oUQM=3Mo&6KrcTe*t{eS5vzXhLJ`u|I{WBZx*{}1Cm4$K2K!1w8lBbDIZ`4 zZ~c5JWg+XnG{19qm84{37)j4MjS>|uto~u$O)5%#qtG4g%pqcyN`-V9dV{*kO=ySH zQo+cIr}d>Kb+%??X1Q9!!^0$*zx=9z<%wbJ5+q)akTl2tcsB4=BIWajs3z7>M?LrO zZ9y5~?!1?*b=+#DGJ(aWB^j3X{ zl3$ @@ -2086,6 +2087,16 @@ Was called IMPP in vCard. + + + + f1000 link + + F1000 is a place where faculty go to critique papers published in PubMed. Any given record in F1000 might have anywhere from one to dozens of reviews. + + + + diff --git a/rdf/tbox/filegraph/contact.owl b/rdf/tbox/filegraph/contact.owl index d4b9e122..1670a0b9 100644 --- a/rdf/tbox/filegraph/contact.owl +++ b/rdf/tbox/filegraph/contact.owl @@ -78,18 +78,6 @@ - - - - urllink - - The full URL. - Uniform Resource Locator (URL) specifies where an identified resource is available and the mechanism for retrieving it. - http://info.slis.indiana.edu/~katy/ - - - - diff --git a/rdf/tbox/filegraph/publication.owl b/rdf/tbox/filegraph/publication.owl index 776e541f..e73e84a3 100644 --- a/rdf/tbox/filegraph/publication.owl +++ b/rdf/tbox/filegraph/publication.owl @@ -1017,16 +1017,6 @@ This class allows for linking an author to a publication while indicating inform - - - - f1000 link - - F1000, is a place where faculty go to critique papers published in PubMed. Any given record in F1000 might have anywhere from one to dozens of reviews. - - - - From 5f0bd4a74c8ac0c7b45b6942f4777315752ca5e0 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Thu, 19 Sep 2013 16:05:30 -0400 Subject: [PATCH 61/66] awarded degree sparql construct fixes --- .../sparqlConstructs/additions/post/awardedDegree.sparql | 1 + .../sparqlConstructs/deletions/post/awardedDegreeDel.sparql | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql index bbb93e58..1eacd043 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql @@ -16,6 +16,7 @@ CONSTRUCT { ?person ?educationalProcess . ?educationalProcess a vivo:EducationalProcess . ?educationalProcess ?degree . + ?degree a vivo:AcademicDegree . OPTIONAL { ?educationalProcess vivo:relates ?org . ?org a foaf:Organization diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/post/awardedDegreeDel.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/post/awardedDegreeDel.sparql index 6d169b25..6fffd3a5 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/post/awardedDegreeDel.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/post/awardedDegreeDel.sparql @@ -10,8 +10,7 @@ CONSTRUCT { } WHERE { ?educationalProcess ?degree . ?person ?educationalProcess . - ?educationalProcess a vivo:EducationalProcess . - ?educationalProcess ?degree . + ?degree a vivo:AcademicDegree . OPTIONAL { ?degree ?educationalProcess } OPTIONAL { ?educationalProcess vivo:relates ?org . From 4047b4e8a90deac16999e3ddd7eea57e18c36e91 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Fri, 20 Sep 2013 15:42:17 -0400 Subject: [PATCH 62/66] data migration work --- productMods/WEB-INF/ontologies/update/diff.tab.txt | 2 +- .../sparqlConstructs/additions/post/awardedDegree.sparql | 2 +- .../deletions/post/awardedDegreeDel.sparql | 6 +++--- productMods/WEB-INF/resources/startup_listeners.txt | 8 ++++---- .../body/partials/individual/individual-overview.ftl | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/productMods/WEB-INF/ontologies/update/diff.tab.txt b/productMods/WEB-INF/ontologies/update/diff.tab.txt index b88f01d0..c9de9c86 100644 --- a/productMods/WEB-INF/ontologies/update/diff.tab.txt +++ b/productMods/WEB-INF/ontologies/update/diff.tab.txt @@ -1 +1 @@ -http://vivoweb.org/ontology/core#administeredBy complex construct with grant administrator role http://vivoweb.org/ontology/core#administers complex construct with grant administrator role http://vivoweb.org/ontology/core#advisee CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#adviseeIn CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#advisingContributionTo realizedIn? Come back to this. http://vivoweb.org/ontology/core#advisor CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#advisorIn CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#affiliatedOrganization construct Relationship node? http://vivoweb.org/ontology/core#assignedBy patent - come back to this http://vivoweb.org/ontology/core#assignee patent - come back to this http://vivoweb.org/ontology/core#associatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#associatedWithPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#attendeeRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#authorInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardConferred http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#awardConferredBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#awardOrHonor http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardOrHonorFor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#awardsGrant http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#clinicalRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#co-PrincipalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#contributingAdvising come back to this http://vivoweb.org/ontology/core#contributingRole come back to this http://vivoweb.org/ontology/core#courseOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#credentialOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#currentMemberOf http://vivoweb.org/ontology/core#memberOf Yes z http://vivoweb.org/ontology/core#currentlyHeadOf CC or delete? http://vivoweb.org/ontology/core#currentlyHeadedBy CC or delete? http://vivoweb.org/ontology/core#degreeCandidacy revisit http://vivoweb.org/ontology/core#degreeEarned http://purl.obolibrary.org/obo/RO_0002234 Yes z http://vivoweb.org/ontology/core#degreeOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#degreeOutcomeOf http://purl.obolibrary.org/obo/RO_0002353 Yes z http://vivoweb.org/ontology/core#distributes revisit (distributor role?) http://vivoweb.org/ontology/core#distributesFundingFrom revisit http://vivoweb.org/ontology/core#domesticGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#domesticGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#editor CC editorship http://vivoweb.org/ontology/core#editorOf CC editorship http://vivoweb.org/ontology/core#editorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#educationalTraining http://purl.obolibrary.org/obo/RO_0000056 Yes z http://vivoweb.org/ontology/core#educationalTrainingOf http://purl.obolibrary.org/obo/RO_0000057 Yes z http://vivoweb.org/ontology/core#eligibleFor revisit http://vivoweb.org/ontology/core#equipmentInFacility http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#eventWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#geographicLocationOf http://purl.obolibrary.org/obo/RO_0001015 Yes """location of""" http://vivoweb.org/ontology/core#geographicallyContains http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#geographicallyWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#governingAuthorityFor revisit http://vivoweb.org/ontology/core#grantAwardedBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#hasAttendeeRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasAttendeeRoleContext http://vivoweb.org/ontology/core#hasClinicalRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasClinicalRoleContext http://vivoweb.org/ontology/core#hasCo-PrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasCo-PrincipalInvestigatorRoleContext http://vivoweb.org/ontology/core#hasCollaborator http://vivoweb.org/ontology/core#relatedBy Yes CC construct Relationship http://vivoweb.org/ontology/core#hasCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#hasCurrentMember revisit - construct relationship? http://vivoweb.org/ontology/core#hasEditorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasEditorRoleContext http://vivoweb.org/ontology/core#hasGeographicLocation http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#hasGoverningAuthority revisit http://vivoweb.org/ontology/core#hasInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasInvestigatorRoleContext http://vivoweb.org/ontology/core#hasLeaderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasLeaderRoleContext http://vivoweb.org/ontology/core#hasMemberRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasMemberRoleContext http://vivoweb.org/ontology/core#hasOrganizerRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasOrganizerRoleContext http://vivoweb.org/ontology/core#hasOutreachProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasOutreachProviderContext http://vivoweb.org/ontology/core#hasPart http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasPredecessorOrganization revisit http://vivoweb.org/ontology/core#hasPresenterRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasPresenterRoleContext http://vivoweb.org/ontology/core#hasPrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasPrincipalInvestigatorRoleContext http://vivoweb.org/ontology/core#hasResearcherRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasResearcherRoleContext http://vivoweb.org/ontology/core#hasReviewerRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasReviewerRoleContext http://vivoweb.org/ontology/core#hasRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasRoom http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#hasServiceProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasServiceProviderRoleContext http://vivoweb.org/ontology/core#hasSubOrganization http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasSuccessorOrganization revisit http://vivoweb.org/ontology/core#hasTeacherRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#inEventSeries http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#includesEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#informationProduct revisit http://vivoweb.org/ontology/core#informationProductOf revisit http://vivoweb.org/ontology/core#informationResourceInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#internationalGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#internationalGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#investigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes """inheres in""" http://vivoweb.org/ontology/core#issuanceOfCredential http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#issuedCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#leaderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#linkedAuthor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#linkedInformationResource http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#locationOfEquipment http://purl.obolibrary.org/obo/RO_0001015 Yes z http://vivoweb.org/ontology/core#mailingAddress VCard http://vivoweb.org/ontology/core#mailingAddressFor VCard http://vivoweb.org/ontology/core#memberRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#offersCourse http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#offersDegree http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#organizationForPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizationForTraining http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#outcome revisit: RO? http://vivoweb.org/ontology/core#outcomeOf revisit: RO? http://vivoweb.org/ontology/core#outreachProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#partOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#personInPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#positionForPerson http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#positionInOrganization http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#presenterRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#principalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#providesService http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#realizedRole http://purl.obolibrary.org/obo/BFO_0000055 Yes """realizes""" http://vivoweb.org/ontology/core#receipt http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#receiptOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#relatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#researcherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#reviewerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleContributesTo http://vivoweb.org/ontology/core#relatedBy Yes may not apply in all situations http://vivoweb.org/ontology/core#roleIn http://purl.obolibrary.org/obo/BFO_0000054 Yes """realized in"" (or delete, since there should be subs?)" http://vivoweb.org/ontology/core#roleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleRealizedIn http://purl.obolibrary.org/obo/BFO_0000054 Yes z http://vivoweb.org/ontology/core#roomWithinBuilding http://purl.obolibrary.org/obo/RO_0001025 Yes double check this http://vivoweb.org/ontology/core#seriesForEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#serviceProvidedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#serviceProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#subGrantOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#subOrganizationWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#teacherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#trainingAtOrganization http://vivoweb.org/ontology/core#relates Yes double check this http://vivoweb.org/ontology/core#EducationalTraining http://vivoweb.org/ontology/core#EducationalProcess Yes z http://vivoweb.org/ontology/core#URLLink http://www.w3.org/2006/vcard/ns#URL Yes \ No newline at end of file +http://vivoweb.org/ontology/core#administeredBy complex construct with grant administrator role http://vivoweb.org/ontology/core#administers complex construct with grant administrator role http://vivoweb.org/ontology/core#advisee CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#adviseeIn CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#advisingContributionTo realizedIn? Come back to this. http://vivoweb.org/ontology/core#advisor CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#advisorIn CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#affiliatedOrganization construct Relationship node? http://vivoweb.org/ontology/core#assignedBy patent - come back to this http://vivoweb.org/ontology/core#assignee patent - come back to this http://vivoweb.org/ontology/core#associatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#associatedWithPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#attendeeRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#authorInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardConferred http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#awardConferredBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#awardOrHonor http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardOrHonorFor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#awardsGrant http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#clinicalRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#co-PrincipalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#contributingAdvising come back to this http://vivoweb.org/ontology/core#contributingRole http://vivoweb.org/ontology/core#contributingRole Yes no migration http://vivoweb.org/ontology/core#courseOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#credentialOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#currentMemberOf http://vivoweb.org/ontology/core#memberOf Yes z http://vivoweb.org/ontology/core#currentlyHeadOf CC or delete? http://vivoweb.org/ontology/core#currentlyHeadedBy CC or delete? http://vivoweb.org/ontology/core#degreeCandidacy revisit http://vivoweb.org/ontology/core#degreeEarned http://purl.obolibrary.org/obo/RO_0002234 Yes z http://vivoweb.org/ontology/core#degreeOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#degreeOutcomeOf http://purl.obolibrary.org/obo/RO_0002353 Yes z http://vivoweb.org/ontology/core#distributes revisit (distributor role?) http://vivoweb.org/ontology/core#distributesFundingFrom revisit http://vivoweb.org/ontology/core#domesticGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#domesticGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#editor CC editorship http://vivoweb.org/ontology/core#editorOf CC editorship http://vivoweb.org/ontology/core#editorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#educationalTraining http://purl.obolibrary.org/obo/RO_0000056 Yes z http://vivoweb.org/ontology/core#educationalTrainingOf http://purl.obolibrary.org/obo/RO_0000057 Yes z http://vivoweb.org/ontology/core#eligibleFor revisit http://vivoweb.org/ontology/core#equipmentInFacility http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#eventWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#geographicLocationOf http://purl.obolibrary.org/obo/RO_0001015 Yes """location of""" http://vivoweb.org/ontology/core#geographicallyContains http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#geographicallyWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#governingAuthorityFor revisit http://vivoweb.org/ontology/core#grantAwardedBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#hasAttendeeRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasAttendeeRoleContext http://vivoweb.org/ontology/core#hasClinicalRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasClinicalRoleContext http://vivoweb.org/ontology/core#hasCo-PrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasCo-PrincipalInvestigatorRoleContext http://vivoweb.org/ontology/core#hasCollaborator http://vivoweb.org/ontology/core#relatedBy Yes CC construct Relationship http://vivoweb.org/ontology/core#hasCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#hasCurrentMember revisit - construct relationship? http://vivoweb.org/ontology/core#hasEditorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasEditorRoleContext http://vivoweb.org/ontology/core#hasGeographicLocation http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#hasGoverningAuthority revisit http://vivoweb.org/ontology/core#hasInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasInvestigatorRoleContext http://vivoweb.org/ontology/core#hasLeaderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasLeaderRoleContext http://vivoweb.org/ontology/core#hasMemberRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasMemberRoleContext http://vivoweb.org/ontology/core#hasOrganizerRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasOrganizerRoleContext http://vivoweb.org/ontology/core#hasOutreachProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasOutreachProviderContext http://vivoweb.org/ontology/core#hasPart http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasPredecessorOrganization revisit http://vivoweb.org/ontology/core#hasPresenterRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasPresenterRoleContext http://vivoweb.org/ontology/core#hasPrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasPrincipalInvestigatorRoleContext http://vivoweb.org/ontology/core#hasResearcherRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasResearcherRoleContext http://vivoweb.org/ontology/core#hasReviewerRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasReviewerRoleContext http://vivoweb.org/ontology/core#hasRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasRoom http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#hasServiceProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasServiceProviderRoleContext http://vivoweb.org/ontology/core#hasSubOrganization http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasSuccessorOrganization revisit http://vivoweb.org/ontology/core#hasTeacherRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#inEventSeries http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#includesEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#informationProduct revisit http://vivoweb.org/ontology/core#informationProductOf revisit http://vivoweb.org/ontology/core#informationResourceInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#internationalGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#internationalGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#investigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes """inheres in""" http://vivoweb.org/ontology/core#issuanceOfCredential http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#issuedCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#leaderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#linkedAuthor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#linkedInformationResource http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#locationOfEquipment http://purl.obolibrary.org/obo/RO_0001015 Yes z http://vivoweb.org/ontology/core#mailingAddress VCard http://vivoweb.org/ontology/core#mailingAddressFor VCard http://vivoweb.org/ontology/core#memberRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#offersCourse http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#offersDegree http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#organizationForPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizationForTraining http://purl.obolibrary.org/obo/RO_0000056 Yes z http://vivoweb.org/ontology/core#organizerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#outcome revisit: RO? http://vivoweb.org/ontology/core#outcomeOf revisit: RO? http://vivoweb.org/ontology/core#outreachProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#partOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#personInPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#positionForPerson http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#positionInOrganization http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#presenterRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#principalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#providesService http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#realizedRole http://purl.obolibrary.org/obo/BFO_0000055 Yes """realizes""" http://vivoweb.org/ontology/core#receipt http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#receiptOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#relatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#researcherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#reviewerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleContributesTo http://vivoweb.org/ontology/core#roleContributesTo Yes may not apply in all situations http://vivoweb.org/ontology/core#roleIn http://purl.obolibrary.org/obo/BFO_0000054 Yes """realized in"" (or delete, since there should be subs?)" http://vivoweb.org/ontology/core#roleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleRealizedIn http://purl.obolibrary.org/obo/BFO_0000054 Yes z http://vivoweb.org/ontology/core#roomWithinBuilding http://purl.obolibrary.org/obo/RO_0001025 Yes double check this http://vivoweb.org/ontology/core#seriesForEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#serviceProvidedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#serviceProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#subGrantOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#subOrganizationWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#teacherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#trainingAtOrganization http://purl.obolibrary.org/obo/RO_0000057 Yes double check this http://vivoweb.org/ontology/core#EducationalTraining http://vivoweb.org/ontology/core#EducationalProcess Yes z http://vivoweb.org/ontology/core#ServiceProviderRole http://purl.obolibrary.org/obo/ERO_0000012 Yes - http://vivoweb.org/ontology/core#URLLink http://www.w3.org/2006/vcard/ns#URL Yes - \ No newline at end of file diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql index 1eacd043..966de0e0 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql @@ -18,7 +18,7 @@ CONSTRUCT { ?educationalProcess ?degree . ?degree a vivo:AcademicDegree . OPTIONAL { - ?educationalProcess vivo:relates ?org . + ?educationalProcess ?org . ?org a foaf:Organization } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/post/awardedDegreeDel.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/post/awardedDegreeDel.sparql index 6fffd3a5..5d2ad1c6 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/post/awardedDegreeDel.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/deletions/post/awardedDegreeDel.sparql @@ -5,15 +5,15 @@ PREFIX foaf: CONSTRUCT { ?educationalProcess ?degree . ?degree ?educationalProcess . - ?educationalProcess vivo:relates ?org . - ?org vivo:relatedBy ?educationalProcess . + ?educationalProcess ?org . + ?org ?educationalProcess . } WHERE { ?educationalProcess ?degree . ?person ?educationalProcess . ?degree a vivo:AcademicDegree . OPTIONAL { ?degree ?educationalProcess } OPTIONAL { - ?educationalProcess vivo:relates ?org . + ?educationalProcess ?org . ?org a foaf:Organization . } } diff --git a/productMods/WEB-INF/resources/startup_listeners.txt b/productMods/WEB-INF/resources/startup_listeners.txt index 93794994..b0cb3e8d 100644 --- a/productMods/WEB-INF/resources/startup_listeners.txt +++ b/productMods/WEB-INF/resources/startup_listeners.txt @@ -32,14 +32,14 @@ edu.cornell.mannlib.vitro.webapp.web.images.PlaceholderUtil$Setup # Update the URIs on Permission Sets on UserAccounts from model (1.4) to 1.5. edu.cornell.mannlib.vitro.webapp.servlet.setup.UpdatePermissionSetUris -# Invokes process to perform updates to align with ontology changes if needed --> -# Needs to run before submodels are attached and Pellet is set up --> -edu.cornell.mannlib.vitro.webapp.servlet.setup.UpdateKnowledgeBase - edu.cornell.mannlib.vitro.webapp.servlet.setup.FileGraphSetup edu.cornell.mannlib.vitro.webapp.servlet.setup.SimpleReasonerSetup +# Invokes process to perform updates to align with ontology changes if needed --> +# Needs to run before submodels are attached and Pellet is set up --> +edu.cornell.mannlib.vitro.webapp.servlet.setup.UpdateKnowledgeBase + # Must run after JenaDataSourceSetup edu.cornell.mannlib.vitro.webapp.servlet.setup.ThemeInfoSetup diff --git a/productMods/templates/freemarker/body/partials/individual/individual-overview.ftl b/productMods/templates/freemarker/body/partials/individual/individual-overview.ftl index 584bcbc9..ae3d0136 100644 --- a/productMods/templates/freemarker/body/partials/individual/individual-overview.ftl +++ b/productMods/templates/freemarker/body/partials/individual/individual-overview.ftl @@ -10,7 +10,7 @@
    ${statement.value}
    - <@p.editingLinks "${overview.name}" statement editable /> + <@p.editingLinks "${overview.name}" "" statement editable /> - \ No newline at end of file + From fca87953d2bb7bd16e39eca7f07dd791879494d1 Mon Sep 17 00:00:00 2001 From: tworrall Date: Mon, 23 Sep 2013 09:04:22 -0400 Subject: [PATCH 63/66] VIVO-112 --- .../config/listViewConfig-hasAttendeeRole.xml | 739 +++++++++--------- .../listViewConfig-hasEditReviewRole.xml | 164 ---- .../config/listViewConfig-hasEditorRole.xml | 122 +++ .../config/listViewConfig-hasReviewerRole.xml | 122 +++ productMods/config/listViewConfig-hasRole.xml | 1 - .../config/listViewConfig-relatedRole.xml | 47 +- .../individual--foaf-person-2column.ftl | 2 +- .../individual--foaf-person-quickview.ftl | 2 +- .../propStatement-hasEditReviewRole.ftl | 5 +- .../edit/forms/addReviewerRoleToPerson.ftl | 58 +- rdf/display/everytime/PropertyConfig.n3 | 51 +- rdf/display/everytime/vivoListViewConfig.rdf | 92 +-- .../AddGrantRoleToPersonGenerator.java | 5 +- .../AddReviewerRoleToPersonGenerator.java | 128 +-- .../templates/individual--foaf-person.ftl | 2 +- 15 files changed, 804 insertions(+), 736 deletions(-) delete mode 100644 productMods/config/listViewConfig-hasEditReviewRole.xml create mode 100644 productMods/config/listViewConfig-hasEditorRole.xml create mode 100644 productMods/config/listViewConfig-hasReviewerRole.xml diff --git a/productMods/config/listViewConfig-hasAttendeeRole.xml b/productMods/config/listViewConfig-hasAttendeeRole.xml index 39ce6996..9e5a407f 100644 --- a/productMods/config/listViewConfig-hasAttendeeRole.xml +++ b/productMods/config/listViewConfig-hasAttendeeRole.xml @@ -1,354 +1,385 @@ - - - - - - - - PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX vivo: <http://vivoweb.org/ontology/core#> - PREFIX owl: <http://www.w3.org/2002/07/owl#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - PREFIX event: <http://purl.org/NET/c4dm/event.owl#> - - SELECT DISTINCT ?subclass - ?role ?roleLabel - ?event1 ?event1Name ?event1Label - ?event2 ?event2Label - ?series ?seriesLabel - ?event3 - ?dateTimeStart - ?dateTimeEnd - - WHERE { - - ?subject ?property ?role - - OPTIONAL { ?role rdfs:label ?roleLabel } - - OPTIONAL { ?role vivo:roleRealizedIn ?event1 - LET (?event1Name := afn:localname(?event1)) - - OPTIONAL { ?event1 rdfs:label ?event1Label } - - OPTIONAL { ?event2 a event:Event . - OPTIONAL { ?event2 rdfs:label ?event2Label } - - { - ?event1 vivo:eventWithin ?event2 - } UNION { - ?event2 vivo:includesEvent ?event1 - } - } - OPTIONAL { - { - ?event1 vivo:eventWithin ?event3 . - ?event3 vivo:eventWithin ?event2 - } UNION { - ?event2 vivo:includesEvent ?event3 . - ?event3 vivo:includesEvent ?event1 - - } - OPTIONAL { ?event2 rdfs:label ?event2Label } - } - - - OPTIONAL { ?series a vivo:EventSeries . - OPTIONAL { ?series rdfs:label ?seriesLabel } - - { - ?event1 vivo:inEventWithin ?series - } UNION { - ?series vivo:seriesForEvent ?event1 - } - } - OPTIONAL { - { - ?event1 vivo:eventWithin ?event3 . - ?event3 vivo:inEventSeries ?series - } UNION { - ?event3 vivo:includesEvent ?event1 . - ?series vivo:seriesForEvent ?event3 - } - OPTIONAL { ?series rdfs:label ?seriesLabel } - } - - - ?event1 vitro:mostSpecificType ?subclass . - - { - ?subclass rdfs:subClassOf event:Event - } UNION { - ?subclass owl:equivalentClass event:Event - } - - - } - - OPTIONAL { ?role vivo:dateTimeInterval ?dateTimeInterval - OPTIONAL { ?dateTimeInterval vivo:start ?dateTimeStartValue . - ?dateTimeStartValue vivo:dateTime ?dateTimeStart - } - OPTIONAL { ?dateTimeInterval vivo:end ?dateTimeEndValue . - ?dateTimeEndValue vivo:dateTime ?dateTimeEnd - } - } - - - FILTER ( bound(?event1) ) - - - } ORDER BY ?subclass DESC(?dateTime) ?event1Label ?event1Name - - - - PREFIX vivo: <http://vivoweb.org/ontology/core#> - PREFIX owl: <http://www.w3.org/2002/07/owl#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - PREFIX event: <http://purl.org/NET/c4dm/event.owl#> - - CONSTRUCT { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?event1 vitro:mostSpecificType ?subclass . - ?subclass rdfs:subClassOf event:Event . - ?subclass owl:equivalentClass event:Event . - } WHERE { - { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?event1 vitro:mostSpecificType ?subclass . - ?subclass rdfs:subClassOf event:Event - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?event1 vitro:mostSpecificType ?subclass . - ?subclass owl:equivalentClass event:Event - } - } - - - - PREFIX vivo: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - CONSTRUCT { - ?subject ?property ?role . - ?role ?roleProperty ?roleValue . - ?event1 rdfs:label ?event1Label - } WHERE { - { - ?subject ?property ?role - } UNION { - ?subject ?property ?role . - ?role ?roleProperty ?roleValue - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?event1 rdfs:label ?event1Label - } - } - - - - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX vivo: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX event: <http://purl.org/NET/c4dm/event.owl#> - - CONSTRUCT { - ?subject ?property ?role . - ?event2 a event:Event . - ?event1 vivo:eventWithin ?event2 . - ?event2 vivo:includesEvent ?event1 . - ?event2 rdfs:label ?event2Label - } WHERE { - - { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?event2 a event:Event . - ?event1 vivo:eventWithin ?event2 - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?event2 a event:Event . - ?event1 vivo:eventWithin ?event2 . - ?event2 rdfs:label ?event2Label - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?event2 a event:Event . - ?event2 vivo:includesEvent ?event1 - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?event2 a event:Event . - ?event2 vivo:includesEvent ?event1 . - ?event2 rdfs:label ?event2Label - } - } - - - - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX vivo: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX event: <http://purl.org/NET/c4dm/event.owl#> - - CONSTRUCT { - ?subject ?property ?role . - ?event3 vivo:eventWithin ?event2 . - ?event2 vivo:includesEvent ?event3 . - ?event2 a event:Event . - ?event1 vivo:eventWithin ?event3 . - ?event3 vivo:includesEvent ?event1 . - ?event2 rdfs:label ?event2Label - } WHERE { - { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?event2 a event:Event . - ?event1 vivo:eventWithin ?event3 . - ?event3 vivo:eventWithin ?event2 - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?event2 a event:Event . - ?event1 vivo:eventWithin ?event3 . - ?event3 vivo:eventWithin ?event2 . - ?event2 rdfs:label ?event2Label - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?event2 a event:Event . - ?event2 vivo:includesEvent ?event3 . - ?event3 vivo:includesEvent ?event1 - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?event2 a event:Event . - ?event2 vivo:includesEvent ?event3 . - ?event3 vivo:includesEvent ?event1 . - ?event2 rdfs:label ?event2Label - } - } - - - - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX vivo: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX event: <http://purl.org/NET/c4dm/event.owl#> - - CONSTRUCT { - ?subject ?property ?role . - ?series a vivo:EventSeries . - ?event1 vivo:inEventSeries ?series . - ?series vivo:seriesForEvent ?event1 . - ?series rdfs:label ?seriesLabel - } WHERE { - - { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?series a vivo:EventSeries . - ?event1 vivo:inEventSeries ?series - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?series a vivo:EventSeries . - ?event1 vivo:inEventSeries ?series . - ?series rdfs:label ?seriesLabel - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?series a vivo:EventSeries . - ?series vivo:seriesForEvent ?event1 - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?series a vivo:EventSeries . - ?series vivo:seriesForEvent ?event1 . - ?series rdfs:label ?seriesLabel - } - } - - - - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX vivo: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - - CONSTRUCT { - ?subject ?property ?role . - ?workshop vivo:inEventSeries ?series . - ?series vivo:seriesForEvent ?event3 . - ?series a vivo:EventSeries . - ?event1 vivo:eventWithin ?event3 . - ?event3 vivo:includesEvent ?event1 . - ?series rdfs:label ?seriesLabel - } WHERE { - { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?series a vivo:EventSeries . - ?event1 vivo:eventWithin ?event3 . - ?event3 vivo:inEventSeries ?series - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?series a vivo:EventSeries . - ?event1 vivo:eventWithin ?event3 . - ?event3 vivo:inEventSeries ?series . - ?series rdfs:label ?seriesLabel - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?series a vivo:EventSeries . - ?series vivo:seriesForEvent ?event3 . - ?workshop vivo:includesEvent ?event1 - } UNION { - ?subject ?property ?role . - ?role vivo:roleRealizedIn ?event1 . - ?series a vivo:EventSeries . - ?series vivo:seriesForEvent ?event3 . - ?event3 vivo:includesEvent ?event1 . - ?series rdfs:label ?seriesLabel - } - } - - - - PREFIX vivo: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?role . - ?role vivo:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval vivo:start ?dateTimeStartValue . - ?dateTimeStartValue vivo:dateTime ?dateTimeStart - } WHERE { - ?subject ?property ?role . - ?role vivo:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval vivo:start ?dateTimeStartValue . - ?dateTimeStartValue vivo:dateTime ?dateTimeStart - } - - - - PREFIX vivo: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?role . - ?role vivo:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval vivo:end ?dateTimeEndValue . - ?dateTimeEndValue vivo:dateTime ?dateTimeEnd - } WHERE { - ?subject ?property ?role . - ?role vivo:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval vivo:end ?dateTimeEndValue . - ?dateTimeEndValue vivo:dateTime ?dateTimeEnd - } - - - + + + + + + + + PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX vivo: <http://vivoweb.org/ontology/core#> + PREFIX owl: <http://www.w3.org/2002/07/owl#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + PREFIX event: <http://purl.org/NET/c4dm/event.owl#> + + SELECT DISTINCT ?subclass + ?role ?roleLabel + ?event1 ?event1Name ?event1Label + ?event2 ?event2Label + ?series ?seriesLabel + ?event3 + ?dateTimeStart + ?dateTimeEnd + + WHERE { + + ?subject ?property ?role + + OPTIONAL { ?role rdfs:label ?roleLabel } + + OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 + LET (?event1Name := afn:localname(?event1)) + + OPTIONAL { ?event1 rdfs:label ?event1Label } + + OPTIONAL { ?event2 a event:Event . + OPTIONAL { ?event2 rdfs:label ?event2Label } + + { + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2 + } UNION { + ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 + } + } + OPTIONAL { + { + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 . + ?event3 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2 + } UNION { + ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event3 . + ?event3 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 + + } + OPTIONAL { ?event2 rdfs:label ?event2Label } + } + + + OPTIONAL { ?series a vivo:EventSeries . + OPTIONAL { ?series rdfs:label ?seriesLabel } + + { + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?series + } UNION { + ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 + } + } + OPTIONAL { + { + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 . + ?event3 <http://purl.obolibrary.org/obo/BFO_0000050> ?series + } UNION { + ?event3 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 . + ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event3 + } + OPTIONAL { ?series rdfs:label ?seriesLabel } + } + + + ?event1 vitro:mostSpecificType ?subclass . + + { + ?subclass rdfs:subClassOf event:Event + } UNION { + ?subclass owl:equivalentClass event:Event + } + + + } + + OPTIONAL { ?role vivo:dateTimeInterval ?dateTimeInterval + OPTIONAL { ?dateTimeInterval vivo:start ?dateTimeStartValue . + ?dateTimeStartValue vivo:dateTime ?dateTimeStart + } + OPTIONAL { ?dateTimeInterval vivo:end ?dateTimeEndValue . + ?dateTimeEndValue vivo:dateTime ?dateTimeEnd + } + } + + + FILTER ( bound(?event1) ) + + + } ORDER BY ?subclass DESC(?dateTime) ?event1Label ?event1Name + + + + PREFIX vivo: <http://vivoweb.org/ontology/core#> + PREFIX owl: <http://www.w3.org/2002/07/owl#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + PREFIX event: <http://purl.org/NET/c4dm/event.owl#> + + CONSTRUCT { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?event1 vitro:mostSpecificType ?subclass . + ?subclass rdfs:subClassOf event:Event . + ?subclass owl:equivalentClass event:Event . + } WHERE { + { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?event1 vitro:mostSpecificType ?subclass . + ?subclass rdfs:subClassOf event:Event + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?event1 vitro:mostSpecificType ?subclass . + ?subclass owl:equivalentClass event:Event + } + } + + + + PREFIX vivo: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + CONSTRUCT { + ?subject ?property ?role . + ?role a ?objectType . + ?role ?roleProperty ?roleValue . + ?event1 rdfs:label ?event1Label + } WHERE { + { + ?subject ?property ?role . + ?role a ?objectType . + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role ?roleProperty ?roleValue + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?event1 rdfs:label ?event1Label + } + } + + + + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX vivo: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX event: <http://purl.org/NET/c4dm/event.owl#> + + CONSTRUCT { + ?subject ?property ?role . + ?role a ?objectType . + ?event2 a event:Event . + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2 . + ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 . + ?event2 rdfs:label ?event2Label + } WHERE { + + { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?event2 a event:Event . + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2 + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?event2 a event:Event . + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2 . + ?event2 rdfs:label ?event2Label + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?event2 a event:Event . + ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?event2 a event:Event . + ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 . + ?event2 rdfs:label ?event2Label + } + } + + + + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX vivo: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX event: <http://purl.org/NET/c4dm/event.owl#> + + CONSTRUCT { + ?subject ?property ?role . + ?role a ?objectType . + ?event3 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2 . + ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event3 . + ?event2 a event:Event . + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 . + ?event3 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 . + ?event2 rdfs:label ?event2Label + } WHERE { + { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?event2 a event:Event . + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 . + ?event3 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2 + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?event2 a event:Event . + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 . + ?event3 <http://purl.obolibrary.org/obo/BFO_0000050> ?event2 . + ?event2 rdfs:label ?event2Label + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?event2 a event:Event . + ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event3 . + ?event3 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?event2 a event:Event . + ?event2 <http://purl.obolibrary.org/obo/BFO_0000051> ?event3 . + ?event3 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 . + ?event2 rdfs:label ?event2Label + } + } + + + + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX vivo: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX event: <http://purl.org/NET/c4dm/event.owl#> + + CONSTRUCT { + ?subject ?property ?role . + ?role a ?objectType . + ?series a vivo:EventSeries . + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?series . + ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 . + ?series rdfs:label ?seriesLabel + } WHERE { + + { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?series a vivo:EventSeries . + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?series + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?series a vivo:EventSeries . + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?series . + ?series rdfs:label ?seriesLabel + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?series a vivo:EventSeries . + ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?series a vivo:EventSeries . + ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 . + ?series rdfs:label ?seriesLabel + } + } + + + + PREFIX bibo: <http://purl.org/ontology/bibo/> + PREFIX vivo: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + + CONSTRUCT { + ?subject ?property ?role . + ?role a ?objectType . + ?workshop <http://purl.obolibrary.org/obo/BFO_0000050> ?series . + ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event3 . + ?series a vivo:EventSeries . + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 . + ?event3 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 . + ?series rdfs:label ?seriesLabel + } WHERE { + { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?series a vivo:EventSeries . + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 . + ?event3 <http://purl.obolibrary.org/obo/BFO_0000050> ?series + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?series a vivo:EventSeries . + ?event1 <http://purl.obolibrary.org/obo/BFO_0000050> ?event3 . + ?event3 <http://purl.obolibrary.org/obo/BFO_0000050> ?series . + ?series rdfs:label ?seriesLabel + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?series a vivo:EventSeries . + ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event3 . + ?workshop <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000054> ?event1 . + ?series a vivo:EventSeries . + ?series <http://purl.obolibrary.org/obo/BFO_0000051> ?event3 . + ?event3 <http://purl.obolibrary.org/obo/BFO_0000051> ?event1 . + ?series rdfs:label ?seriesLabel + } + } + + + + PREFIX vivo: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?role . + ?role a ?objectType . + ?role vivo:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval vivo:start ?dateTimeStartValue . + ?dateTimeStartValue vivo:dateTime ?dateTimeStart + } WHERE { + ?subject ?property ?role . + ?role a ?objectType . + ?role vivo:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval vivo:start ?dateTimeStartValue . + ?dateTimeStartValue vivo:dateTime ?dateTimeStart + } + + + + PREFIX vivo: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?role . + ?role a ?objectType . + ?role vivo:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval vivo:end ?dateTimeEndValue . + ?dateTimeEndValue vivo:dateTime ?dateTimeEnd + } WHERE { + ?subject ?property ?role . + ?role a ?objectType . + ?role vivo:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval vivo:end ?dateTimeEndValue . + ?dateTimeEndValue vivo:dateTime ?dateTimeEnd + } + + + diff --git a/productMods/config/listViewConfig-hasEditReviewRole.xml b/productMods/config/listViewConfig-hasEditReviewRole.xml deleted file mode 100644 index 96770d26..00000000 --- a/productMods/config/listViewConfig-hasEditReviewRole.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - - SELECT DISTINCT ?subclass ?subclassLabel - # send the property to the template, since this view supports multiple role properties - ?property - ?role - ?activity ?activityName - ?activityLabel - ?infoResource ?infoResourceName - ?infoResourceLabel - ?dateTimeStart ?dateTimeEnd WHERE { - - ?subject ?property ?role - - OPTIONAL { ?role core:roleContributesTo ?activity - LET (?activityName := afn:localname(?activity)) - OPTIONAL { ?activity rdfs:label ?activityLabel } - } - - OPTIONAL { ?role core:roleRealizedIn ?activity - LET (?activityName := afn:localname(?activity)) - OPTIONAL { ?activity rdfs:label ?activityLabel } - } - - - # NB Currently we can only retrieve subclass for either the - # infoResource or the activity, but not both. Later, we could have - # the query retrieve both and write a custom preprocessor to merge - # the results into a single subclass column. - ?infoResource vitro:mostSpecificType ?subclass . - - ?subclass rdfs:subClassOf ?superclass - FILTER ( ( ?property = core:hasEditorRole && ?superclass = bibo:Collection ) || - ( ?property = core:hasReviewerRole && ?superclass = core:InformationResource ) - ) - - # Get subclass label for display in uncollated view - ?subclass rdfs:label ?subclassLabel - - OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval - OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart - } - OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd - } - } - - FILTER ( bound(?infoResource) ) - - } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName - - - - PREFIX bibo: <http://purl.org/ontology/bibo/> - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> - - CONSTRUCT { - ?subject ?property ?role . - ?role core:roleContributesTo ?infoResource . - ?infoResource vitro:mostSpecificType ?subclass . - ?subclass rdfs:subClassOf ?superclass . - ?subclass rdfs:label ?subclassLabel - } WHERE { - ?subject ?property ?role . - ?role core:roleContributesTo ?infoResource . - ?infoResource vitro:mostSpecificType ?subclass . - ?subclass rdfs:subClassOf ?superclass . - ?subclass rdfs:label ?subclassLabel - FILTER ( ?superclass = bibo:Collection || ?superclass = core:InformationResource ) - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - CONSTRUCT { - ?subject ?property ?role . - ?role ?roleProperty ?roleValue . - ?activity rdfs:label ?activityName - } WHERE { - { - ?subject ?property ?role - } UNION { - ?subject ?property ?role . - ?role ?roleProperty ?roleValue - } UNION { - ?subject ?property ?role . - ?role core:roleContributesTo ?activity . - ?activity rdfs:label ?activityName - } UNION { - ?subject ?property ?role . - ?role core:roleRealizedIn ?activity . - ?activity rdfs:label ?activityName - } - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?role . - ?role core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart - } WHERE { - ?subject ?property ?role . - ?role core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:start ?dateTimeStartValue . - ?dateTimeStartValue core:dateTime ?dateTimeStart - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subject ?property ?role . - ?role core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd - } WHERE { - ?subject ?property ?role . - ?role core:dateTimeInterval ?dateTimeInterval . - ?dateTimeInterval core:end ?dateTimeEndValue . - ?dateTimeEndValue core:dateTime ?dateTimeEnd - } - - - - PREFIX core: <http://vivoweb.org/ontology/core#> - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - CONSTRUCT { - ?subject ?property ?role . - ?role ?roleProperty ?roleValue . - ?infoResource rdfs:label ?infoResourceLabel - } WHERE { - { - ?subject ?property ?role - } UNION { - ?subject ?property ?role . - ?role ?roleProperty ?roleValue . - } UNION { - ?subject ?property ?role . - ?role core:roleContributesTo ?infoResource . - ?infoResource rdfs:label ?infoResourceLabel . - } - } - - - - \ No newline at end of file diff --git a/productMods/config/listViewConfig-hasEditorRole.xml b/productMods/config/listViewConfig-hasEditorRole.xml new file mode 100644 index 00000000..fbae2795 --- /dev/null +++ b/productMods/config/listViewConfig-hasEditorRole.xml @@ -0,0 +1,122 @@ + + + + + + + + PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + SELECT DISTINCT ?subclass + ?role + ?subclassLabel + ?activity + (afn:localname(?activity) AS ?activityLocal) + ?activityName + ?dateTimeStart + ?dateTimeEnd + WHERE { + + ?subject ?property ?role + OPTIONAL { ?role core:roleContributesTo ?activity . + ?activity vitro:mostSpecificType ?subclass + OPTIONAL { ?activity rdfs:label ?activityName } + OPTIONAL { ?subclass rdfs:label ?subclassLabel } + } + + OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval + OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } + OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } + } + + } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityName + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + CONSTRUCT { + ?subject ?property ?role . + ?role a core:EditorRole . + ?role vitro:mostSpecificType ?roleSubclass . + ?role core:roleContributesTo ?activity . + ?activity rdfs:label ?activityName . + ?activity vitro:mostSpecificType ?subclass . + ?subclass rdfs:label ?subclassLabel + } WHERE { + { + ?subject ?property ?role . + ?role a core:EditorRole . + } UNION { + ?subject ?property ?role . + ?role a core:EditorRole . + ?role vitro:mostSpecificType ?roleSubclass + } UNION { + ?subject ?property ?role . + ?role a core:EditorRole . + ?role core:roleContributesTo ?activity + } UNION { + ?subject ?property ?role . + ?role a core:EditorRole . + ?role core:roleContributesTo ?activity . + ?activity rdfs:label ?activityName . + } UNION { + ?subject ?property ?role . + ?role a core:EditorRole . + ?role core:roleContributesTo ?activity . + ?activity vitro:mostSpecificType ?subclass + } UNION { + ?subject ?property ?role . + ?role a core:EditorRole . + ?role core:roleContributesTo ?activity . + ?activity vitro:mostSpecificType ?subclass . + ?subclass rdfs:label ?subclassLabel + } + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?role . + ?role a core:EditorRole . + ?role core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } WHERE { + ?subject ?property ?role . + ?role a core:EditorRole . + ?role core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?role . + ?role a core:EditorRole . + ?role core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } WHERE { + ?subject ?property ?role . + ?role a core:EditorRole . + ?role core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } + + + + \ No newline at end of file diff --git a/productMods/config/listViewConfig-hasReviewerRole.xml b/productMods/config/listViewConfig-hasReviewerRole.xml new file mode 100644 index 00000000..e65fcada --- /dev/null +++ b/productMods/config/listViewConfig-hasReviewerRole.xml @@ -0,0 +1,122 @@ + + + + + + + + PREFIX afn: <http://jena.hpl.hp.com/ARQ/function#> + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + SELECT DISTINCT ?subclass + ?role + ?subclassLabel + ?activity + (afn:localname(?activity) AS ?activityLocal) + ?activityName + ?dateTimeStart + ?dateTimeEnd + WHERE { + + ?subject ?property ?role + OPTIONAL { ?role core:roleContributesTo ?activity . + ?activity vitro:mostSpecificType ?subclass + OPTIONAL { ?activity rdfs:label ?activityName } + OPTIONAL { ?subclass rdfs:label ?subclassLabel } + } + + OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval + OPTIONAL { ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } + OPTIONAL { ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } + } + + } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityName + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> + PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> + + CONSTRUCT { + ?subject ?property ?role . + ?role a core:ReviewerRole . + ?role vitro:mostSpecificType ?roleSubclass . + ?role core:roleContributesTo ?activity . + ?activity rdfs:label ?activityName . + ?activity vitro:mostSpecificType ?subclass . + ?subclass rdfs:label ?subclassLabel + } WHERE { + { + ?subject ?property ?role . + ?role a core:ReviewerRole . + } UNION { + ?subject ?property ?role . + ?role a core:ReviewerRole . + ?role vitro:mostSpecificType ?roleSubclass + } UNION { + ?subject ?property ?role . + ?role a core:ReviewerRole . + ?role core:roleContributesTo ?activity + } UNION { + ?subject ?property ?role . + ?role a core:ReviewerRole . + ?role core:roleContributesTo ?activity . + ?activity rdfs:label ?activityName . + } UNION { + ?subject ?property ?role . + ?role a core:ReviewerRole . + ?role core:roleContributesTo ?activity . + ?activity vitro:mostSpecificType ?subclass + } UNION { + ?subject ?property ?role . + ?role a core:ReviewerRole . + ?role core:roleContributesTo ?activity . + ?activity vitro:mostSpecificType ?subclass . + ?subclass rdfs:label ?subclassLabel + } + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?role . + ?role a core:ReviewerRole . + ?role core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } WHERE { + ?subject ?property ?role . + ?role a core:ReviewerRole . + ?role core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:start ?dateTimeStartValue . + ?dateTimeStartValue core:dateTime ?dateTimeStart + } + + + + PREFIX core: <http://vivoweb.org/ontology/core#> + CONSTRUCT { + ?subject ?property ?role . + ?role a core:ReviewerRole . + ?role core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } WHERE { + ?subject ?property ?role . + ?role a core:ReviewerRole . + ?role core:dateTimeInterval ?dateTimeInterval . + ?dateTimeInterval core:end ?dateTimeEndValue . + ?dateTimeEndValue core:dateTime ?dateTimeEnd + } + + + + \ No newline at end of file diff --git a/productMods/config/listViewConfig-hasRole.xml b/productMods/config/listViewConfig-hasRole.xml index b4fe60ff..471b748e 100644 --- a/productMods/config/listViewConfig-hasRole.xml +++ b/productMods/config/listViewConfig-hasRole.xml @@ -60,7 +60,6 @@ ?dateTimeEndValue core:dateTime ?dateTimeEnd } } - # NOT EXISTS { ?role core:hideFromDisplay ?hideThis } FILTER ( bound(?activity) && ?objectType = ?roleSubclass ) } ORDER BY ?subclass DESC(?dateTimeEnd) DESC(?dateTimeStart) ?activityLabel ?activityName diff --git a/productMods/config/listViewConfig-relatedRole.xml b/productMods/config/listViewConfig-relatedRole.xml index e3de6ddf..86460c02 100644 --- a/productMods/config/listViewConfig-relatedRole.xml +++ b/productMods/config/listViewConfig-relatedRole.xml @@ -20,22 +20,24 @@ http://vivoweb.org/ontology/core#realizedRole and http://vivoweb.org/ontology/co ?roleLabel ?roleTypeLabel ?indivInRole (afn:localname(?indivInRole) AS ?indivName) ?indivLabel - ?dateTimeInterval ?dateTimeStart ?dateTimeEnd WHERE { + ?dateTimeInterval ?dateTimeStart ?dateTimeEnd ?objectType + WHERE { - ?subject ?property ?role + ?subject ?property ?role . + ?role a ?objectType OPTIONAL { ?role rdfs:label ?roleLabel } # We need ?subclass in the uncollated query to get the roleTypeLabel - # for roles that have no label (e.g., InvestigatorRole and its subclasses). + # for roles that have no label. OPTIONAL { ?role vitro:mostSpecificType ?subclass . - ?subclass rdfs:subClassOf core:Role OPTIONAL { ?subclass rdfs:label ?roleTypeLabel } - ?roleProp rdfs:subPropertyOf core:roleOf ; - rdfs:domain ?subclass . - OPTIONAL { ?role ?roleProp ?indivInRole + OPTIONAL { ?role <http://purl.obolibrary.org/obo/RO_0000052> ?indivInRole OPTIONAL { ?indivInRole rdfs:label ?indivLabel } } + OPTIONAL { ?role <http://purl.obolibrary.org/obo/BFO_0000055> ?indivInRole + OPTIONAL { ?indivInRole rdfs:label ?indivLabel } + } } OPTIONAL { ?role core:dateTimeInterval ?dateTimeInterval @@ -52,46 +54,43 @@ http://vivoweb.org/ontology/core#realizedRole and http://vivoweb.org/ontology/co } ORDER BY ?subclass ?indivLabel ?roleLabel ?roleTypeLabel ?indivName - - PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> - PREFIX core: <http://vivoweb.org/ontology/core#> - CONSTRUCT { - ?subclass rdfs:subClassOf core:Role . - ?roleProp rdfs:subPropertyOf core:roleOf . - ?roleProp rdfs:domain ?subclass - } WHERE { - ?subclass rdfs:subClassOf core:Role . - ?roleProp rdfs:subPropertyOf core:roleOf ; - rdfs:domain ?subclass - } - - PREFIX core: <http://vivoweb.org/ontology/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX vitro: <http://vitro.mannlib.cornell.edu/ns/vitro/0.7#> CONSTRUCT { ?subject ?property ?role . + ?role a ?objectType . ?role ?roleProperty ?roleValue . ?role vitro:mostSpecificType ?subclass . ?subclass rdfs:label ?roleTypeLabel . ?indivInRole rdfs:label ?indivLabel } WHERE { { - ?subject ?property ?role + ?subject ?property ?role . + ?role a ?objectType } UNION { ?subject ?property ?role . + ?role a ?objectType . ?role ?roleProperty ?roleValue } UNION { ?subject ?property ?role . + ?role a ?objectType . ?role vitro:mostSpecificType ?subclass } UNION { ?subject ?property ?role . + ?role a ?objectType . ?role vitro:mostSpecificType ?subclass . ?subclass rdfs:label ?roleTypeLabel } UNION { ?subject ?property ?role . - ?role ?roleProp ?indivInRole . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/RO_0000052> ?indivInRole . + ?indivInRole rdfs:label ?indivLabel + } UNION { + ?subject ?property ?role . + ?role a ?objectType . + ?role <http://purl.obolibrary.org/obo/BFO_0000055> ?indivInRole . ?indivInRole rdfs:label ?indivLabel } } @@ -101,11 +100,13 @@ http://vivoweb.org/ontology/core#realizedRole and http://vivoweb.org/ontology/co PREFIX core: <http://vivoweb.org/ontology/core#> CONSTRUCT { ?subject ?property ?role . + ?role a ?objectType . ?role core:dateTimeInterval ?dateTimeInterval . ?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeStartValue core:dateTime ?dateTimeStart } WHERE { ?subject ?property ?role . + ?role a ?objectType . ?role core:dateTimeInterval ?dateTimeInterval . ?dateTimeInterval core:start ?dateTimeStartValue . ?dateTimeStartValue core:dateTime ?dateTimeStart diff --git a/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl b/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl index b50f47af..4b3887df 100644 --- a/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl +++ b/productMods/templates/freemarker/body/individual/individual--foaf-person-2column.ftl @@ -54,7 +54,7 @@
    ${statement.value}
    <#else> ${statement.value} - <@p.editingLinks "${title.name}" statement editable /> + <@p.editingLinks "${title.name}" "" statement editable /> diff --git a/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl b/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl index 006f1f8e..f957f097 100644 --- a/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl +++ b/productMods/templates/freemarker/body/individual/individual--foaf-person-quickview.ftl @@ -66,7 +66,7 @@
    ${statement.value}
    <#else> ${statement.value} - <@p.editingLinks "${title.name}" statement editable /> + <@p.editingLinks "${title.name}" "" statement editable /> diff --git a/productMods/templates/freemarker/body/partials/individual/propStatement-hasEditReviewRole.ftl b/productMods/templates/freemarker/body/partials/individual/propStatement-hasEditReviewRole.ftl index 3381100f..b7210b9f 100644 --- a/productMods/templates/freemarker/body/partials/individual/propStatement-hasEditReviewRole.ftl +++ b/productMods/templates/freemarker/body/partials/individual/propStatement-hasEditReviewRole.ftl @@ -15,7 +15,7 @@ <#macro showRole statement property> <#local linkedIndividual> <#if statement?has_content && statement.activity?has_content> - ${statement.activityLabel!statement.activityName} + ${statement.activityLabel!statement.activityName!} @@ -24,6 +24,5 @@ <#-- If property is collated, then subclass label is redundant information --> - ${linkedIndividual} <#if ! property.collatedBySubclass>${statement.subclassLabel!} ${dateTime!} - + ${linkedIndividual} <#if ! property.collatedBySubclass> (${statement.subclassLabel!}) ${dateTime!} \ No newline at end of file diff --git a/productMods/templates/freemarker/edit/forms/addReviewerRoleToPerson.ftl b/productMods/templates/freemarker/edit/forms/addReviewerRoleToPerson.ftl index b5616f07..6d1f8e9f 100644 --- a/productMods/templates/freemarker/edit/forms/addReviewerRoleToPerson.ftl +++ b/productMods/templates/freemarker/edit/forms/addReviewerRoleToPerson.ftl @@ -1,29 +1,29 @@ -<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> -<#--Two stage form for service provider role--> - -<#-- -Required Values to be set for each form that includes addRoleToPersonTwoStage.ftl are: -roleDescriptor. -The other required values (roleType, optionsType, objectClassUri, and literalOptions are -set in the JAVA class corresponding to the form, e.g. AddReviewerRoleToPersonGenerator.java. - -Optional values can be set, but each of these has default values -set in addRoleToPersonTwoStage.ftl: - -buttonText -typeSelectorLabel -numDateFields -showRoleLAbelField -roleExamples--> - - -<#--Variable assignments for Add Clinical Role To Person--> -<#assign roleDescriptor = "${i18n().reviewer_of}" /> -<#assign typeSelectorLabel = "${i18n().reviewer_of}" /> -<#assign genericLabel = "${i18n().item_capitalized}" /> - -<#assign acTypes = "{activity: 'http://vivoweb.org/ontology/core#InformationResource'}" /> - -<#--Each of the two stage forms will include the form below--> -<#include "addRoleToPersonTwoStage.ftl"> - +<#-- $This file is distributed under the terms of the license in /doc/license.txt$ --> +<#--Two stage form for service provider role--> + +<#-- +Required Values to be set for each form that includes addRoleToPersonTwoStage.ftl are: +roleDescriptor. +The other required values (roleType, optionsType, objectClassUri, and literalOptions are +set in the JAVA class corresponding to the form, e.g. AddReviewerRoleToPersonGenerator.java. + +Optional values can be set, but each of these has default values +set in addRoleToPersonTwoStage.ftl: + +buttonText +typeSelectorLabel +numDateFields +showRoleLAbelField +roleExamples--> + + +<#--Variable assignments for Add Clinical Role To Person--> +<#assign roleDescriptor = "${i18n().reviewer_of}" /> +<#assign typeSelectorLabel = "${i18n().reviewer_of}" /> +<#assign genericLabel = "${i18n().item_capitalized}" /> + +<#assign acTypes = "{activity: 'http://purl.org/ontology/bibo/Document'}" /> + +<#--Each of the two stage forms will include the form below--> +<#include "addRoleToPersonTwoStage.ftl"> + diff --git a/rdf/display/everytime/PropertyConfig.n3 b/rdf/display/everytime/PropertyConfig.n3 index 1dc439da..764cfbec 100644 --- a/rdf/display/everytime/PropertyConfig.n3 +++ b/rdf/display/everytime/PropertyConfig.n3 @@ -140,7 +140,7 @@ local:hasEditorRoleContext a :ConfigContext ; :qualifiedBy . local:hasEditorRoleConfig a :ObjectPropertyDisplayConfig ; - :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; + :listViewConfigFile "listViewConfig-hasEditorRole.xml"^^xsd:string ; :displayName "collection or series editor for" ; vitro:displayRankAnnot 2; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; @@ -155,7 +155,7 @@ local:hasReviewerRoleContext a :ConfigContext ; :qualifiedBy . local:hasReviewerRoleConfig a :ObjectPropertyDisplayConfig ; - :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; + :listViewConfigFile "listViewConfig-hasReviewerRole.xml"^^xsd:string ; :displayName "reviewer of" ; vitro:displayRankAnnot 3; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; @@ -200,7 +200,7 @@ local:hasAttendeeRoleContext a :ConfigContext ; :qualifiedBy . local:hasAttendeeRoleConfig a :ObjectPropertyDisplayConfig ; - :listViewConfigFile "listViewConfig-hasRole.xml"^^xsd:string ; + :listViewConfigFile "listViewConfig-hasAttendeeRole.xml"^^xsd:string ; :displayName "attended" ; vitro:displayRankAnnot 1; vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; @@ -434,3 +434,48 @@ local:fullNameConfig a :ObjectPropertyDisplayConfig ; vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; vitro:customEntryFormAnnot "edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.AddFullNameToPersonGenerator"^^ ; :propertyGroup . + +### properties using default editing form ## + +local:eventWithinContext a :ConfigContext ; + :hasConfiguration local:eventWithinConfig ; + :configContextFor ; + :qualifiedByDomain ; + :qualifiedBy . + +local:eventWithinConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-default.xml"^^xsd:string ; + :displayName "event within" ; + vitro:displayRankAnnot 1; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + :propertyGroup . + +local:includesEventContext a :ConfigContext ; + :hasConfiguration local:includesEventConfig ; + :configContextFor ; + :qualifiedByDomain ; + :qualifiedBy . + +local:includesEventConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-default.xml"^^xsd:string ; + :displayName "includes event" ; + vitro:displayRankAnnot 2; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + :propertyGroup . + +local:inEventSeriesContext a :ConfigContext ; + :hasConfiguration local:inEventSeriesConfig ; + :configContextFor ; + :qualifiedByDomain ; + :qualifiedBy . + +local:includesEventConfig a :ObjectPropertyDisplayConfig ; + :listViewConfigFile "listViewConfig-default.xml"^^xsd:string ; + :displayName "in event series" ; + vitro:displayRankAnnot 3; + vitro:hiddenFromDisplayBelowRoleLevelAnnot role:public ; + vitro:prohibitedFromUpdateBelowRoleLevelAnnot role:public ; + :propertyGroup . + diff --git a/rdf/display/everytime/vivoListViewConfig.rdf b/rdf/display/everytime/vivoListViewConfig.rdf index dc89515b..4e11905f 100644 --- a/rdf/display/everytime/vivoListViewConfig.rdf +++ b/rdf/display/everytime/vivoListViewConfig.rdf @@ -49,100 +49,16 @@ listViewConfig-advisorIn.xml - - - listViewConfig-hasRole.xml - - + listViewConfig-hasRole.xml - - listViewConfig-hasRole.xml - - - - listViewConfig-hasRole.xml - - - - listViewConfig-hasRole.xml - - - - listViewConfig-hasRole.xml - - - - listViewConfig-hasRole.xml - - - - listViewConfig-hasRole.xml - - - - listViewConfig-hasRole.xml - - - - listViewConfig-hasEditReviewRole.xml - - - - listViewConfig-hasEditReviewRole.xml - - - - listViewConfig-hasPresenterRole.xml - - - - listViewConfig-hasAttendeeRole.xml - - - - - listViewConfig-hasInvestigatorRole.xml - - - - listViewConfig-hasInvestigatorRole.xml - - - - listViewConfig-hasInvestigatorRole.xml - - listViewConfig-researchAreaOf.xml - - - + listViewConfig-relatedRole.xml @@ -150,10 +66,6 @@ listViewConfig-relatedRole.xml - - listViewConfig-relatedRole.xml - - listViewConfig-dateTimeInterval.xml diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java index 157c4ff5..47d4d76c 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddGrantRoleToPersonGenerator.java @@ -608,9 +608,10 @@ public class AddGrantRoleToPersonGenerator implements EditConfigurationGenerator if(rangeUri.equals(getPrincipalInvestigatorURI())) { return getVivoOntologyCoreNamespace() + "PrincipalInvestigatorRole"; } - else if(predicateUri.equals(getCoPrincipalInvestigatorURI())) { + else if(rangeUri.equals(getCoPrincipalInvestigatorURI())) { return getVivoOntologyCoreNamespace() + "CoPrincipalInvestigatorRole"; - } else { + } + else { return getVivoOntologyCoreNamespace() + "InvestigatorRole"; } } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddReviewerRoleToPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddReviewerRoleToPersonGenerator.java index f64254ed..087a4e0d 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddReviewerRoleToPersonGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddReviewerRoleToPersonGenerator.java @@ -1,64 +1,64 @@ -/* $This file is distributed under the terms of the license in /doc/license.txt$ */ - -package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; - -import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; -import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; - -public class AddReviewerRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { - - private static String OBJECT_VCLASS_URI = "http://vivoweb.org/ontology/core#InformationResource"; - - @Override - String getTemplate() { return "addReviewerRoleToPerson.ftl"; } - - //The default activityToRolePredicate and roleToActivityPredicates are - //correct for this subclass so they don't need to be overwritten - - @Override - public String getRoleToActivityPredicate(VitroRequest vreq) { - return ""; - } - - //role type will always be set based on particular form - @Override - public String getRoleType() { - //TODO: Get dynamic way of including vivoweb ontology - return "http://vivoweb.org/ontology/core#ReviewerRole"; - } - - /** - * Each subclass generator will return its own type of option here: - * whether literal hardcoded, based on class group, or subclasses of a specific class - */ - @Override - FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { - return new ChildVClassesOptions(OBJECT_VCLASS_URI) - .setDefaultOptionLabel("Select type"); - } - - //isShowRoleLabelField remains true for this so doesn't need to be overwritten - public boolean isShowRoleLabelField() { - return false; - } - - /* - * Use the methods below to change the date/time precision in the - * custom form associated with this generator. When not used, the - * precision will be YEAR. The other precisons are MONTH, DAY, HOUR, - * MINUTE, TIME and NONE. - */ - /* - public String getStartDatePrecision() { - String precision = VitroVocabulary.Precision.MONTH.uri(); - return precision; - } - - public String getEndDatePrecision() { - String precision = VitroVocabulary.Precision.DAY.uri(); - return precision; - } - */ - -} +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ + +package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; + +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.ChildVClassesOptions; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldOptions; + +public class AddReviewerRoleToPersonGenerator extends AddRoleToPersonTwoStageGenerator { + + private static String OBJECT_VCLASS_URI = "http://purl.org/ontology/bibo/Document"; + + @Override + String getTemplate() { return "addReviewerRoleToPerson.ftl"; } + + //The default activityToRolePredicate and roleToActivityPredicates are + //correct for this subclass so they don't need to be overwritten + +/* @Override + public String getRoleToActivityPredicate(VitroRequest vreq) { + return ""; + } +*/ + //role type will always be set based on particular form + @Override + public String getRoleType() { + //TODO: Get dynamic way of including vivoweb ontology + return "http://vivoweb.org/ontology/core#ReviewerRole"; + } + + /** + * Each subclass generator will return its own type of option here: + * whether literal hardcoded, based on class group, or subclasses of a specific class + */ + @Override + FieldOptions getRoleActivityFieldOptions(VitroRequest vreq) throws Exception { + return new ChildVClassesOptions(OBJECT_VCLASS_URI) + .setDefaultOptionLabel("Select type"); + } + + //isShowRoleLabelField remains true for this so doesn't need to be overwritten + public boolean isShowRoleLabelField() { + return false; + } + + /* + * Use the methods below to change the date/time precision in the + * custom form associated with this generator. When not used, the + * precision will be YEAR. The other precisons are MONTH, DAY, HOUR, + * MINUTE, TIME and NONE. + */ + /* + public String getStartDatePrecision() { + String precision = VitroVocabulary.Precision.MONTH.uri(); + return precision; + } + + public String getEndDatePrecision() { + String precision = VitroVocabulary.Precision.DAY.uri(); + return precision; + } + */ + +} diff --git a/themes/wilma/templates/individual--foaf-person.ftl b/themes/wilma/templates/individual--foaf-person.ftl index 761333be..f5092db0 100644 --- a/themes/wilma/templates/individual--foaf-person.ftl +++ b/themes/wilma/templates/individual--foaf-person.ftl @@ -66,7 +66,7 @@ <@p.addLinkWithLabel title editable /> <#list title.statements as statement> ${statement.value} - <@p.editingLinks "${title.name}" statement editable /> + <@p.editingLinks "${title.name}" "" statement editable /> <#-- If preferredTitle is unpopulated, display mostSpecificTypes --> From 1149ab273bdd60b046b815e58e4ff418d3c699f2 Mon Sep 17 00:00:00 2001 From: brianjlowe Date: Mon, 23 Sep 2013 15:57:28 -0400 Subject: [PATCH 64/66] data migration work --- .../ontologies/update/askUpdated.sparql | 3 - .../WEB-INF/ontologies/update/diff.tab.txt | 2 +- .../additions/AdvisingRelationship.sparql | 2 +- .../additions/LeaderRole.sparql | 15 + .../additions/MemberRole.sparql | 15 + .../additions/grantAdmin.sparql | 17 + .../additions/post/Grant.sparql | 2 +- .../additions/post/awardedDegree.sparql | 7 + .../sparqlConstructs/additions/vcard22.sparql | 14 + .../WEB-INF/ontologies/update/success.n3 | 10 +- rdf/tbox/filegraph/classes-additional.owl | 1185 ++++++ rdf/tbox/filegraph/object-properties.owl | 3 +- rdf/tbox/filegraph/object-properties3.owl | 3245 +++++++++++++++++ 13 files changed, 4507 insertions(+), 13 deletions(-) create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/LeaderRole.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/MemberRole.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/grantAdmin.sparql create mode 100644 productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard22.sparql create mode 100644 rdf/tbox/filegraph/classes-additional.owl create mode 100644 rdf/tbox/filegraph/object-properties3.owl diff --git a/productMods/WEB-INF/ontologies/update/askUpdated.sparql b/productMods/WEB-INF/ontologies/update/askUpdated.sparql index b11b0b85..024bfb78 100644 --- a/productMods/WEB-INF/ontologies/update/askUpdated.sparql +++ b/productMods/WEB-INF/ontologies/update/askUpdated.sparql @@ -3,9 +3,6 @@ PREFIX owl: PREFIX rdf: ASK { - graph { vitro:updatedToOntology ?u . - ?u vitro:updatedOntology . ?u vitro:toOntologyVersion "1.6" . - } } diff --git a/productMods/WEB-INF/ontologies/update/diff.tab.txt b/productMods/WEB-INF/ontologies/update/diff.tab.txt index c9de9c86..d946c21b 100644 --- a/productMods/WEB-INF/ontologies/update/diff.tab.txt +++ b/productMods/WEB-INF/ontologies/update/diff.tab.txt @@ -1 +1 @@ -http://vivoweb.org/ontology/core#administeredBy complex construct with grant administrator role http://vivoweb.org/ontology/core#administers complex construct with grant administrator role http://vivoweb.org/ontology/core#advisee CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#adviseeIn CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#advisingContributionTo realizedIn? Come back to this. http://vivoweb.org/ontology/core#advisor CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#advisorIn CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#affiliatedOrganization construct Relationship node? http://vivoweb.org/ontology/core#assignedBy patent - come back to this http://vivoweb.org/ontology/core#assignee patent - come back to this http://vivoweb.org/ontology/core#associatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#associatedWithPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#attendeeRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#authorInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardConferred http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#awardConferredBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#awardOrHonor http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardOrHonorFor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#awardsGrant http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#clinicalRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#co-PrincipalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#contributingAdvising come back to this http://vivoweb.org/ontology/core#contributingRole http://vivoweb.org/ontology/core#contributingRole Yes no migration http://vivoweb.org/ontology/core#courseOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#credentialOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#currentMemberOf http://vivoweb.org/ontology/core#memberOf Yes z http://vivoweb.org/ontology/core#currentlyHeadOf CC or delete? http://vivoweb.org/ontology/core#currentlyHeadedBy CC or delete? http://vivoweb.org/ontology/core#degreeCandidacy revisit http://vivoweb.org/ontology/core#degreeEarned http://purl.obolibrary.org/obo/RO_0002234 Yes z http://vivoweb.org/ontology/core#degreeOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#degreeOutcomeOf http://purl.obolibrary.org/obo/RO_0002353 Yes z http://vivoweb.org/ontology/core#distributes revisit (distributor role?) http://vivoweb.org/ontology/core#distributesFundingFrom revisit http://vivoweb.org/ontology/core#domesticGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#domesticGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#editor CC editorship http://vivoweb.org/ontology/core#editorOf CC editorship http://vivoweb.org/ontology/core#editorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#educationalTraining http://purl.obolibrary.org/obo/RO_0000056 Yes z http://vivoweb.org/ontology/core#educationalTrainingOf http://purl.obolibrary.org/obo/RO_0000057 Yes z http://vivoweb.org/ontology/core#eligibleFor revisit http://vivoweb.org/ontology/core#equipmentInFacility http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#eventWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#geographicLocationOf http://purl.obolibrary.org/obo/RO_0001015 Yes """location of""" http://vivoweb.org/ontology/core#geographicallyContains http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#geographicallyWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#governingAuthorityFor revisit http://vivoweb.org/ontology/core#grantAwardedBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#hasAttendeeRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasAttendeeRoleContext http://vivoweb.org/ontology/core#hasClinicalRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasClinicalRoleContext http://vivoweb.org/ontology/core#hasCo-PrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasCo-PrincipalInvestigatorRoleContext http://vivoweb.org/ontology/core#hasCollaborator http://vivoweb.org/ontology/core#relatedBy Yes CC construct Relationship http://vivoweb.org/ontology/core#hasCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#hasCurrentMember revisit - construct relationship? http://vivoweb.org/ontology/core#hasEditorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasEditorRoleContext http://vivoweb.org/ontology/core#hasGeographicLocation http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#hasGoverningAuthority revisit http://vivoweb.org/ontology/core#hasInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasInvestigatorRoleContext http://vivoweb.org/ontology/core#hasLeaderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasLeaderRoleContext http://vivoweb.org/ontology/core#hasMemberRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasMemberRoleContext http://vivoweb.org/ontology/core#hasOrganizerRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasOrganizerRoleContext http://vivoweb.org/ontology/core#hasOutreachProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasOutreachProviderContext http://vivoweb.org/ontology/core#hasPart http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasPredecessorOrganization revisit http://vivoweb.org/ontology/core#hasPresenterRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasPresenterRoleContext http://vivoweb.org/ontology/core#hasPrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasPrincipalInvestigatorRoleContext http://vivoweb.org/ontology/core#hasResearcherRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasResearcherRoleContext http://vivoweb.org/ontology/core#hasReviewerRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasReviewerRoleContext http://vivoweb.org/ontology/core#hasRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasRoom http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#hasServiceProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasServiceProviderRoleContext http://vivoweb.org/ontology/core#hasSubOrganization http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasSuccessorOrganization revisit http://vivoweb.org/ontology/core#hasTeacherRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#inEventSeries http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#includesEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#informationProduct revisit http://vivoweb.org/ontology/core#informationProductOf revisit http://vivoweb.org/ontology/core#informationResourceInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#internationalGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#internationalGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#investigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes """inheres in""" http://vivoweb.org/ontology/core#issuanceOfCredential http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#issuedCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#leaderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#linkedAuthor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#linkedInformationResource http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#locationOfEquipment http://purl.obolibrary.org/obo/RO_0001015 Yes z http://vivoweb.org/ontology/core#mailingAddress VCard http://vivoweb.org/ontology/core#mailingAddressFor VCard http://vivoweb.org/ontology/core#memberRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#offersCourse http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#offersDegree http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#organizationForPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizationForTraining http://purl.obolibrary.org/obo/RO_0000056 Yes z http://vivoweb.org/ontology/core#organizerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#outcome revisit: RO? http://vivoweb.org/ontology/core#outcomeOf revisit: RO? http://vivoweb.org/ontology/core#outreachProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#partOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#personInPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#positionForPerson http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#positionInOrganization http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#presenterRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#principalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#providesService http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#realizedRole http://purl.obolibrary.org/obo/BFO_0000055 Yes """realizes""" http://vivoweb.org/ontology/core#receipt http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#receiptOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#relatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#researcherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#reviewerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleContributesTo http://vivoweb.org/ontology/core#roleContributesTo Yes may not apply in all situations http://vivoweb.org/ontology/core#roleIn http://purl.obolibrary.org/obo/BFO_0000054 Yes """realized in"" (or delete, since there should be subs?)" http://vivoweb.org/ontology/core#roleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleRealizedIn http://purl.obolibrary.org/obo/BFO_0000054 Yes z http://vivoweb.org/ontology/core#roomWithinBuilding http://purl.obolibrary.org/obo/RO_0001025 Yes double check this http://vivoweb.org/ontology/core#seriesForEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#serviceProvidedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#serviceProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#subGrantOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#subOrganizationWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#teacherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#trainingAtOrganization http://purl.obolibrary.org/obo/RO_0000057 Yes double check this http://vivoweb.org/ontology/core#EducationalTraining http://vivoweb.org/ontology/core#EducationalProcess Yes z http://vivoweb.org/ontology/core#ServiceProviderRole http://purl.obolibrary.org/obo/ERO_0000012 Yes - http://vivoweb.org/ontology/core#URLLink http://www.w3.org/2006/vcard/ns#URL Yes - \ No newline at end of file +http://purl.org/NET/c4dm/event.owl#agent Delete z http://purl.org/NET/c4dm/event.owl#isAgentIn Delete z http://purl.org/NET/c4dm/event.owl#produced_in http://purl.obolibrary.org/obo/RO_0002353 Yes z http://purl.org/NET/c4dm/event.owl#product http://purl.obolibrary.org/obo/RO_0002234 Yes z http://purl.org/dc/elements/1.1/isVersionOf Delete z http://vivoweb.org/ontology/core#administeredBy Delete complex construct with grant administrator role http://purl.org/dc/terms/contributor Delete z http://purl.org/dc/terms/isReferencedBy Delete z http://purl.org/dc/terms/isVersionOf Delete z http://purl.org/dc/terms/publisher http://vivoweb.org/ontology/core#publisher Yes z http://purl.org/ontology/bibo/editor Delete z http://vivoweb.org/ontology/core#administers Delete complex construct with grant administrator role http://vivoweb.org/ontology/core#advisee Delete CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#adviseeIn Delete CC - advising relationship plus add advisee role http://vivoweb.org/ontology/core#advisingContributionTo Delete construct http://vivoweb.org/ontology/core#advisor Delete CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#advisorIn Delete CC - advising relationship plus add advisor role http://vivoweb.org/ontology/core#affiliatedOrganization Delete construct Relationship node? http://vivoweb.org/ontology/core#associatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#associatedWithPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#attendeeRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#authorInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardConferred http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#awardConferredBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#awardOrHonor http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#awardOrHonorFor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#awardsGrant http://vivoweb.org/ontology/core#assigns Yes z http://vivoweb.org/ontology/core#clinicalRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#co-PrincipalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#courseOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#credentialOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#currentMemberOf Delete construct MemberRole http://vivoweb.org/ontology/core#currentlyHeadOf Delete construct LeaderRole http://vivoweb.org/ontology/core#currentlyHeadedBy Delete construct LeaderRole http://vivoweb.org/ontology/core#degreeEarned http://purl.obolibrary.org/obo/RO_0002234 Yes z http://vivoweb.org/ontology/core#degreeOfferedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#degreeOutcomeOf http://purl.obolibrary.org/obo/RO_0002353 Yes z http://vivoweb.org/ontology/core#domesticGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#domesticGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#editor Delete CC editorship http://vivoweb.org/ontology/core#editorOf Delete CC editorship http://vivoweb.org/ontology/core#editorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#educationalTraining http://purl.obolibrary.org/obo/RO_0000056 Yes z http://vivoweb.org/ontology/core#educationalTrainingOf http://purl.obolibrary.org/obo/RO_0000057 Yes z http://vivoweb.org/ontology/core#equipmentInFacility http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#eventWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#geographicLocationOf http://purl.obolibrary.org/obo/RO_0001015 Yes """location of""" http://vivoweb.org/ontology/core#geographicallyContains http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#geographicallyWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#grantAwardedBy http://vivoweb.org/ontology/core#assignedBy Yes z http://vivoweb.org/ontology/core#hasAttendeeRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasAttendeeRoleContext http://vivoweb.org/ontology/core#hasClinicalRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasClinicalRoleContext http://vivoweb.org/ontology/core#hasCo-PrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasCo-PrincipalInvestigatorRoleContext http://vivoweb.org/ontology/core#hasCollaborator http://vivoweb.org/ontology/core#relatedBy Yes CC construct Relationship http://vivoweb.org/ontology/core#hasCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#hasCurrentMember Delete construct MemberRole http://vivoweb.org/ontology/core#hasEditorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasEditorRoleContext http://vivoweb.org/ontology/core#hasGeographicLocation http://purl.obolibrary.org/obo/RO_0001025 Yes """located in""" http://vivoweb.org/ontology/core#hasInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasInvestigatorRoleContext http://vivoweb.org/ontology/core#hasLeaderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasLeaderRoleContext http://vivoweb.org/ontology/core#hasMemberRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasMemberRoleContext http://vivoweb.org/ontology/core#hasOrganizerRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasOrganizerRoleContext http://vivoweb.org/ontology/core#hasOutreachProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasOutreachProviderContext http://vivoweb.org/ontology/core#hasPart http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasPresenterRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasPresenterRoleContext http://vivoweb.org/ontology/core#hasPrincipalInvestigatorRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasPrincipalInvestigatorRoleContext http://vivoweb.org/ontology/core#hasResearcherRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasResearcherRoleContext http://vivoweb.org/ontology/core#hasReviewerRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasReviewerRoleContext http://vivoweb.org/ontology/core#hasRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#hasRoom http://purl.obolibrary.org/obo/BFO_0000051 Yes """has part""" http://vivoweb.org/ontology/core#hasServiceProviderRole http://purl.obolibrary.org/obo/RO_0000053 Yes cc:hasServiceProviderRoleContext http://vivoweb.org/ontology/core#hasSubGrant http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasSubOrganization http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#hasTeacherRole http://purl.obolibrary.org/obo/RO_0000053 Yes z http://vivoweb.org/ontology/core#inEventSeries http://purl.obolibrary.org/obo/BFO_0000050 Yes """part of""" http://vivoweb.org/ontology/core#includesEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#informationProduct http://purl.obolibrary.org/obo/RO_0002234 Yes z http://vivoweb.org/ontology/core#informationProductOf http://purl.obolibrary.org/obo/RO_0002353 Yes z http://vivoweb.org/ontology/core#informationResourceInAuthorship http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#internationalGeographicFocus http://vivoweb.org/ontology/core#geographicFocus Yes z http://vivoweb.org/ontology/core#internationalGeographicFocusOf http://vivoweb.org/ontology/core#geographicFocusOf Yes z http://vivoweb.org/ontology/core#investigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes """inheres in""" http://vivoweb.org/ontology/core#issuanceOfCredential http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#issuedCredential http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#leaderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#linkedAuthor http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#linkedInformationResource http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#locationOfEquipment http://purl.obolibrary.org/obo/RO_0001015 Yes z http://vivoweb.org/ontology/core#mailingAddress Delete VCard http://vivoweb.org/ontology/core#mailingAddressFor Delete VCard http://vivoweb.org/ontology/core#memberRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#offersCourse http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#offersDegree http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#organizationForPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#organizationForTraining http://purl.obolibrary.org/obo/RO_0000056 Yes z http://vivoweb.org/ontology/core#organizerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#outcome http://purl.obolibrary.org/obo/RO_0002234 Yes z http://vivoweb.org/ontology/core#outcomeOf http://purl.obolibrary.org/obo/RO_0002353 Yes z http://vivoweb.org/ontology/core#outreachProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#partOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#personInPosition http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#positionForPerson http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#positionInOrganization http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#presenterRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#principalInvestigatorRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#providesService http://vivoweb.org/ontology/core#offers Yes z http://vivoweb.org/ontology/core#realizedRole http://purl.obolibrary.org/obo/BFO_0000055 Yes """realizes""" http://vivoweb.org/ontology/core#receipt http://vivoweb.org/ontology/core#relatedBy Yes z http://vivoweb.org/ontology/core#receiptOf http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#relatedRole http://vivoweb.org/ontology/core#relates Yes z http://vivoweb.org/ontology/core#researcherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#reviewerRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleIn http://purl.obolibrary.org/obo/BFO_0000054 Yes """realized in"" (or delete, since there should be subs?)" http://vivoweb.org/ontology/core#roleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#roleRealizedIn http://purl.obolibrary.org/obo/BFO_0000054 Yes z http://vivoweb.org/ontology/core#roomWithinBuilding http://purl.obolibrary.org/obo/RO_0001025 Yes z http://vivoweb.org/ontology/core#seriesForEvent http://purl.obolibrary.org/obo/BFO_0000051 Yes z http://vivoweb.org/ontology/core#serviceProvidedBy http://vivoweb.org/ontology/core#offeredBy Yes z http://vivoweb.org/ontology/core#serviceProviderRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#subGrantOf http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#subOrganizationWithin http://purl.obolibrary.org/obo/BFO_0000050 Yes z http://vivoweb.org/ontology/core#teacherRoleOf http://purl.obolibrary.org/obo/RO_0000052 Yes z http://vivoweb.org/ontology/core#trainingAtOrganization http://purl.obolibrary.org/obo/RO_0000057 Yes z http://vivoweb.org/ontology/core#authorRank http://vivoweb.org/ontology/core#rank Yes z http://vivoweb.org/ontology/core#preferredTitle Delete z http://vivoweb.org/ontology/core#EducationalTraining http://vivoweb.org/ontology/core#EducationalProcess Yes z http://vivoweb.org/ontology/core#ServiceProviderRole http://purl.obolibrary.org/obo/ERO_0000012 Yes z http://vivoweb.org/ontology/core#URLLink http://www.w3.org/2006/vcard/ns#URL Yes z \ No newline at end of file diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdvisingRelationship.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdvisingRelationship.sparql index a9ba3c5d..b30bbc43 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdvisingRelationship.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/AdvisingRelationship.sparql @@ -3,7 +3,7 @@ PREFIX owl: PREFIX foaf: CONSTRUCT { - ?advisee _:AdviseeRole . + ?advisee _:AdviseeRole . _:AdviseeRole ?advisee . _:AdviseeRole a vivo:AdviseeRole . ?advisor _:AdvisorRole . diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/LeaderRole.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/LeaderRole.sparql new file mode 100644 index 00000000..f9582fae --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/LeaderRole.sparql @@ -0,0 +1,15 @@ +PREFIX vivo: +PREFIX owl: +PREFIX foaf: + +CONSTRUCT { + ?person _:leaderRole . + _:leaderRole ?person . + _:leaderRole a vivo:LeaderRole . + _:leaderRole vivo:roleContributesTo ?org . + ?org vivo:contributingRole _:leaderRole . +} WHERE { + { ?person vivo:currentlyHeadOf ?org } + UNION + { ?org vivo:currentlyHeadedBy ?person } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/MemberRole.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/MemberRole.sparql new file mode 100644 index 00000000..c9582a84 --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/MemberRole.sparql @@ -0,0 +1,15 @@ +PREFIX vivo: +PREFIX owl: +PREFIX foaf: + +CONSTRUCT { + ?person _:memberRole . + _:memberRole ?person . + _:memberRole a vivo:MemberRole . + _:memberRole vivo:roleContributesTo ?org . + ?org vivo:contributingRole _:memberRole . +} WHERE { + { ?person vivo:currentMemberOf ?org } + UNION + { ?org vivo:hasCurrentMember ?person } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/grantAdmin.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/grantAdmin.sparql new file mode 100644 index 00000000..123edd1c --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/grantAdmin.sparql @@ -0,0 +1,17 @@ +PREFIX vivo: +PREFIX owl: +PREFIX foaf: + +CONSTRUCT { + ?agent _:adminRole . + _:adminRole a vivo:AdministratorRole . + _:adminRole ?agent . + _:adminRole vivo:relatedBy ?grant . + ?grant vivo:relates _:adminRole . + ?grant vivo:relates ?agent . + ?agent vivo:relatedBy ?grant . +} WHERE { + { ?agent vivo:administers ?grant } + UNION + { ?grant vivo:administeredBy ?agent } +} diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/Grant.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/Grant.sparql index f0a2a4a8..fc71407d 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/Grant.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/Grant.sparql @@ -6,7 +6,7 @@ CONSTRUCT { ?agent vivo:relatedBy ?grant . ?grant vivo:relates ?agent } WHERE { - ?agent ?role . + ?agent ?role . ?role vivo:relatedBy ?grant FILTER NOT EXISTS { ?grant vivo:relates ?agent } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql index 966de0e0..51fd1680 100644 --- a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/post/awardedDegree.sparql @@ -12,6 +12,8 @@ CONSTRUCT { ?person vivo:relatedBy _:awardedDegree . _:awardedDegree vivo:assignedBy ?org . ?org vivo:assigns _:awardedDegree . + ?educationalProcess ?role . + ?role ?educationalProcess . } WHERE { ?person ?educationalProcess . ?educationalProcess a vivo:EducationalProcess . @@ -21,4 +23,9 @@ CONSTRUCT { ?educationalProcess ?org . ?org a foaf:Organization } + OPTIONAL { + ?educationalProcess vivo:contributingAdvising ?advising . + ?advising vivo:relates ?role . + ?role a . + } } diff --git a/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard22.sparql b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard22.sparql new file mode 100644 index 00000000..9107814a --- /dev/null +++ b/productMods/WEB-INF/ontologies/update/sparqlConstructs/additions/vcard22.sparql @@ -0,0 +1,14 @@ +PREFIX arg: +PREFIX foaf: +PREFIX v: +PREFIX vivo: +PREFIX bibo: + +CONSTRUCT { + ?vcard v:hasTitle _:title . + _:title a v:Title . + _:title v:title ?preferredTitle . +} WHERE { + ?s arg:ARG_2000028 ?vcard . + ?s ?preferredTitle . +} diff --git a/productMods/WEB-INF/ontologies/update/success.n3 b/productMods/WEB-INF/ontologies/update/success.n3 index b8a8693a..d24d34f6 100644 --- a/productMods/WEB-INF/ontologies/update/success.n3 +++ b/productMods/WEB-INF/ontologies/update/success.n3 @@ -2,9 +2,9 @@ @prefix owl: . @prefix rdf: . - vitro:updatedToOntology . - rdf:type owl:Thing . - vitro:updatedOntology . - vitro:fromOntologyVersion "1.5" . - vitro:toOntologyVersion "1.6" . + vitro:updatedToOntology . + rdf:type owl:Thing . + vitro:updatedOntology . + vitro:fromOntologyVersion "1.5" . + vitro:toOntologyVersion "1.6" . diff --git a/rdf/tbox/filegraph/classes-additional.owl b/rdf/tbox/filegraph/classes-additional.owl new file mode 100644 index 00000000..4ad99647 --- /dev/null +++ b/rdf/tbox/filegraph/classes-additional.owl @@ -0,0 +1,1185 @@ + + + + ${eaglei.ontology.version} + A file to hold VIVO application specific entities, and original VIVO entities that are being considered to be application specific when merging into ARG. + + + + + + + + + research opportunity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Academic Article + + + + + + + + + + + + + + + + + + + + Article + + + + + + + + + + + + + + + + + + + + + + + + + + Audio Document + + + + + + + + + + + + + + Audio-Visual Document + + + + + + + + + + + + + + Book + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Book Section + + + + + + + + + + + + + + + + + + + + + + + + + + Collected Document + + + + + + + + + + + + + + Collection + + + + + + + + + + + + + + + Conference + + + + + + + + + + + + + + document (IAO) + Document + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Document Part + + + + + + + + + + + + + + + + + + + + + + + + + + Document Status + + + + + + + + Edited Book + + + + + + + + + + + + + + + + + + + + + + + + + + Image + + + + + + + + + Journal + + + + + + + + + + + + + + Patent + + + + + + + + + + + + + + + + + + + + Periodical + + + + + + + + + + + + + + + + + + + + + + + + + + Proceedings + + + + + + + + Report + + + + + + + + + + + + + + Series + + + + + + + + + + + + + + + + + + + + Thesis + + + + + + + + + + + + + + + + + + + + Thesis Degree + + + + + + + + Website + + + + + + + + + + + + + + Bibliographic Information Source + + A source of information about bibliographic citations, such as Google Scholar, Web of Science or Scopus. + + + + + + + + Global Citation Count + The number of times a work has been cited globally, as determined from a particular bibliographic information source on a particular date. + + + + + + + + Academic Degree + + + + 1 + + + + + + + + + + + + + + + + Academic Department + + + + + + + + + + + + + + + + + + + + + + Advising Relationship + + + + + + + + + + + + + + + + + + + + + Authorship + + + + + + + + + + + + + + + + + Award or Honor Receipt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Blog Posting + + + + + + + + + + + + + + + Catalog + + + + + + + + + + + + + + + + + + + + + College + + + + + + + + + + + + + + + + Conference Paper + + + + + + + + + + + + + + + Course + + + + + + + + + + + + + + Credential + + + + + + + + + + + + + + + + + + + + + + + + + + Database + + + + + + + + + + + + + + Educational Process + + + + + + + + + + + + + + Currently any abstract name is given to individuals of this class. This could change in the future. + Represents educational training that has been received. + This connects person to their academic degree through this educational training, but can also be used when the training does not result in a degree. + + + + + + + + Event Series + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Funding Organization + + + + + + + + + + + + + + + + Grant + + + + + + + + + + + + + + + + + + + + + + + + + + + Information Resource + + + + + + + + + + + + + + + + + + + + + + + + + The most general classification of an information resource + + + + + + + + + Issued Credential + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Laboratory + + + + + + + + + + + + + + Position + + + + + + + + + + + + + + + + + + + + + + Project + + + + + + + + + + + + + + + + + + + + + + + + + + + Role + + + + + + + + + + + + + + + + + + + A person's, group's or organization's role in an endeavor + Only use if no specific subclasses of core:Role describe the role. + Only use this broad role class if no subclasses of role describe the item being classified. + + + + + + + + + Software + + + + + + + + + Computer program and its related documentation; directs the operation of a computer + + + + + + + + + University + + + + + + + + + + + + + + Working Paper + + + + + + + + + + + + + + + Agent + + + + + + + + + + + + + + + + + + + + + + + Organization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Person + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rdf/tbox/filegraph/object-properties.owl b/rdf/tbox/filegraph/object-properties.owl index 8d5e5c12..9e16e277 100644 --- a/rdf/tbox/filegraph/object-properties.owl +++ b/rdf/tbox/filegraph/object-properties.owl @@ -1117,6 +1117,7 @@ there is a measurement process p that has specified output m, a measurement datu member of + @@ -1125,8 +1126,6 @@ there is a measurement process p that has specified output m, a measurement datu has_member - - diff --git a/rdf/tbox/filegraph/object-properties3.owl b/rdf/tbox/filegraph/object-properties3.owl new file mode 100644 index 00000000..9f87aa0c --- /dev/null +++ b/rdf/tbox/filegraph/object-properties3.owl @@ -0,0 +1,3245 @@ + + + + ${eaglei.ontology.version} + A file to hold VIVO application specific entities, and original VIVO entities that are being considered to be application specific when merging into ARG. + + + + + + + + is defined by + + + + + + + + + + description + + + name suffix + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + related degree + + + + + + + + director + + + + + + + + distributor + Public Description for bibo:distributor taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . + + + + + + + + + interviewee + + + + + + + + interviewer + + + + + + + + issuer + An entity responsible for issuing often informally published documents such as press releases, reports, etc. This term is classified as unstable by bibo. + http://purl.org/ontology/bibo/ + An entity responsible for issuing often informally published documents such as press releases, reports, etc. + unstable + + + + + + + + + performer + + + + + + + + + presented at + Public Description from source: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . Bibo considers the bibo:presents and the bibo:presentedAt unstable terms. It also indicates that bibo:presents is a sub-property of event:product. + http://purl.org/ontology/bibo/ + Relates a document to an event; for example, a paper to a conference. + unstable + + + + + + + + + + + + related documents + + + + + + + + recipient + + + + + + + + reproduced in + + + + + + + + + status + + + + + + + + + subsequentLegalDecision + + + + + + + + translation of + + + + + + + + translator + + + + + + + + + + has global citation frequency + A property linking a publication entity to the property c40:GlobalCitationCount that specify how many times a work has been cited by others, according to a particular information source on a particular date. + + + + + + + + + has global count source + A property linking the property c40:GlobalCitationCount to the bibliographic information source providing the global citation count information for a particular publication on a particular date. + + + + + + + + + + + + assignee + + + + + + + + + + assignee for + + + + + + + + + + + + degree candidacy + + + + + + + + + + + + distributes + Public Description for bibo:distributor taken from here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . + + + + + + + + + distributes funding from + For example, National Science Foundation providesFundingThrough Graduate Research Fellowship Program; National Institutes of Health providesFundingThrough National Center for Research Resources. + + + + + + + + + + + + eligible for + + + + + + + + + equipment for + + + + + + + + + + facility for + + + + + + + + + + featured in + This is done through a restriction on the foaf:Person class. + + + + + + + + + + features + + + + + + + + + provides funding for + + + + + + + + + + + governing authority for + + + + + + + + + + + predecessor organization + + + + + + + + + + proceedings + A possible working example: The conference proceeding of the SPIE was generated from the conference - International Society for Optical Engineering. + + + + + + + + + + published in + + + + + + + + research areas + + + + + + + + + + + has subject area + + + + + + + + + successor organization + + + + + + + + + + supported by + an information resource (typically a publication) supported by (typically via funding) an agreement (such as a grant) + + + + + + + + + + proceedings of + A possible working example: The conference proceeding of the SPIE was generated from the conference - International Society for Optical Engineering. + + + + + + + + + + + + + reproduces + + + + + + + + + + + + research area of + + + + + + + + + researcher role of + + + + + + + + + + + reviewed in + The bibo:reviewOf public description was found here: http://bibotools.googlecode.com/svn/bibo-ontology/trunk/doc/index.html . As of 26 May 2010, bibo:reviewOf is used with the class Review, but core:reviewIn doesn't seem to be being used. + + + + + + + + + reviewer role of + + + + + + + + + + + + contributes to + + + + + + + + + + award sponsored by + + + + + + + + + + + sponsors award or honor + + + + + + + + + + + + + supported by + general relationship of support + + + + + + + + + + supported publications + an information resource (typically a publication) supported by (typically via funding) an agreement (such as a grant) + + + + + + + + + + + + supports + general relationship of support + + + + + + + + + + translator of + + + + + + + + + valid in + + + + + + + + + + has broader + broader term + Public description modified from the information on this page: http://www.w3.org/TR/2005/WD-swbp-skos-core-guide-20050510/#sechierarchy . + + + + + + + + + + has narrower + narrower term + Public description modified from the information on this page: http://www.w3.org/TR/2005/WD-swbp-skos-core-guide-20050510/#sechierarchy . + + + + + + + + + + has related + related + + + + + + + + + + + + + + abstract + + + + + + + + Digital Object Identifier (DOI) + + + + + + + + EAN International-Uniform Code Council (EAN-UCC) 13 + + + + + + + + edition + + + + + + + + Electronic International Standard Serial Number (EISSN) + + + + + + + + International Standard Serial Number (ISSN) + + + + + + + + Library of Congress Control Number (LCCN) + + + + + + + + number of pages + + + + + + + + Online Computer Library Center (OCLC) number + + + + + + + + end page + + + + + + + + start page + + + + + + + + has global count date + The date on which the global citation count of the cited entity was recorded from a named bibliographic information source. + + + + + + + + + + + has global count value + An integer defining the value of the global citation count of a cited entity recorded from a named bibliographic information source on a particular date. + + + + + + + + + + + preferredNamespaceUri + + + + + + + + + abbreviation + + + + + + + + + credits + + + + + + + + department or school name within institution + Not intended to be an institution name. + + + + + + + + + + description + + + + + + + + + entry term + + + + + + + + + + keywords + + + + + + + + direct costs + + + + + + + + + + hide from display + + + + + + + + + + HR job title + Definition http://en.wikipedia.org/wiki/Job_title#Job_title. + administrative secretary + + + + + + + + + + + is this person a corresponding author? + True; False + + + + + + + + + + + major field of degree + + + + + + + + + + + place of publication + + + + + + + + preferred display order + + + + + + + + + + rank + + + + + + + + supplemental information + + + + + + + + term label + + + + + + + + + term type + + + + + + + + + + + + + + + + + + + + + + + + research opportunity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Academic Article + + + + + + + + + + + + + + + + + + + + Article + + + + + + + + + + + + + + + + + + + + + + + + + + Audio Document + + + + + + + + + + + + + + Audio-Visual Document + + + + + + + + + + + + + + Book + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Book Section + + + + + + + + + + + + + + + + + + + + + + + + + + Collected Document + + + + + + + + + + + + + + Collection + + + + + + + + + + + + + + + Conference + + + + + + + + + + + + + + document (IAO) + Document + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Document Part + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Document Status + + + + + + + + Edited Book + + + + + + + + + + + + + + + + + + + + + + + + + + Image + + + + + + + + + Journal + + + + + + + + + + + + + + Patent + + + + + + + + + + + + + + + + + + + + Periodical + + + + + + + + + + + + + + + + + + + + + + + + + + Proceedings + + + + + + + + Report + + + + + + + + + + + + + + Series + + + + + + + + + + + + + + + + + + + + Thesis + + + + + + + + + + + + + + + + + + + + Thesis Degree + + + + + + + + Website + + + + + + + + + + + + + + Bibliographic Information Source + + A source of information about bibliographic citations, such as Google Scholar, Web of Science or Scopus. + + + + + + + + Global Citation Count + The number of times a work has been cited globally, as determined from a particular bibliographic information source on a particular date. + + + + + + + + Clinical Guideline + + + A recommendation on the appropriate treatment and care of people with a specific disease or condition, based on the best available evidence, designed to help healthcare professionals in their work. + A recommendation on the appropriate treatment and care of people with a specific disease or condition, based on the best available evidence, designed to help healthcare professionals in their work. + + + + + + + + Comment + + + A verbal or written remark concerning some entity. In written form, a comment is often appended to that entity and termed an annotation. Within computer programs or ontologies, comments are added to enhance human understanding, and are usually prefaced by + A verbal or written remark concerning some entity. In written form, a comment is often appended to that entity and termed an annotation. Within computer programs or ontologies, comments are added to enhance human understanding, and are usually prefaced by a special syntactic symbol that ensures they are ignored during execution of the program. + +has super-classes + + + + + + + + Erratum + + + A formal correction to an error introduced by the publisher into a previously published document. + A formal correction to an error introduced by the publisher into a previously published document. + + + + + + + + Academic Degree + + + + 1 + + + + + + 1 + + + + + + + + + + + + + + + + Academic Department + + + + + + + + + + + + + + + + + + + + Address + + + + + + + + 200 University Avenue West, Waterloo, Ontario, Canada N2L 3G1 + A specification of a location. To classify US specific addresses, use core:US Postal Code. + Address has properties for department name, street, city, state or province, postal code, and country. For US specific address, classify using core:US Postal Code. core:Address will display all addresses. + + + + + + + + Advising Relationship + + + + + + + + + + + + + + + + + + + + Agreement + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A negotiated arrangement between two or more parties regarding a course of action + + + + + + + + Attendee Role + + + + + + + + + Authorship + + + + + + + + + + + + + + + + + + + + Award or Honor + + + + + + + + + + + + + + + + + + + + Award or Honor Receipt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Blog + + + + + + + + Blog Posting + + + + + + + + + + + + + + Building + + + + + + + + Catalog + + + + + + + + + + + + + + + + + + + + Center + + + + + + + + + + + + + + Clinical Role + + + + + + + + + Co-Principal Investigator Role + + + + + + + + College + + + + + + + + + + + + + + Committee + + + + + + + + + + + + + + Conference Paper + + + + + + + + + + + + + + Consortium + + + + 2 + + + + + + + + + + + + + + + + Contract + + + + + + + + + County + + + + + + + + + + + + + + Course + + + + + + + + + + + + + + Credential + + + + + + + + + + + + + + + + + + + + + + + + + + Database + + + + + + + + + + + + + + Dataset + + + + + + + + + Date/Time Interval + + + + + + + + Date/Time Value + + + + + + + + Date/Time Value Precision + + + + + + + + Department + + + + + + + + + + + + + + Division + + + + + + + + + + + + + + Editor Role + + + + + + + + + Educational Training + + + + + + + + + + + + + + Currently any abstract name is given to individuals of this class. This could change in the future. + Represents educational training that has been received. + This connects person to their academic degree through this educational training, but can also be used when the training does not result in a degree. + + + + + + + + Faculty Member Emeritus + + + A retired faculty member who has retained their rank, title and privileges. + + + + + + + + Librarian Emeritus + + + A retired librarian who has retained their rank, title and privileges. + + + + + + + + Professor Emeritus + + + + A retired professor who has retained their rank, title and privileges. + + + + + + + + Equipment + + + + + + + + + + + + + + + + + + + + Event Series + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Facility + + + + + + + + + Faculty Administrative Position + + + + + + + + + + + + + + + + + + + + Faculty Member + + + A person with at least one academic appointment to a specific faculty of a university or institution of higher learning. + Definition from here: http://research.carleton.ca/htr/defs.php. + + + + + + + + Faculty Position + + + + + + + + + + + + + + + + + + + + Funding Organization + + + + + + + + + + + + + + Geographic Location + + + + + + + + Geographic Region + + + + + + + + Grant + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Information Resource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The most general classification of an information resource + + + + + + + + Internship + + + + + + + + + Investigator Role + + + + + + + + Issued Credential + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Laboratory + + + + + + + + + + + + + + Leader Role + + + + + + + + + Librarian + + + A person working in a position of librarian or information professional, or academic or technical expert in support of providing information services or materials. + + + + + + + + Librarian Position + + + + + + + + + + + + + + + + + + + + Library + + + + + + + + + + + + + + Medical Residency + + + + + + + + + Member Role + + + + + + + + + Non-Academic + + + A person holding a position that is not considered to be an academic appointment. + + + + + + + + Non-Academic Position + + + + + + + + + + + + + + + + + + + + Non-Faculty Academic + + + A person not considered a faculty member but holding an academic appointment. + + + + + + + + Non-Faculty Academic Position + + + + + + + + + + + + + + + + + + + + Organizer Role + + + + + + + + + Outreach Provider Role + + + + + + + + + Position + + + + + + + + + + + + + + + + + + + + + + + + + + Postdoc + + + A Person holding an academic employment appointment focused on research rather than teaching; temporary (or for some defined term) + + + + + + + + Postdoctoral Training + + + + + + + + + Presenter Role + + + + + + + + + + + + + + + Principal Investigator Role + + + + + + + + Project + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Publisher + + + + + + + + + + + + + + Researcher Role + + + + + + + + + Review + + + + + + + + Reviewer Role + + + + + + + + + Role + + + + + + + + + + + + + + + + + + + + A person's, group's or organization's role in an endeavor + Only use if no specific subclasses of core:Role describe the role. + Only use this broad role class if no subclasses of role describe the item being classified. + + + + + + + + Room + + + + + + + + Service + + + + + + + + + + + + + + A regularly offered service in support of an academic, research, or administrative function (not personal or professional service by an individual) + UITS service + UITS service is the information technology services provided by Indiana University. SC. + + + + + + + + Service Provider Role + + + An role of an individual within his or her profession or institution; use outreach provider role for community service or other activities outside the profession. + Member of the International Conference on Complex Systems Organizing Committee + + + + + + + + Software + + + + + + + + + Computer program and its related documentation; directs the operation of a computer + + + + + + + + State Or Province + + + + + + + + Teacher Role + + + + + + + + + Team + + + + + + + + + + + + + + URLLink + + + + 1 + + + + + + + + + + + + + + + + US Postal Address + + + + + + 1 + + + + + + 1 + + + + + + 1 + + + 1320 East 10th Street, Wells Library 021 Bloomington, IN 47405 + Formal address in US postal address system. + US postal address follow the format street, apt or office number (optional), city, state, and zipcode. + + + + + + + + University + + + + + + + + + + + + + + Working Paper + + + + + + + + + + + + + + Person As Listed + + + For data ingest from authoritative sources to record the actual way a person was listed, as potentially valuable information for provenance and person disambiguation. + For data ingest from authoritative sources to record the actual way a person was listed, as potentially valuable information for provenance and person disambiguation. Represents one person's information from one source at one particular time. + + + + + + + + + + + + + + + + Concept + Concept + An idea or notion; a unit of thought. + + + + + + + + Agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Group + + + + + + + + + + + + + + Organization + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Person + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + yearPrecision + + + relation + This term is intended to be used with non-literal values as defined in the DCMI Abstract Model (http://dublincore.org/documents/abstract-model/). As of December 2007, the DCMI Usage Board is seeking a way to express this intention with a formal range declaration. + + + yearMonthDayPrecision + + + Document to be published + + + yearMonthDayTimePrecision + + + &nbsp;Peer review is the process by which articles are chosen to be included in a refereed journal. An editorial board consisting of experts in the same field as the author review the article and decide if it is authoritative enough for publication. + + + Accepted for publication after peer reviewing + + + Published document + + + yearMonthPrecision + + + + + + + From 91fd8a4c1ba78721e693460e2e43c44c7d0fe554 Mon Sep 17 00:00:00 2001 From: hudajkhan Date: Tue, 24 Sep 2013 13:44:58 -0400 Subject: [PATCH 65/66] updates for concepts and labels --- .../manageLabelsForIndividualAddForm.ftl | 6 + ...ageLabelsForIndividualSubmissionErrors.ftl | 3 + .../edit/forms/addAssociatedConcept.ftl | 6 +- .../freemarker/edit/forms/js/addConcept.js | 7 +- .../service/impl/AgrovocService.java | 62 +- .../semservices/service/impl/LCSHService.java | 30 +- .../AddAssociatedConceptGenerator.java | 11 +- .../ManageLabelsForPersonGenerator.java | 606 ++++++++++++++++++ .../generators/ManageLabelsGenerator.java | 70 ++ .../AddAssociatedConceptsPreprocessor.java | 44 +- .../ConceptSemanticTypesPreprocessor.java | 8 +- 11 files changed, 792 insertions(+), 61 deletions(-) create mode 100644 src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsForPersonGenerator.java create mode 100644 src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsGenerator.java diff --git a/productMods/templates/freemarker/body/individual/manageLabelsForIndividualAddForm.ftl b/productMods/templates/freemarker/body/individual/manageLabelsForIndividualAddForm.ftl index 9c0985ed..aa3ea7f7 100644 --- a/productMods/templates/freemarker/body/individual/manageLabelsForIndividualAddForm.ftl +++ b/productMods/templates/freemarker/body/individual/manageLabelsForIndividualAddForm.ftl @@ -8,6 +8,12 @@

    + <#--TODO: With ISF changes, add middle name input--> + + +

    diff --git a/productMods/templates/freemarker/body/individual/manageLabelsForIndividualSubmissionErrors.ftl b/productMods/templates/freemarker/body/individual/manageLabelsForIndividualSubmissionErrors.ftl index c5b8b144..833f5e99 100644 --- a/productMods/templates/freemarker/body/individual/manageLabelsForIndividualSubmissionErrors.ftl +++ b/productMods/templates/freemarker/body/individual/manageLabelsForIndividualSubmissionErrors.ftl @@ -5,6 +5,9 @@ <#--Get existing value for specific data literals and uris, in case the form is returned because of an error--> <#assign firstNameValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "firstName")/> <#assign lastNameValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "lastName")/> +<#--With ISF changes, we also have a niddle name value, also add error field below--> +<#--assign middleNameValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "middleName") /--> + <#assign labelValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "label")/> <#assign newLabelLanguageValue = lvf.getFormFieldValue(editSubmission, editConfiguration, "newLabelLanguage")/> diff --git a/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl b/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl index 0f7a2c1b..316683c6 100644 --- a/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl +++ b/productMods/templates/freemarker/edit/forms/addAssociatedConcept.ftl @@ -101,9 +101,8 @@

    <#assign checkedSource = false />

    ${i18n().external_vocabulary_services}

    - <#list sources?keys?sort as sourceUri> - <#assign thisSource = sources[sourceUri]/> - <#assign checkedSource = true/>checked="checked"> + <#list sources?values?sort_by("label") as thisSource> + <#assign checkedSource = true/>checked="checked">
    @@ -180,6 +179,7 @@ ${stylesheets.add('')} ${scripts.add('')} +${scripts.add('')} ${scripts.add('')} ${scripts.add('')} ${scripts.add('')} diff --git a/productMods/templates/freemarker/edit/forms/js/addConcept.js b/productMods/templates/freemarker/edit/forms/js/addConcept.js index ce9200a6..606a981b 100644 --- a/productMods/templates/freemarker/edit/forms/js/addConcept.js +++ b/productMods/templates/freemarker/edit/forms/js/addConcept.js @@ -321,8 +321,11 @@ var addConceptForm = { this.externalConceptLabel.val(conceptLabels); this.externalConceptSource.val(conceptSources); this.externalConceptSemanticTypeLabel.val(conceptSemanticTypes); - this.externalConceptBroaderUris.val(conceptBroaderUris); - this.externalConceptNarrowerUris.val(conceptNarrowerUris); + //Using JSON here because there may be multiple broader and narrower uris per concept + //and using a regular string representation does not differentiate between which set of uris + //would belong to which concept + this.externalConceptBroaderUris.val(JSON.stringify(conceptBroaderUris)); + this.externalConceptNarrowerUris.val(JSON.stringify(conceptNarrowerUris)); return true; }, diff --git a/src/edu/cornell/mannlib/semservices/service/impl/AgrovocService.java b/src/edu/cornell/mannlib/semservices/service/impl/AgrovocService.java index 003aa26b..eb25fcf6 100644 --- a/src/edu/cornell/mannlib/semservices/service/impl/AgrovocService.java +++ b/src/edu/cornell/mannlib/semservices/service/impl/AgrovocService.java @@ -108,20 +108,23 @@ public class AgrovocService implements ExternalConceptService { String lang = ""; for (SKOSLiteral literal : skosConcept.getSKOSRelatedConstantByProperty(dataset, manager.getSKOSDataFactory().getSKOSPrefLabelProperty())) { - - if (!literal.isTyped()) { - // if it has language - SKOSUntypedLiteral untypedLiteral = literal.getAsSKOSUntypedLiteral(); - if (untypedLiteral.hasLang()) { - lang = untypedLiteral.getLang(); - } else { - lang = ""; - } - } - if (lang.equals("en")) { - //System.out.println("prefLabel: " + literal.getLiteral()); - - concept.setLabel(literal.getLiteral()); + if(literal != null) { + if (!literal.isTyped()) { + // if it has language + SKOSUntypedLiteral untypedLiteral = literal.getAsSKOSUntypedLiteral(); + if (untypedLiteral.hasLang()) { + lang = untypedLiteral.getLang(); + } else { + lang = ""; + } + } + if (lang.equals("en")) { + //System.out.println("prefLabel: " + literal.getLiteral()); + + concept.setLabel(literal.getLiteral()); + } + } else { + logger.debug("Literal returned for preferred label was null and was ignored"); } } @@ -130,21 +133,24 @@ public class AgrovocService implements ExternalConceptService { for (SKOSLiteral literal : skosConcept .getSKOSRelatedConstantByProperty(dataset, manager .getSKOSDataFactory().getSKOSAltLabelProperty())) { - - if (!literal.isTyped()) { - // if it has language - SKOSUntypedLiteral untypedLiteral = literal - .getAsSKOSUntypedLiteral(); - if (untypedLiteral.hasLang()) { - lang = untypedLiteral.getLang(); - } else { - lang = ""; + if(literal != null) { + if (!literal.isTyped()) { + // if it has language + SKOSUntypedLiteral untypedLiteral = literal + .getAsSKOSUntypedLiteral(); + if (untypedLiteral.hasLang()) { + lang = untypedLiteral.getLang(); + } else { + lang = ""; + } } - } - //System.out.println("literal: "+ literal.getLiteral()); - if (lang.equals("en")) { - //System.out.println("altLabel: " + literal.getLiteral()); - altLabelList.add(literal.getLiteral()); + //System.out.println("literal: "+ literal.getLiteral()); + if (lang.equals("en")) { + //System.out.println("altLabel: " + literal.getLiteral()); + altLabelList.add(literal.getLiteral()); + } + } else { + logger.debug("Literal retrieved for altlabel was null and was ignored"); } } concept.setAltLabelList(altLabelList); diff --git a/src/edu/cornell/mannlib/semservices/service/impl/LCSHService.java b/src/edu/cornell/mannlib/semservices/service/impl/LCSHService.java index 14a59dd1..614bd356 100644 --- a/src/edu/cornell/mannlib/semservices/service/impl/LCSHService.java +++ b/src/edu/cornell/mannlib/semservices/service/impl/LCSHService.java @@ -269,20 +269,24 @@ public class LCSHService implements ExternalConceptService { String lang = ""; List literalValues = new ArrayList(); for (SKOSLiteral literal : skosLiterals) { - if (!literal.isTyped()) { - // if it has language - SKOSUntypedLiteral untypedLiteral = literal - .getAsSKOSUntypedLiteral(); - if (untypedLiteral.hasLang()) { - lang = untypedLiteral.getLang(); - } else { - lang = ""; + if(literal != null) { + if (!literal.isTyped()) { + // if it has language + SKOSUntypedLiteral untypedLiteral = literal + .getAsSKOSUntypedLiteral(); + if (untypedLiteral.hasLang()) { + lang = untypedLiteral.getLang(); + } else { + lang = ""; + } } - } - // log.debug("literal: "+ literal.getLiteral()); - if (lang.equals("en")) { - log.debug("literal value: " + literal.getLiteral()); - literalValues.add(literal.getLiteral()); + // log.debug("literal: "+ literal.getLiteral()); + if (lang.equals("en")) { + log.debug("literal value: " + literal.getLiteral()); + literalValues.add(literal.getLiteral()); + } + } else { + log.debug("Literal returned was null so was ignored"); } } return literalValues; diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java index 98d38df6..a7f8773e 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java @@ -67,7 +67,6 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements initBasics(editConfiguration, vreq); initPropertyParameters(vreq, session, editConfiguration); initObjectPropForm(editConfiguration, vreq); - editConfiguration.setTemplate(template); setVarNames(editConfiguration); @@ -97,10 +96,10 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements setTemplate(editConfiguration, vreq); // No validators required here // Add preprocessors + //Passing from servlet context for now but will have to see if there's a way to pass vreq addPreprocessors(editConfiguration, - ModelAccess.on(vreq).getJenaOntModel(), - ModelAccess.on(vreq).getOntModelSelector().getTBoxModel(), - vreq.getWebappDaoFactory()); + ModelAccess.on(session.getServletContext()).getJenaOntModel(), + ModelAccess.on(session.getServletContext()).getWebappDaoFactory()); // Adding additional data, specifically edit mode addFormSpecificData(editConfiguration, vreq); // One override for basic functionality, changing url pattern @@ -361,7 +360,6 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements private void addPreprocessors(EditConfigurationVTwo editConfiguration, OntModel ontModel, - OntModel modelChangeModel, WebappDaoFactory wdf) { //An Edit submission preprocessor for enabling addition of multiple terms for a single search //TODO: Check if this is the appropriate way of getting model @@ -370,8 +368,7 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements editConfiguration.addEditSubmissionPreprocessor( new AddAssociatedConceptsPreprocessor(editConfiguration, ontModel, wdf)); - editConfiguration.addModelChangePreprocessor(new ConceptSemanticTypesPreprocessor( - modelChangeModel)); + editConfiguration.addModelChangePreprocessor(new ConceptSemanticTypesPreprocessor()); } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsForPersonGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsForPersonGenerator.java new file mode 100644 index 00000000..bfc5a43e --- /dev/null +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsForPersonGenerator.java @@ -0,0 +1,606 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ +package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; + +import java.io.FileNotFoundException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import javax.servlet.http.HttpSession; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import com.hp.hpl.jena.ontology.OntModel; +import com.hp.hpl.jena.query.Dataset; +import com.hp.hpl.jena.query.QueryExecution; +import com.hp.hpl.jena.query.QueryExecutionFactory; +import com.hp.hpl.jena.query.QuerySolution; +import com.hp.hpl.jena.query.ResultSet; +import com.hp.hpl.jena.rdf.model.Literal; +import com.hp.hpl.jena.rdf.model.RDFNode; +import com.hp.hpl.jena.shared.Lock; +import com.hp.hpl.jena.sparql.resultset.ResultSetMem; +import com.hp.hpl.jena.vocabulary.RDFS; +import com.hp.hpl.jena.vocabulary.XSD; + +import edu.cornell.mannlib.vitro.webapp.auth.policy.PolicyHelper; +import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.Actions; +import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.ifaces.RequestActionConstants; +import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.AddDataPropertyStatement; +import edu.cornell.mannlib.vitro.webapp.auth.requestedAction.propstmt.AddObjectPropertyStatement; +import edu.cornell.mannlib.vitro.webapp.beans.DataProperty; +import edu.cornell.mannlib.vitro.webapp.beans.DataPropertyStatement; +import edu.cornell.mannlib.vitro.webapp.beans.Individual; +import edu.cornell.mannlib.vitro.webapp.beans.VClass; +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder; +import edu.cornell.mannlib.vitro.webapp.controller.freemarker.UrlBuilder.ParamMap; +import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; +import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; +import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; +import edu.cornell.mannlib.vitro.webapp.dao.jena.QueryUtils; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.fields.FieldVTwo; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.FoafNameToRdfsLabelPreprocessor; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.preprocessors.ManageLabelsForIndividualPreprocessor; +import edu.cornell.mannlib.vitro.webapp.i18n.selection.LocaleSelectionDataGetter; +import edu.cornell.mannlib.vitro.webapp.i18n.selection.LocaleSelectorUtilities; +import edu.cornell.mannlib.vitro.webapp.i18n.selection.SelectedLocale; +import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.DataPropertyStatementTemplateModel; + +/** + * This generator is specifically for handling labels for a FOAF Person individual and is an object property form. + *This allows the page to show all the labels for a particular individual and sets up code + *enabling the addition of a new label. Links on the page will allow for removal or editing of a given label. + */ +public class ManageLabelsForPersonGenerator extends BaseEditConfigurationGenerator implements EditConfigurationGenerator { + public static Log log = LogFactory.getLog(ManageLabelsForIndividualGenerator.class); + private static String template = "manageLabelsForPerson.ftl"; + private HashMap> labelsSortedByLanguage = null; + private List existingLabelLiterals = null; + //list of language names sorted alphabetically + private List existingSortedLanguageNameList = null; + //This would be for the full list and can be used for the existing labels list as well + + private HashMap fullLanguageNameToCodeMap = null; + private static String predicateUri = RDFS.label.getURI(); + @Override + public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) { + + EditConfigurationVTwo config = new EditConfigurationVTwo(); + config.setTemplate(this.getTemplate()); + + initBasics(config, vreq); + initPropertyParameters(vreq, session, config); + //This form is technically not an object property form in the true sense + //or a data property form because it is used to list the various labels + //and allow for adding new labels, but since the generator will + //be employed when the 'add' button is used, we will set this is an object property form + //although label will mean we need to add a data property statement as well + //URL to return to is the same page once addition is complete + initObjectPropForm(config, vreq); + + + this.setUrlToReturnTo(config, vreq); + + config.setSubjectUri(EditConfigurationUtils.getSubjectUri(vreq)); + + setVarNames(config); + //config.setDatapropKey( EditConfigurationUtils.getDataHash(vreq) ); + //Add n3, fields, etc. in the case where the user wants to add a label + //N3 required should be empty since the addition of a label is optional in this case + config.setN3Required(this.generateN3Required(vreq)); + config.setN3Optional(this.generateN3Optional(vreq)); + this.addNewResources(config); + this.setUrisAndLiteralsOnForm(config, vreq); + this.setUrisAndLiteralsInScope(config); + this.setFields(config, vreq, EditConfigurationUtils + .getPredicateUri(vreq)); + + //Get existing labels + //this.initExistingLabels(config, vreq); + + //Add form specific data used to populate template + addFormSpecificData(config, vreq); + //This preprocessor handles getting the correct label language and putting the attribute on the label + config.addEditSubmissionPreprocessor( + new ManageLabelsForIndividualPreprocessor(config)); + //This will handle generating the label from the first name, middle, and last names and also make sure to associate + //a language with that label + config.addModelChangePreprocessor(new FoafNameToRdfsLabelPreprocessor()); + + prepare(vreq, config); + return config; + } + + /**With ISF Changes**/ + //For addition of a label, with ISF changes, the name is now linked to a vcard which in turn is linked to a "fullname" that then has first/middle/last names + + private void addNewResources(EditConfigurationVTwo config) { + config.addNewResource("fullName", DEFAULT_NS_FOR_NEW_RESOURCE); + config.addNewResource("individualVcard", DEFAULT_NS_FOR_NEW_RESOURCE); + } + + private void setUrlToReturnTo(EditConfigurationVTwo editConfiguration, VitroRequest vreq) { + editConfiguration.setUrlPatternToReturnTo(EditConfigurationUtils.getFormUrlWithoutContext(vreq)); + } + + private void setVarNames(EditConfigurationVTwo editConfiguration) { + editConfiguration.setVarNameForSubject("subject"); + editConfiguration.setVarNameForPredicate("predicate"); + + } + + + private List generateN3Required(VitroRequest vreq) { + List n3Required = new ArrayList(); + return n3Required; + } + + private List generateN3Optional(VitroRequest vreq) { + List n3Optional = new ArrayList(); + String predicateUri = EditConfigurationUtils.getPredicateUri(vreq); + String n3 = "?subject <" + predicateUri + "> ?label "; + //n3 used if the subject is a person + //String personN3 = this.N3_PREFIX + "?subject foaf:firstName ?firstName ; foaf:lastName ?lastName ."; + //This n3 will be different with the ISF changes + String personN3 = this.N3_PREFIX + + "?subject ?individualVcard . \n" + + "?individualVcard a . \n" + + "?individualVcard ?subject . \n" + + "?individualVcard ?fullName . \n" + + "?fullName a . \n" + + "?fullName ?firstName . \n" + + "?fullName ?lastName ."; + + n3Optional.add(n3); + n3Optional.add(personN3); + return n3Optional; + } + + + + private void setFields(EditConfigurationVTwo editConfiguration, VitroRequest vreq, String predicateUri) { + Map fields = new HashMap(); + editConfiguration.setFields(fields); + editConfiguration.addField(new FieldVTwo(). + setName("label"). + setValidators(getLabelValidators(vreq, editConfiguration))); + editConfiguration.addField(new FieldVTwo( + ).setName("newLabelLanguage")); + //no validators since all of this is optional + //there should be error-checking client side though + editConfiguration.addField(new FieldVTwo(). + setName("firstName"). + setValidators(getFirstNameValidators(vreq, editConfiguration))); + editConfiguration.addField(new FieldVTwo(). + setName("middleName"). + setValidators(getLastNameValidators(vreq, editConfiguration))); + + editConfiguration.addField(new FieldVTwo(). + setName("lastName"). + setValidators(getLastNameValidators(vreq, editConfiguration))); + + //With ISF Changes, also include middle name + + } + + //first and last name have validators if is person is true + private List getFirstNameValidators(VitroRequest vreq, EditConfigurationVTwo config) { + List validators = new ArrayList(); + if(isPersonType(vreq, config)) { + validators.add("nonempty"); + } + return validators; + } + + private List getLastNameValidators(VitroRequest vreq, EditConfigurationVTwo config) { + List validators = new ArrayList(); + if(isPersonType(vreq, config)) { + validators.add("nonempty"); + } + return validators; + } + + //validate label if person is not true + private List getLabelValidators(VitroRequest vreq, EditConfigurationVTwo config) { + List validators = new ArrayList(); + if(!isPersonType(vreq, config)) { + validators.add("nonempty"); + } + return validators; + } + + + + private void setUrisAndLiteralsOnForm(EditConfigurationVTwo config, + VitroRequest vreq) { + List literalsOnForm = new ArrayList(); + literalsOnForm.add("label"); + literalsOnForm.add("newLabelLanguage"); + //optional for person + literalsOnForm.add("firstName"); + literalsOnForm.add("lastName"); + config.setLiteralsOnForm(literalsOnForm); + + } + + + private void setUrisAndLiteralsInScope(EditConfigurationVTwo editConfiguration) { + HashMap> urisInScope = new HashMap>(); + //note that at this point the subject, predicate, and object var parameters have already been processed + urisInScope.put(editConfiguration.getVarNameForSubject(), + Arrays.asList(new String[]{editConfiguration.getSubjectUri()})); + urisInScope.put(editConfiguration.getVarNameForPredicate(), + Arrays.asList(new String[]{editConfiguration.getPredicateUri()})); + editConfiguration.setUrisInScope(urisInScope); + //Uris in scope include subject, predicate, and object var + + editConfiguration.setLiteralsInScope(new HashMap>()); + } + + private void initExistingLabels(EditConfigurationVTwo config, + VitroRequest vreq) { + this.existingLabelLiterals = this.getExistingLabels(config.getSubjectUri(), vreq); + // this.labelsSortedByLanguage = this.getLabelsSortedByLanguage(config,vreq); + //language names sorted for the existing languages + // this.existingSortedLanguageNameList = getExistingSortedLanguageNamesList(); + + //Generate a label to language code hash map + //TODO: + + //HashMap labelToLanguageCode = new HashMap(); + + //this.labels = getExistingLabels(config.getSubjectUri(), vreq); + //this.labelsSortedByLanguage = getLabelsSortedByLanguage(config.getSubjectUri(), vreq); + + } + + + private List getExistingSortedLanguageNamesList() { + HashSet existingLanguages = new HashSet(); + for(Literal l: this.existingLabelLiterals) { + String language = l.getLanguage(); + if(!existingLanguages.contains(language)) { + existingLanguages.add(language); + } + } + List sortedNames = new ArrayList(existingLanguages); + //sort alphabetically + Collections.sort(sortedNames); + return sortedNames; + } + + + private void addFormSpecificData(EditConfigurationVTwo config, + VitroRequest vreq) { + //Get all language codes/labels in the system, and this list is sorted by language name + List> locales = this.getLocales(vreq); + //Get code to label hashmap - we use this to get the language name for the language code returned in the rdf literal + HashMap localeCodeToNameMap = this.getFullCodeToLanguageNameMap(locales); + //the labels already added by the user + ArrayList existingLabels = this.getExistingLabels(config.getSubjectUri(), vreq); + int numberExistingLabels = existingLabels.size(); + //existing labels keyed by language name and each of the list of labels is sorted by language name + HashMap> existingLabelsByLanguageName = this.getLabelsSortedByLanguageName(existingLabels, localeCodeToNameMap, config, vreq); + //Get available locales for the drop down for adding a new label, also sorted by language name + HashSet existingLanguageNames = new HashSet(existingLabelsByLanguageName.keySet()); + List> availableLocalesForAdd = getAvailableLocales(locales, existingLanguageNames); + + + //Save all locales + config.addFormSpecificData("selectLocaleFullList", locales); + //Save labels sorted by language name, untyped have "untyped" as the language name value + config.addFormSpecificData("labelsSortedByLanguageName", existingLabelsByLanguageName); + config.addFormSpecificData("selectLocale",availableLocalesForAdd); + config.addFormSpecificData("displayRemoveLink", (numberExistingLabels > 1)); + + + //How do we edit? Will need to see + config.addFormSpecificData("deleteWebpageUrl", "/edit/primitiveDelete"); + + + Individual subject = vreq.getWebappDaoFactory().getIndividualDao().getIndividualByURI(config.getSubjectUri()); + if( subject != null && subject.getName() != null ){ + config.addFormSpecificData("subjectName", subject.getName()); + }else{ + config.addFormSpecificData("subjectName", null); + } + + //Put in whether or not person type + if(isPersonType(vreq, config)) { + //Doing this b/c unsure how freemarker will handle boolean value from JAVA + config.addFormSpecificData("isPersonType", "true"); + } else { + config.addFormSpecificData("isPersonType", "false"); + + } + + //Include whether or not editable to enable edit/remove links and add to show up + config.addFormSpecificData("editable", isEditable(vreq, config)); + } + + + + //Based on what locales have already been selected for labels, return a list of + //locales for which new labels can be added and have these sorted by the name of the language + private List> getAvailableLocales(List> allLocales, + HashSet existingLabelsLanguageNames) { + List> availableLocales = new ArrayList>(); + for(HashMap localeInfo: allLocales) { + String languageName = (String) localeInfo.get("label"); + //If this language label is NOT in the labels sorted by language, then available + //for selection when creating a new label + //The assumption here is we don't want to allow the user to add a new label when a label + //already exists in that language + if(languageName != "untyped" && !existingLabelsLanguageNames.contains(languageName)) { + availableLocales.add(localeInfo); + } + } + //Sort list by language label and return + Collections.sort(availableLocales, new Comparator>() { + public int compare(HashMap h1, HashMap h2) { + String languageName1 = (String) h1.get("label"); + String languageName2 = (String) h2.get("label"); + return languageName1.compareTo(languageName2); + } + }); + + return availableLocales; + } + + + private Object isEditable(VitroRequest vreq, EditConfigurationVTwo config) { + Individual individual = EditConfigurationUtils.getIndividual(vreq, config.getSubjectUri()); + AddDataPropertyStatement adps = new AddDataPropertyStatement( + vreq.getJenaOntModel(), individual.getURI(), + RequestActionConstants.SOME_URI); + AddObjectPropertyStatement aops = new AddObjectPropertyStatement( + vreq.getJenaOntModel(), individual.getURI(), + RequestActionConstants.SOME_URI, + RequestActionConstants.SOME_URI); + return PolicyHelper.isAuthorizedForActions(vreq, new Actions(adps).or(aops)); + } + + + //Copied from NewIndividualFormGenerator + //TODO: Refactor so common code can be used by both generators + public String getFOAFPersonClassURI() { + return "http://xmlns.com/foaf/0.1/Person"; + } + + public boolean isPersonType(VitroRequest vreq, EditConfigurationVTwo config) { + WebappDaoFactory wdf = vreq.getWebappDaoFactory(); + Boolean isPersonType = Boolean.FALSE; + String foafPersonType = getFOAFPersonClassURI(); + List vclasses = this.getVClasses(config, vreq); + if( vclasses != null ){ + for( VClass v: vclasses){ + String typeUri = v.getURI(); + if( foafPersonType.equals(typeUri)) { + isPersonType = Boolean.TRUE; + break; + } + } + } + return isPersonType; + } + + //how to get the type of the individual in question + public List getVClasses(EditConfigurationVTwo config, VitroRequest vreq) { + Individual subject = EditConfigurationUtils.getIndividual(vreq, config.getSubjectUri()); + //Get the vclasses appropriate for this subject + return subject.getVClasses(); + } + + //Languages sorted by language name + private HashMap> getLabelsSortedByLanguageName(List labels, Map localeCodeToNameMap, EditConfigurationVTwo config, + VitroRequest vreq) { + String subjectUri = config.getSubjectUri(); + String propertyUri = config.getPredicateUri(); + + + //Iterate through the labels and create a hashmap + HashMap> labelsHash= new HashMap>(); + + for(Literal l: labels) { + String languageTag = l.getLanguage(); + String languageName = ""; + if(languageTag == "") { + languageName = "untyped"; + } + else if(localeCodeToNameMap.containsKey(languageTag)) { + languageName = localeCodeToNameMap.get(languageTag); + } else { + log.warn("This language tag " + languageTag + " does not have corresponding name in the system and was not processed"); + } + + if(languageName != "") { + if(!labelsHash.containsKey(languageName)) { + labelsHash.put(languageName, new ArrayList()); + } + ArrayList labelsList = (ArrayList)labelsHash.get(languageName); + //This should put the label in the list + //Create label information instance with the required information + //To generate link + DataPropertyStatementTemplateModel dpstm = new DataPropertyStatementTemplateModel(subjectUri, propertyUri, l, + template, vreq); + labelsList.add(new LabelInformation( + l, dpstm.getEditUrl(), dpstm.getDeleteUrl(), languageTag, languageName)); + } + } + + //Sort each label list + LabelInformationComparator lic = new LabelInformationComparator(); + for(String languageName: labelsHash.keySet()) { + List labelInfo = labelsHash.get(languageName); + Collections.sort(labelInfo, lic); + } + return labelsHash; + + } + + + public static class LabelInformationComparator implements Comparator { + + public int compare(LabelInformation l1, LabelInformation l2) { + return l1.getLabelStringValue().compareTo(l2.getLabelStringValue()); + } + } + + + private static String LABEL_QUERY = "" + + "PREFIX rdfs: \n" + + "SELECT DISTINCT ?label WHERE { \n" + + " ?subject rdfs:label ?label \n" + + "} ORDER BY ?label"; + + + private ArrayList getExistingLabels(String subjectUri, VitroRequest vreq) { + String queryStr = QueryUtils.subUriForQueryVar(LABEL_QUERY, "subject", subjectUri); + log.debug("queryStr = " + queryStr); + + ArrayList labels = new ArrayList(); + try { + //We want to get the labels for all the languages, not just the display language + ResultSet results = QueryUtils.getLanguageNeutralQueryResults(queryStr, vreq); + while (results.hasNext()) { + QuerySolution soln = results.nextSolution(); + Literal nodeLiteral = soln.get("label").asLiteral(); + labels.add(nodeLiteral); + + + } + } catch (Exception e) { + log.error(e, e); + } + return labels; +} + + + + //Putting this into a method allows overriding it in subclasses + protected String getEditForm() { + return null; + //return AddEditWebpageFormGenerator.class.getName(); + } + + + protected String getTemplate() { + return template; + } + + + + //get locales + public List> getLocales(VitroRequest vreq) { + List selectables = SelectedLocale.getSelectableLocales(vreq); + if (selectables.isEmpty()) { + return Collections.emptyList(); + } + List> list = new ArrayList>(); + Locale currentLocale = SelectedLocale.getCurrentLocale(vreq); + for (Locale locale : selectables) { + try { + list.add(buildLocaleMap(locale, currentLocale)); + } catch (FileNotFoundException e) { + log.warn("Can't show the Locale selector for '" + locale + + "': " + e); + } + } + + return list; + } + + + + public HashMap getFullCodeToLanguageNameMap(List> localesList) { + HashMap codeToLanguageMap = new HashMap(); + for(Map locale: localesList) { + String code = (String) locale.get("code"); + String label = (String) locale.get("label"); + if(!codeToLanguageMap.containsKey(code)) { + codeToLanguageMap.put(code, label); + } + else { + log.warn("Language code " + code + " for " + label + " was not associated in map becayse label already exists"); + } + } + return codeToLanguageMap; + } + + public List getFullLanguagesNamesSortedList(List> localesList) { + HashSet languageNamesSet = new HashSet(); + for(Map locale: localesList) { + String label = (String) locale.get("label"); + if(!languageNamesSet.contains(label)) { + languageNamesSet.add(label); + } + + } + List languageNames = new ArrayList(languageNamesSet); + Collections.sort(languageNames); + return languageNames; + } + + //copied from locale selection data getter but don't need all this information + private HashMap buildLocaleMap(Locale locale, + Locale currentLocale) throws FileNotFoundException { + HashMap map = new HashMap(); + //Replacing the underscore with a hyphen because that is what is represented in the actual literals + map.put("code", locale.toString().replace("_", "-")); + map.put("label", locale.getDisplayName(currentLocale)); + return map; + } + + //Class used to store the information needed for the template, such as the labels, their languages, their edit links + public class LabelInformation { + private Literal labelLiteral = null; + private String editLinkURL; + private String deleteLinkURL; + private String languageCode; //languageCode + private String languageName; + public LabelInformation(Literal inputLiteral, String inputEditLinkURL, String inputDeleteLinkURL, String inputLanguageCode, String inputLanguageName) { + this.labelLiteral = inputLiteral; + this.editLinkURL = inputEditLinkURL; + this.deleteLinkURL = inputDeleteLinkURL; + this.languageCode = inputLanguageCode; + this.languageName = inputLanguageName; + } + + + public Literal getLabelLiteral() { + return this.labelLiteral; + } + + public String getLabelStringValue() { + return this.labelLiteral.getString(); + } + + public String getEditLinkURL() { + return this.editLinkURL; + } + + public String getDeleteLinkURL() { + return this.deleteLinkURL; + } + public String getLanguageCode() { + return this.languageCode; + } + + public String getLanguageName() { + return this.languageName; + } + } + + private String N3_PREFIX = "@prefix foaf: .\n"; + +} diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsGenerator.java new file mode 100644 index 00000000..3d97c02e --- /dev/null +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/ManageLabelsGenerator.java @@ -0,0 +1,70 @@ +/* $This file is distributed under the terms of the license in /doc/license.txt$ */ +package edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators; + +import java.util.List; + +import javax.servlet.http.HttpSession; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import edu.cornell.mannlib.vitro.webapp.beans.Individual; +import edu.cornell.mannlib.vitro.webapp.beans.VClass; +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; +import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationVTwo; + +/** + *This generator selects the actual generator to be employed based on whether the individual is a Person + *or another individual. Adding a label for a person relies on first/name last name information i.e. object properties. + */ +public class ManageLabelsGenerator extends BaseEditConfigurationGenerator implements EditConfigurationGenerator { + public static Log log = LogFactory.getLog(ManageLabelsForIndividualGenerator.class); + @Override + public EditConfigurationVTwo getEditConfiguration(VitroRequest vreq, HttpSession session) { + EditConfigurationVTwo e = null; + String subjectUri = EditConfigurationUtils.getSubjectUri(vreq); + if(this.isPersonType(subjectUri, vreq)) { + //Generator for persons + e = new ManageLabelsForPersonGenerator().getEditConfiguration(vreq, session); + } else { + //Non-Person individuals + e = new ManageLabelsForIndividualGenerator().getEditConfiguration(vreq, session); + + } + + return e; + + } + + + public boolean isPersonType(String subjectUri, VitroRequest vreq) { + Boolean isPersonType = Boolean.FALSE; + String foafPersonType = getFOAFPersonClassURI(); + List vclasses = this.getVClasses(subjectUri, vreq); + if( vclasses != null ){ + for( VClass v: vclasses){ + String typeUri = v.getURI(); + if( foafPersonType.equals(typeUri)) { + isPersonType = Boolean.TRUE; + break; + } + } + } + return isPersonType; + } + + //Copied from NewIndividualFormGenerator + //TODO: Refactor so common code can be used by both generators + public String getFOAFPersonClassURI() { + return "http://xmlns.com/foaf/0.1/Person"; + } + + //how to get the type of the individual in question + public List getVClasses(String subjectUri, VitroRequest vreq) { + Individual subject = EditConfigurationUtils.getIndividual(vreq, subjectUri); + //Get the vclasses appropriate for this subject + return subject.getVClasses(); + } + +} diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java index 87deceb4..c2687659 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java @@ -9,6 +9,11 @@ import java.util.HashSet; import java.util.List; import java.util.Map; +import net.sf.json.JSON; +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; +import net.sf.json.JSONSerializer; + import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -140,26 +145,55 @@ public class AddAssociatedConceptsPreprocessor extends //The original code for submission wouldn't put in a key if the values were null or size 0 urisFromForm.remove("conceptNarrowerURI"); } + //Set the copied values to this value as well so when if there are multiple + //concepts, the inputs get copied correctly for each of them + this.conceptNarrowerURIValues = existingNarrowerURIs; if(existingBroaderURIs.size() > 0) { urisFromForm.put("conceptBroaderURI", existingBroaderURIs); } else { urisFromForm.remove("conceptBroaderURI"); } + this.conceptBroaderURIValues = existingBroaderURIs; } //get the broader and narrower uri values that already exist in the system from the ones returned in the search //and use those to populate relationships between the concept and other concepts already in the system //We should also make sure to use bidirectional n3 so the graph has both sets of relationships represented private List getConceptNarrowerURIValues() { - Map> urisFromForm = submission.getUrisFromForm(); - List narrowerURIs = urisFromForm.get("conceptNarrowerURI"); - return narrowerURIs; + return this.getJSONFormURIValues("conceptNarrowerURI"); } private List getConceptBroaderURIValues() { + return this.getJSONFormURIValues("conceptBroaderURI"); + } + + private List getJSONFormURIValues(String varName) { Map> urisFromForm = submission.getUrisFromForm(); - List broaderURIs = urisFromForm.get("conceptBroaderURI"); - return broaderURIs; + List uris = urisFromForm.get(varName); + //This should be a JSON object stringified + if(uris.size() > 0) { + String jsonString = uris.get(0); + if(jsonString != null && !jsonString.isEmpty()) { + JSON json = JSONSerializer.toJSON(jsonString); + //This should be an array + if(json.isArray()) { + JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(jsonString); + //Convert to list of strings + return convertJsonArrayToList(jsonArray); + } + } + } + return uris; + } + + private List convertJsonArrayToList(JSONArray jsonArray) { + List stringList = new ArrayList(); + int len = jsonArray.size(); + int i = 0; + for(i = 0; i < len; i++) { + stringList.add(jsonArray.getString(i)); + } + return stringList; } private List getExistingBroaderURIs(List broaderURIs) { diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ConceptSemanticTypesPreprocessor.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ConceptSemanticTypesPreprocessor.java index b95733b4..345aeeee 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ConceptSemanticTypesPreprocessor.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ConceptSemanticTypesPreprocessor.java @@ -27,6 +27,8 @@ import com.hp.hpl.jena.shared.Lock; import com.hp.hpl.jena.vocabulary.RDF; import com.hp.hpl.jena.vocabulary.RDFS; +import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; import edu.cornell.mannlib.vitro.webapp.dao.VitroVocabulary; import edu.cornell.mannlib.vitro.webapp.dao.jena.DatasetWrapper; import edu.cornell.mannlib.vitro.webapp.dao.jena.DatasetWrapperFactory; @@ -40,16 +42,15 @@ public class ConceptSemanticTypesPreprocessor implements ModelChangePreprocessor private static String SKOSConceptType = "http://www.w3.org/2004/02/skos/core#Concept"; private Log log = LogFactory.getLog(ConceptSemanticTypesPreprocessor.class); - private OntModel toUpdateModel = null; //Custom constructor - public ConceptSemanticTypesPreprocessor(OntModel updateModel) { - this.toUpdateModel = updateModel; + public ConceptSemanticTypesPreprocessor() { } @Override public void preprocess(Model retractionsModel, Model additionsModel, HttpServletRequest request) { + VitroRequest vreq = new VitroRequest(vreq); //Run a construct query against the additions model String prefixes = "PREFIX rdfs:<" + RDFS.getURI() + "> " + "PREFIX owl: " + @@ -99,6 +100,7 @@ public class ConceptSemanticTypesPreprocessor implements ModelChangePreprocessor } //Add constructed model to the designated update model + OntModel toUpdateModel = ModelAccess.on(vreq).getOntModelSelector().getTBoxModel(); toUpdateModel.enterCriticalSection(Lock.WRITE); try { toUpdateModel.add(constructedModel); From b6b96d12a74e2c03cc7257f478730fea75010591 Mon Sep 17 00:00:00 2001 From: hudajkhan Date: Tue, 24 Sep 2013 14:58:50 -0400 Subject: [PATCH 66/66] updates for edit submission preprocessor, passing vreq --- .../generators/AddAssociatedConceptGenerator.java | 6 ++---- .../AddAssociatedConceptsPreprocessor.java | 10 ++++++---- .../ConceptSemanticTypesPreprocessor.java | 2 +- .../RoleToActivityPredicatePreprocessor.java | 2 +- .../preprocessors/RoleToPredicatePreprocessor.java | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java index a7f8773e..7162b85e 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/generators/AddAssociatedConceptGenerator.java @@ -358,16 +358,14 @@ public class AddAssociatedConceptGenerator extends VivoBaseGenerator implements //Add preprocessor - private void addPreprocessors(EditConfigurationVTwo editConfiguration, - OntModel ontModel, - WebappDaoFactory wdf) { + private void addPreprocessors(EditConfigurationVTwo editConfiguration) { //An Edit submission preprocessor for enabling addition of multiple terms for a single search //TODO: Check if this is the appropriate way of getting model //Passing model to check for any URIs that are present editConfiguration.addEditSubmissionPreprocessor( - new AddAssociatedConceptsPreprocessor(editConfiguration, ontModel, wdf)); + new AddAssociatedConceptsPreprocessor(editConfiguration)); editConfiguration.addModelChangePreprocessor(new ConceptSemanticTypesPreprocessor()); } diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java index c2687659..f673d9e1 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/AddAssociatedConceptsPreprocessor.java @@ -34,6 +34,7 @@ import com.hp.hpl.jena.vocabulary.XSD; import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest; +import edu.cornell.mannlib.vitro.webapp.dao.ModelAccess; import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.BaseEditSubmissionPreprocessorVTwo; import edu.cornell.mannlib.vitro.webapp.edit.n3editing.VTwo.EditConfigurationUtils; @@ -78,17 +79,18 @@ public class AddAssociatedConceptsPreprocessor extends // Will be editing the edit configuration as well as edit submission here - public AddAssociatedConceptsPreprocessor(EditConfigurationVTwo editConfig, OntModel ontModel, WebappDaoFactory wadf) { + public AddAssociatedConceptsPreprocessor(EditConfigurationVTwo editConfig) { super(editConfig); - this.ontModel = ontModel; - this.wdf = wadf; this.labelVarToUriVarHash = new HashMap(); //Saves values of concept type uris this.conceptSemanticTypeURIVarToValueMap = new HashMap>(); } - public void preprocess(MultiValueEditSubmission inputSubmission) { + public void preprocess(MultiValueEditSubmission inputSubmission, VitroRequest vreq) { submission = inputSubmission; + this.wdf = vreq.getWebappDaoFactory(); + this.ontModel = ModelAccess.on(vreq).getJenaOntModel(); + //Set the models that we need here // Get the input elements for concept node and concept label as well // as vocab uri (which is based on thge // For query parameters, check whether CUI diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ConceptSemanticTypesPreprocessor.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ConceptSemanticTypesPreprocessor.java index 345aeeee..d0b3cb9a 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ConceptSemanticTypesPreprocessor.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/ConceptSemanticTypesPreprocessor.java @@ -50,7 +50,7 @@ public class ConceptSemanticTypesPreprocessor implements ModelChangePreprocessor @Override public void preprocess(Model retractionsModel, Model additionsModel, HttpServletRequest request) { - VitroRequest vreq = new VitroRequest(vreq); + VitroRequest vreq = new VitroRequest(request); //Run a construct query against the additions model String prefixes = "PREFIX rdfs:<" + RDFS.getURI() + "> " + "PREFIX owl: " + diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToActivityPredicatePreprocessor.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToActivityPredicatePreprocessor.java index df1d6a9a..ae94cf97 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToActivityPredicatePreprocessor.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToActivityPredicatePreprocessor.java @@ -50,7 +50,7 @@ public class RoleToActivityPredicatePreprocessor extends RoleToPredicatePreproce this.itemToRolePredicate = "activityToRolePredicate"; } - protected String getItemType(MultiValueEditSubmission submission) { + protected String getItemType(MultiValueEditSubmission submission, VitroRequest vreq) { String type = null; Map> urisFromForm = submission.getUrisFromForm(); //Get the type of the activity selected diff --git a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToPredicatePreprocessor.java b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToPredicatePreprocessor.java index 60967f8b..4bebf4df 100644 --- a/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToPredicatePreprocessor.java +++ b/src/edu/cornell/mannlib/vitro/webapp/edit/n3editing/configuration/preprocessors/RoleToPredicatePreprocessor.java @@ -56,7 +56,7 @@ public abstract class RoleToPredicatePreprocessor extends BaseEditSubmissionPrep //Instantiate itemType etc. based on which version of preprocessor required abstract protected void setupVariableNames(); - public void preprocess(MultiValueEditSubmission submission) { + public void preprocess(MultiValueEditSubmission submission, VitroRequest vreq) { //Query for all statements using the original roleIn predicate replace //with the appropriate roleRealizedIn or roleContributesTo //In addition, need to ensure the inverse predicate is also set correctly