valueflows

valueflows docs
git clone https://s.sonu.ch/~srfsh/valueflows.git
Log | Files | Refs | README

commit 95269cbbc2cef14c2cda418924ceeeca0526c05b
parent 478c17c0ba78e3db0f501e5d1f09bb61cc915ec5
Author: Lynn Foster <foster.j.lynn@gmail.com>
Date:   Sat,  2 Nov 2019 07:25:47 -0500

Time (#590)

* vf:hasPointInTime added

* tweak to description

* turtle defs

* removed before/after, added due

* fix hasPointInTime

* fix to time properties

Diffstat:
Mdocs/introduction/flows.md | 7++++---
Mexamples/checkout-book.yaml | 6+++---
Mexamples/claim.yaml | 2+-
Mexamples/move-crypto.yaml | 2+-
Mexamples/plan-from-recipe.yaml | 2+-
Mexamples/simple-plan.yaml | 2+-
Mexamples/transfer-crypto.yaml | 2+-
Mexamples/workflow-stage-state.yaml | 2+-
Mrelease-doc-in-process/all_vf.TTL | 40+++++++++++++++++++++++++++++++++++++++-
9 files changed, 52 insertions(+), 13 deletions(-)

diff --git a/docs/introduction/flows.md b/docs/introduction/flows.md @@ -100,17 +100,18 @@ Quantities are used for counting, such as: * Resource increment and decrement * Recipes, how much or many goes into and out of a transformation process -Times are used for coordination, such as: +Times are used for coordination and scheduling, such as: * Calendar availability * Planned timelines They can be used together for analysis and reporting, such as: * Accounting totals (quantity) within accounting period (time) -Quantities can be any needed unit of measure, including counts, volumes, weights, etc. Time can be a duration or an instant. Note that recipes may need to scale both quantities and calendar times when used to create a plan. +Quantities can be any needed unit of measure, including counts, volumes, weights, etc. Time can be a beginning/end time (an interval), or a point in time, or a due date. The flows require at least one of those. If a point in time is recorded, an application should return that time as the beginning and end time. + +Note that recipes may need to scale both quantities and calendar times when used to create a plan. Sometimes a quantity is expressed in time-based units, like "I worked 6 hours", or "we used this machine for 8 hours". These flows also will have a related time, like "I worked from 10am to 4pm", or "we used this machine from 8am to 4pm". In these examples, the quantity is used for accounting figures, exchange, recipes. The time is used to schedule and coordinate the work or machine usage. Sometimes a situation may call for a "compound quantity", like "Number-per-Year". -Times can have different levels of exactness based on the need. For example a commitment might specify that a task should be done by a certain date, but it doesn't matter when it is done before that date. diff --git a/examples/checkout-book.yaml b/examples/checkout-book.yaml @@ -29,7 +29,7 @@ realizationOf: library:f47064eb-7120-4b31-b882-770165901fe6 action: transfer-custody resourceInventoriedAs: library:2402b57c-1c45-423a-acb2-f50961c97d65 - time:inXSDDateTimeStamp: 2019-04-18T8:00:00-5:00 + hasPointInTime: 2019-04-18T8:00:00-5:00 provider: https://library.example/ receiver: https://bob.example/ resourceQuantity: @@ -46,7 +46,7 @@ resourceQuantity: qudt:unit: unit:Number qudt:numericValue: 1 - time:before: 2019-05-17T18:00:00-5:00 + due: 2019-05-17T18:00:00-5:00 # resource after check out @@ -72,7 +72,7 @@ resourceQuantity: qudt:unit: unit:Number qudt:numericValue: 1 - time:inXSDDateTimeStamp: 2019-05-14T10:20:00-5:00 + hasPointInTime: 2019-05-14T10:20:00-5:00 - '@id': urn:uuid:6f438393-7f87-4914-806c-e23a4fd15e89 '@type': Fulfillment diff --git a/examples/claim.yaml b/examples/claim.yaml @@ -48,7 +48,7 @@ resourceQuantity: qudt:unit: unit:Number qudt:numericValue: 260 # here Bob received income for more than one work event (others not included in the example) - time:inXSDDateTimeStamp: 2018-10-25T09:30:00-0:00 + hasPointInTime: 2018-10-25T09:30:00-0:00 - '@id': mfg:b52a5815-fae9-43bf-be95-833b95dc0ada '@type': Settlement diff --git a/examples/move-crypto.yaml b/examples/move-crypto.yaml @@ -39,7 +39,7 @@ resourceQuantity: qudt:unit: unit:Number qudt:numericValue: 100 - time:inXSDDateTimeStamp: 2019-04-18T8:30:08-5:00 + hasPointInTime: 2019-04-18T8:30:08-5:00 # accounts after diff --git a/examples/plan-from-recipe.yaml b/examples/plan-from-recipe.yaml @@ -62,7 +62,7 @@ '@type': Plan name: Delivery fiber skos:note: Make the optical fiber that makes the connection between the device and the transducer. - time:before: 2019-04-08T17:00:00-5:00 + due: 2019-04-08T17:00:00-5:00 dcterms:created: 2019-04-01T10:35:00-5:00 - '@id': sensor:a8236bbb-81e0-422d-9861-56d2417db0fb diff --git a/examples/simple-plan.yaml b/examples/simple-plan.yaml @@ -11,7 +11,7 @@ '@type': Plan name: Anti climate change campaign materials skos:note: A set of printed materials for the campaign by Students for Peace and Justice - time:before: 2019-04-08T17:00:00-5:00 + due: 2019-04-08T17:00:00-5:00 dcterms:created: 2019-04-01T10:35:00-5:00 - '@id': printer:02b39a30-3e04-4305-9656-7f261aa63c84 diff --git a/examples/transfer-crypto.yaml b/examples/transfer-crypto.yaml @@ -40,7 +40,7 @@ resourceQuantity: qudt:unit: unit:Number qudt:numericValue: 100 - time:inXSDDateTimeStamp: 2019-04-18T8:30:08-5:00 + hasPointInTime: 2019-04-18T8:30:08-5:00 # accounts after diff --git a/examples/workflow-stage-state.yaml b/examples/workflow-stage-state.yaml @@ -162,7 +162,7 @@ - '@id': mfg:8e5fe80d-a769-4bd5-89e5-2136d33eab9f '@type': Plan name: Buckets run number 381 - time:before: 2019-04-08T17:00:00-5:00 # due + due: 2019-04-08T17:00:00-5:00 # due - '@id': mfg:b52a5815-fae9-43bf-be95-833b95dc0adb '@type': Commitment diff --git a/release-doc-in-process/all_vf.TTL b/release-doc-in-process/all_vf.TTL @@ -54,7 +54,7 @@ vf:ProcessSpecification a owl:Class ; vf:RecipeFlow a owl:Class ; rdfs:label "vf:RecipeFlow" ; vs:term_status "unstable" ; - rdfs:comment "The specification of a resource inflow to, or outflow from, a recipe process.." . + rdfs:comment "The specification of a resource inflow to, or outflow from, a recipe process." . vf:ScenarioDefinition a owl:Class ; rdfs:label "vf:ScenarioDefinition" ; @@ -323,6 +323,13 @@ vf:containedIn a owl:ObjectProperty ; vf:hasBeginning a owl:DatatypeProperty ; rdfs:domain time:TemporalEntity ; + rdfs:domain [ owl:unionOf ( + vf:Commitment + vf:EconomicEvent + vf:Intent + vf:Proposal + vf:Scenario + vf:Process) ] ; rdfs:range xsd:dateTimeStamp ; vs:term_status "unstable" ; owl:propertyChainAxiom (time:hasBeginning time:inXSDDateTimeStamp) ; @@ -330,11 +337,42 @@ vf:hasBeginning a owl:DatatypeProperty ; vf:hasEnd a owl:DatatypeProperty ; rdfs:domain time:TemporalEntity ; + rdfs:domain [ owl:unionOf ( + vf:Commitment + vf:EconomicEvent + vf:Intent + vf:Proposal + vf:Scenario + vf:Process) ] ; rdfs:range xsd:dateTimeStamp ; vs:term_status "unstable" ; owl:propertyChainAxiom (time:hasEnd time:inXSDDateTimeStamp) ; rdfs:comment "The planned or actual end of a flow or process." . +vf:hasPointInTime a owl:DatatypeProperty ; + rdfs:domain time:Instant ; + rdfs:domain [ owl:unionOf ( + vf:Commitment + vf:EconomicEvent + vf:Intent) ] ; + rdfs:range xsd:dateTimeStamp ; + vs:term_status "unstable" ; + owl:propertyChainAxiom (time:hasEnd time:inXSDDateTimeStamp) ; + rdfs:comment "The planned or actual time of a flow; can be used instead of hasBeginning and hasEnd, if so, hasBeginning and hasEnd should be able to be returned with this value." . + +time:hasDuration + rdfs:domain [ owl:unionOf (vf:RecipeProcess vf:ScenarioDefinition) ] . + +vf:due a owl:DatatypeProperty ; + rdfs:domain [ owl:unionOf ( + vf:Plan + vf:Commitment + vf:Claim + vf:Intent) ] ; + rdfs:range xsd:dateTimeStamp ; + vs:term_status "unstable" ; + rdfs:comment "The time something is expected to be complete." . + vf:accountingQuantity a owl:ObjectProperty ; rdfs:label "accounting quantity" ; rdfs:domain vf:EconomicResource ;