Conversation
Just some minor worries about the definition of |
|
A general perplexity about the examples used here. Even though the examples concern the relations The differences between capacities and dispositions can be tricky to analyse; however, the main differentiator is that dispositions are individuated not only by a manifestation or effect, but also by the stimulus that triggers that manifestation or effect. For example, water-solubility is a typical example of disposition because it consists in the tendency to dissolve when put in water. In addition to that, an object having a disposition entails that it prevalently produces the effect in question when the trigger occurs: sodium chloride is most likely going to dissolve when put in water - unless some other chemical preventing the dissolution is added. By contrast, a capacity ascription merely entails that an object can do this or that, without any implications about the conditions in which it does it or about how likely it is to do it. In the examples above, there is talk of aircrafts being able to fly at a certain speed, which seems to point to a capacity more than a disposition. I don't know what you had in mind when you were constructing the fighter example, but the problem might just be in the phrasing: maybe what we really mean what we say that a fighter can fly at Mach 2, is that it is disposed to fly at Mach 2 when certain operations and conditions are met - that is, is properly fuelled, is in clean configuration, and so on. I suspect that this might be the case, since we are not interested in what an aircraft "can" do, but in what it tends to do when configured and used in a certain way. |
|
NB if you grant my point about the disposition vs capacity distinction, this would also require a revision of the definition of |
afizzycola
left a comment
There was a problem hiding this comment.
I recommend this PR is rejected because of the following:
- It is not clear what the new disposition semantics add to what is already covered in the standard (specifically the Dispositions pattern) and through rdf and rdfs.
- The examples provided do not follow patterns and stipulations stated in the standard. Moreover some examples contradicts guidance.
Please see my code and file comments for further details
There was a problem hiding this comment.
why are there dotted isDisposedTo lines as well as the <<objectProperty>> UML element? Same with allHaveDisposition
| ies:eachHasDisposition ex:FlyAtMach2 . | ||
|
|
||
| # ============================================================================= | ||
| # An anonymous planning asset class (§3.1 non-specific asset requirement) |
There was a problem hiding this comment.
What is an anonymous planning asset class? These examples don’t feel very accessible from the perspective of an everyday IES user. I’d suggest using the comments to better explain what you’re trying to achieve here, especially for someone approaching this topic with no prior context.
There was a problem hiding this comment.
why is ies:eachHasDisposition a blue ObjectProperty? This implies it is a subProperty of rdfs:subClassOf but in the .ttl it is a subProperty of ies:relationship. Which is it?
There was a problem hiding this comment.
This is applies to all the newly introduced relations as in the RDF they seem to be just subProperties of ies:relationship
| when in operational condition. The eachHasDisposition assertion records | ||
| that every such State has the disposition to fly at Mach 2."""@en-GB ; | ||
| rdfs:subClassOf ies:VehicleState ; | ||
| ies:eachHasDisposition ex:FlyAtMach2 . |
There was a problem hiding this comment.
If each instance of ex:EurofighterInOperationalCondition has the disposition of ex:FlyAtMach2 then ex:EurofighterInOperationalCondition is a subClassOf ex:FlyAtMach2. You don't need this new ies:relationship
| # committed to a specific platform. A named class is a convenience - the | ||
| # Capability ex:FlyAtMach2 already implicitly defines the set of entities | ||
| # disposed to it. | ||
| ex:Mach2CapableAsset a ies:ClassOfState ; |
There was a problem hiding this comment.
What makes this different to the above ex:FlyAtMach2?
| rdfs:range ies:ClassOfState ; | ||
| rdfs:subPropertyOf ies:relationship . | ||
|
|
||
| ies:requiresPart |
There was a problem hiding this comment.
Data for justifying this? Again this is staying into what rdfs domain and range; and SHACL are for
| @@ -0,0 +1,321 @@ | |||
| # Dispositions | |||
|
|
|||
| A **disposition** is what a State of an Entity *can* do — its potential — in some possible world, whether or not it has ever actually done it. | |||
There was a problem hiding this comment.
Are we talking about the same dispositions that are covered by ies:DispositionalClass? If so, this contradicts the definition of that class
|
|
||
| ## Two New Properties: `hasDisposition` and `eachHasDisposition` | ||
|
|
||
| IES v5.1 introduces two complementary properties that express disposition without the sub-class and type inferences of the existing properties. |
There was a problem hiding this comment.
This doesn't seem accurate to me: are they inferences if they are explicitly stated in the ontology as subProperties of rdfs:subClassOf and rdf:type?
There was a problem hiding this comment.
I suggest replacing "inferences" -> "semantics".
|
|
||
| ## Summary | ||
|
|
||
| The disposition properties in IES provide a way to record what States *can* do — their potential — separately from what they *actually* do. |
There was a problem hiding this comment.
I am so confused! What is the difference between these new "disposition" semantics and the existing ones? Looks like the authors have misunderstood the existing dispositions pattern completely
| 1. **Dispositions are modal** — a State can have a disposition without ever actualising it | ||
| 2. **`hasDisposition` domain is `State`** — dispositions attach to temporal parts (or whole-life Entity instances, which are also States) | ||
| 3. **Actualisation via `rdf:type`** — when a disposition is actually exercised, the State is typed as a member of the disposition's `ClassOfState` | ||
| 4. **Conditional dispositions use conditional classes** — preconditions are encoded by defining a restricted `ClassOfState` and attaching `eachHasDisposition` to it |
There was a problem hiding this comment.
Again, what is a conditional class?
Agreed. I think there are at least) three aspects that have been conflated and therefore are confusing. The example of disposition v capability is a good one. Then there is the modal uncertainty which you also point out @Matteo-Benocci-Semantic-Partners. The latter confounds things because just as there is a possible world (set) where something is the case (flying at Mach2) there are worlds where it isn't and indeed where the things don't even exist! All of this irrespective of those thing's capacity to do so. In the case of capability, the uncertainty is around whether it is realised in its lifetime from the narrator's perspective at time t, whereas from outside ontological perspective it is either the case for some state (temporal part) thereof or not. This translates into doxastic actualities (set of possible worlds narrator believes the actual world to be a member of) - but this doesn't get supported until ies-possibilia. Disposition, on the other hand, could be said to be a property that again may or may not be realised in a lifetime (which could be very long for a grain of salt!) There are possible worlds where salt may not be water-soluble (not a set that includes our world). But this is not the same as capacity to be party to some condition - which I understand the intended use-case is (e.g. car-park to be used as emergency distribution centre). I suspect that capability for something depends on some form of agency to impose the conditions (and interpretation) for the realisation, whereas disposition does not (in general). The disposition is realised in the case of the conditions for it being realised, the event of what something has capacity for is realised if the conditions for such an event are realised. It seems to me that capacity for something is an observed property for potential to be participatory in some type of event, whereas disposition is an observed material property. The mereology is different. The confusion of modal uncertainty with observer's perspective in the descriptions just confounds things even further. I suggest this PR is rejected for further work. However, in response to questions for TG: Q1: Aspect 1, ok but needs clarification over modal actuality v possibility (realised v potential to realise) |
| ## H | ||
|
|
||
| ### hasCapacity | ||
| A relationship that asserts a `State` can have (be a member of) a particular `ClassOfState` (Capacity). This expresses modal possibility: the State, in some possible world, can be a member of the specified ClassOfState. This is distinct from actually being a member (`rdf:type`). For example, "Sandown Hall during 2024 has the capacity to shelter displaced persons" means that State *can* be a member of the "Shelter displaced persons" ClassOfState, whether or not it ever actualises that capacity. Domain: `ies:State`. Range: `ies:ClassOfState`. See also [Capacity user guide](user-guides/capacity.md). |
There was a problem hiding this comment.
Set of things that realise some particular characteristic for some temporal part, and set of things that have the characteristic of being able to realise that particular characteristic, are different sets. The characteristic being citing is different in each case. Therefore the question of realisation should be independent, and the perceived complexity in class disappears.
| ### hasCapacity | ||
| A relationship that asserts a `State` can have (be a member of) a particular `ClassOfState` (Capacity). This expresses modal possibility: the State, in some possible world, can be a member of the specified ClassOfState. This is distinct from actually being a member (`rdf:type`). For example, "Sandown Hall during 2024 has the capacity to shelter displaced persons" means that State *can* be a member of the "Shelter displaced persons" ClassOfState, whether or not it ever actualises that capacity. Domain: `ies:State`. Range: `ies:ClassOfState`. See also [Capacity user guide](user-guides/capacity.md). | ||
| ### hasDisposition | ||
| A relationship that asserts a `State` can have (be a member of) a particular `ClassOfState`. This expresses modal possibility: the State, in some possible world, can be a member of the specified ClassOfState. This is distinct from actually being a member (`rdf:type`). For example, "Sandown Hall during 2024 has the disposition (capability) to shelter displaced persons" means that State *can* be a member of the "Shelter displaced persons" ClassOfState, whether or not it ever actualises it. Domain: `ies:State`. Range: `ies:ClassOfState`. See also [Dispoisition user guide](user-guides/disposition.md). |
There was a problem hiding this comment.
This simply shifts the confusion between characteristic of possibility with possibility of characteristic. It also confounds disposition (integral material condition) with potential to participate in some event - a capability.
| ### eachHasCapacity | ||
| A relationship that asserts all members of a `ClassOfState` can have (be members of) a particular `ClassOfState` (Capacity). This is the class-level equivalent of `hasCapacity`. For example, "Every Eurofighter in operational condition can fly at Mach 2" uses `eachHasCapacity` to assert this capability at the class level, whereas `hasCapacity` would be used for a specific aircraft State. Domain: `ies:ClassOfState`. Range: `ies:ClassOfState`. See [Capacity](user-guides/capacity.md). | ||
| ### eachHasDisposition | ||
| A relationship that asserts all members of a `ClassOfState` can have (be members of) a particular `ClassOfState`. This is the class-level equivalent of `hasDisposition`. For example, "Every Eurofighter in operational condition can fly at Mach 2" uses `eachHasDisposition` to assert this capability at the class level, whereas `hasDisposition` would be used for a specific aircraft State. Domain: `ies:ClassOfState`. Range: `ies:ClassOfState`. See [Disposition](user-guides/disposition.md). |
There was a problem hiding this comment.
see comments for hasCapacity / hasDisposition
|
This pull request is "suspended" until a plan for addressing the issues raised is made and resources assigned. |
This pull request is suspended until a plan for addressing the issues raised in comments is made and development resources assigned
IES Common v5.1.0: Disposition Pattern (replaces Capacity Pattern)
Summary
Following reviewer feedback, this PR supersedes the Capacity pattern proposed in PR #17 v5.1.0-rc2 (Part 2). It
introduces a revised treatment of the requirements for recording what things can do — their potential — within IES Common.
For visibility, the requirements and analysis document
disposition-pattern.pdfis included in content covered by this PR.The existing
ies:DispositionalClass,ies:Capability, andies:Tendencymeta-classes are retained without change. This PR is additive and
non-breaking: no existing data or implementation is affected.
What Has Changed from rc2
Terminology
The rc2 proposal used
ies:Capacity,hasCapacity, andeachHasCapacity. ThisPR replaces that terminology throughout:
ies:Capacity(new class)ies:CapabilityretainedhasCapacityies:hasDispositioneachHasCapacityies:eachHasDispositionThe collapse of
CapacityintoCapabilityis because the two classes were found to be semantically equivalent (see §5.1 of thedisposition-pattern.pdf). No new meta-class is introduced.Withdrawn Claims
The following claims made in rc2 have been acknowledged as overclaims and are
withdrawn:
specific modal logic system was established. The defensible claim, supported by
analysis, is that the new properties make modal intent more explicit in the RDF
structure (see §6.3 of the informational analysis).
Statedomain provides spatio-temporal anchoring as a consequence of the encoding
choice, not as a claimed improvement over the existing mechanism (see §6.4).
Whole-life Entities are first-class disposition bearers under the proposed
encoding, because every Entity subclass in IES v5 is also a State subclass
through the Entity-as-State pattern (see §6.2).
Aspect 1 - Modal Potential
Part 1: The Existing Encoding (Retained)
The existing
ies:isDisposedToandies:allHaveDispositionproperties remain.Under Interpretation 2 (where the modal semantics are carried by
the property rather than embedded in class definitions), and with
State/ClassOfStatesemantics, they address requirements §3.1–§3.4 of theinformational analysis.
This PR does not deprecate or restrict the existing encoding. Implementers may
continue to use
isDisposedToandallHaveDispositionwithout change.Part 2: Proposed Refinements — Two New Properties
Two new properties are proposed as backwards-compatible additions alongside
the existing encoding:
ies:hasDispositionUsage: Individual-level assertion — "Fighter XYZ-123 can fly at Mach 2."
ies:eachHasDispositionUsage: Class-level assertion — "Every Eurofighter in operational condition
can fly at Mach 2."
Why these properties alongside the existing ones?
The structural difference is in where the modal semantics reside:
isDisposedTois a sub-property ofrdf:type.This forces the modal content into class definitions (e.g. "Vehicles capable of
Mach 2"), introducing definitional circularity and making modality invisible to
automated reasoning — the triple
data:FighterXYZ-123 rdf:type ex:VehiclesCapableOfMach2is indistinguishable from an ordinary type assertion.
hasDispositioncarries the modal semanticsindependently. The Capability class can be defined cleanly as a class of states
("states of flying at Mach 2"), and a SPARQL query or consuming application can
distinguish disposition assertions from type assertions by graph structure alone.
Both encodings express the same set-theoretic relationship (Sₓ ∩ R ≠ ∅).
Neither is more "correct" than the other; they differ in where the semantic
complexity resides and how visible modality is to consuming systems.
Coverage: All Three Planning Levels Supported
A concern raised in rc2 review (chrispartridge1091, issue #35) was that the
proposal excluded the non-specific asset case used in mission planning. The proposed encoding covers all three levels:
ies:Capabilityinstance + SPARQL query overeachHasDispositioneachHasDispositionon a namedClassOfStatehasDispositionon the Entity or a State of itFor the non-specific case, a named asset class is a convenience, not a
requirement:
Whole-Life Entities
Whole-life Entities are first-class disposition bearers. A whole-life Entity such
as
data:FighterXYZ-123, typed asies:Aircraft, satisfies theies:Statedomain of
hasDispositiondirectly — becauseies:Aircraftis a subclass ofies:VehicleState, which is a subclass ofies:State.Temporally scoped assertions (for capabilities that hold only during a specific
period) are made by creating an explicit State instance with temporal bounds:
Aspect 2: Dependency Properties (For Discussion)
The two new properties above address Aspect 1 of the requirements: modal
assertions of potential. They do not address Aspect 2: the compositional
constraints that describe what must hold for a potential to be realisable (e.g.
"a Eurofighter flying at Mach 2 requires both EJ200 engines to be operational").
The informational analysis (§5.3) identifies two approaches for Aspect 2 and
brings the choice to the IES-TG:
(a) Four dependency properties extending the disposition vocabulary:
ies:requiresStateClassOfStateies:eachRequiresClassOfStateClassOfStateies:requiresPartStateClassOfStateies:eachRequiresPartClassOfStateClassOfStateA worked example of this approach is provided in Appendix B of the informational
analysis, including the Eurofighter propulsion dependency (§3.5) and the
Voyager tanker cross-entity dependency (§3.6).
(b) A separate mechanism rooted in IES's existing mereological vocabulary,
treating Aspect 2 as a compositional constraint problem distinct from the
disposition mechanism.
This PR does not include the dependency properties. They are presented for
IES-TG discussion and, if endorsed, would be the subject of a separate formal
change proposal. The IES-TG's guidance is sought on Questions Q4 and Q5 in
§7.3 of the informational analysis.
Known Limitations and Deferred Items
Statedomain excludesies:Eventin v5. No use cases identified. Under Top and Core (v6), Activities are States and the distinction dissolves. ExistingisDisposedTo(domainies:Element) covers this if needed in v5.requires,eachRequires,requiresPart,eachRequiresPart) are presented for discussion but not proposed for inclusion in this release.Questions for IES-TG Review
From §7.3 of
disposition-pattern.pdf:Q1. Does the IES-TG agree that the seven requirements in §3 are the right
set? Are there requirements that should be added, removed, or reframed?
Q2. Does the IES-TG accept the distinction between Aspect 1 (possible worlds
/ modal assertions about potential) and Aspect 2 (designs and plans /
compositional constraints) as the right way to structure further work?
Q3. Does the IES-TG agree that the existing
isDisposedTo/allHaveDispositionmechanism, under Interpretation 2 and withState/ClassOfStatesemantics, addresses requirements §3.1–§3.4?Q4. Should
hasDispositionandeachHasDispositionbe taken forward as aformal change proposal for inclusion in IES Common? If so, should they be
proposed for v5.x (a minor release) or deferred to v6?
Q5. How should requirements §3.5–§3.6 (dependency properties) be addressed?
(a) Extend the disposition pattern with four dependency properties? (b) Use a
separate mechanism rooted in mereological constraints?
Q6. Is the deliberate exclusion of Event-bearing dispositions from the v5
scope acceptable, given that no use cases have been identified and that the
distinction dissolves under Top and Core?
Issues Addressed (for discussion)
Statedomain accommodates whole-life Entities via Entity-as-State pattern; documentation rewritten (§6.2 of analysis)Capacityclass not neededCapacityclass not introduced;ies:Capabilityretained; properties renamed tohasDisposition/eachHasDispositionies-possibiliaundocumentedies:PossibleWorlddocumented in Appendix A.4Documentation Changes
docs/common/user-guides/capacity.md— replaced with revised user guidedisposition.mdreflecting the corrected framing,
hasDisposition/eachHasDispositionterminology, and all three planning levels
docs/common/glossary.md— entries updatedspecification/ies-common.ttl—ies:hasDispositionandies:eachHasDispositionproperty definitions added; no new classes introducedSample Data
docs/common/examples/sample-data/disposition-class-level.ttldocs/common/examples/sample-data/disposition-individual-level.ttldocs/common/examples/sample-data/disposition-conditional.ttl