valueflows

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

README.md (31679B)


      1 ![Value Flows icon](https://raw.githubusercontent.com/valueflows/valueflows/master/release-doc-in-process/VF-logo-heading.jpg)
      2 # A vocabulary for distributed economic systems
      3 
      4 ## Table of Contents
      5 
      6 ## Introduction
      7 
      8 Value Flows is a set of common vocabularies to describe flows of economic resources of all kinds within distributed economic ecosystems.
      9 
     10 Purpose: to enable internetworking among many different software projects for resource planning and accounting within fractal networks of people and groups.
     11 
     12 Or, with less buzzwords, "let's help a lot of alternative economic software projects that are solving different pieces of the same puzzle be able to work together".
     13 
     14 One of the purposes of this vocab is to support resource flows connecting many websites. These flows may be oriented around Processes, Exchanges, or combinations of both. 
     15 
     16 We want to support RDF based and non-RDF based use of the vocabulary, basically any way that people want to use software and data on the internet to help create economic networks.
     17 
     18 
     19 ### Concepts
     20 
     21 ![networks of networks picture](https://raw.githubusercontent.com/valueflows/valueflows/master/release-doc-in-process/network-elio-cropped.jpg)
     22 
     23 Networks of value flows are created when processes are linked together through flows of resources.
     24 
     25 By process, we mean an activity that transforms inputs into outputs. The outputs might then become inputs to other processes, forming networks and chains. Those chains may be circular, where an output from one process becomes an input to another process that occurred previously in the same chain.
     26 
     27 For example: A farming process takes compost, soil, seeds, water and human and mechanical work as inputs, and transforms them into grains, nuts, fruit, and vegetables. Those ingredients may go to kitchens that create dinners for people to eat. Some of those ingredients may be pared off in preparation, or spoil, or be left on plates. Those leftovers go into compost, which starts the process chain over from the beginning.
     28 
     29 Or for a bad example: A CAFO (Confined Animal Feeding Operation) produces a lot of manure. They put manure into big lagoons, which drain into the water table, and come back up in people's drinking water, causing diseases, for which the people become inputs to a hospital.
     30 
     31 One of the inputs to the CAFO process is antibiotics. The animals are filled with antibiotics because they get sick in the CAFO environment. And the antibiotics are also an output, mixed in with the manure.
     32 
     33 The antibiotics then breed resistant bacteria, which end up in the people, and send them to the hospital, and then kill the people, because the common antibiotics no longer work. And the resistant bacteria remain in the hospital to kill other people.
     34 
     35 (This needs some more development.)
     36 
     37 We think of Economy in the original sense of [management of our household](https://en.wikipedia.org/wiki/Economy). 
     38 
     39 ### Principles 
     40 
     41 These principles are about the model behind the vocabulary.
     42 
     43 1. The model must enable collaboration between different people in different organizations using different software on different platforms using different human and programming languages.
     44 2. The model must be able to form global networks which can track the flows of resources (values) forwards and backwards. Or maybe it would be better to say "in any direction", but forwards means in the direction of value creation, and backwards means in the direction of return or compensation. 
     45 3. Corollary: the model must be able to support value equations that distribute income (rewards) according to peoples' contributions to the creation of the values that generated the income or rewards, regardless of where and when in the network configuration those contributions occurred.
     46 4. The model must also be able to support coordinating work between different people in different organizations. People who are not concerned with rewards may still want to coordinate work.
     47 5. The model must be able to support circular economies, value flows where resources come full cycle to be fed into the same set or other processes so that recycling, re-use, and other ways to encourage resources not becoming waste.
     48 5. The model must be fractal. It must support global views of networks in aggregate as well as drilling down to lower and lower levels of detail. Those lower levels of detail, for example inside one organization, may require permissions.
     49 6. The model must also work on the Recipe, Plan and Observation levels, where the objects on each level are linked appropriately to the other levels.
     50 7. The model must support non-business-as-usual organizational forms and economic relationships in addition to traditional business organizations and relationships.
     51 8. The model must support systems where all the contributors can get shares of the outcome to allocate as they wish. In other words, a group can choose to introduce various monetary currencies into their flows but can also do all the coordination and accounting without introducing such artifacts.
     52 
     53 
     54 ### Status of the vocabulary
     55 
     56 The consolidated parts of the vocabulary are reflected below.  Those include: 
     57 * Core Agent model
     58 * Core Resource model
     59 * Core Input-Process-Output model
     60 
     61 Yet to come: 
     62 * Agent relationships to the rest of the model
     63 * Recipes or Templates for processes and transfers
     64 * Planning - intents, plans, commitments, availability
     65 * Transfers, exchanges and reciprocity
     66 
     67 ## Specification
     68 
     69 ### UML
     70 
     71 ![VF uml picture](https://raw.githubusercontent.com/valueflows/valueflows/master/release-doc-in-process/core-rel.png)
     72 
     73 ### RDF
     74 
     75 ![VF vowl picture](https://raw.githubusercontent.com/valueflows/valueflows/master/release-doc-in-process/release-vowl.png)
     76 
     77 ### Classes
     78 
     79 ##### vf:Agent
     80 
     81 <table>
     82 <tr><td>rdf:type</td><td>owl:Class</td></tr>
     83 <tr><td>rdfs:label</td><td>Agent</td></tr>
     84 <tr><td>rdfs:comment</td><td>A vf:Agent is an entity that has agency in the social or economic realm.  This could be a person, group, organization, network, ongoing project team, etc.</td></tr>
     85 <tr><td>owl:equivalentClass</td><td>foaf:Agent</td></tr>
     86 <tr><td>Properties</td><td>vf:name, vf:url, vf:image, vf:note, vf:primaryLocation</td></tr>
     87 </table>
     88 
     89 (Question: can/should this also have properties for its relationships (where it is an object or subject)?)
     90 
     91 A vf:Agent is empowered to control or affect the flow of economic resources (including his or her own labor) by engaging in economic events. vf:Agents are also empowered to make commitments or promises to affect resource flows in the future. Or putting it another way, a vf:Agent can participate in economic events.
     92 
     93 ##### vf:Group
     94 
     95 <table>
     96 <tr><td>rdf:type</td><td> owl:Class </td></tr>
     97 <tr><td>rdfs:label</td><td>Group</td></tr>
     98 <tr><td>rdfs:comment</td><td>A vf:Group is any kind of association of more than one person, which can be loosely or formally organized, but has economic agency as a group beyond any person.</td></tr>
     99 <tr><td>rdfs:subClassOf</td><td>vf:Agent</td></tr>
    100 <tr><td>owl:equivalentClass</td><td>foaf:Group</td></tr>
    101 <tr><td>Properties</td><td></td></tr>
    102 </table>
    103 
    104 ##### vf:IPOEvent
    105 
    106 (name under discussion; also we need more discussion on economic events that don't have a process.....)
    107 
    108 <table>
    109 <tr><td>rdf:type</td><td> owl:Class </td></tr>
    110 <tr><td>rdfs:label</td><td>IPOEvent</td></tr>
    111 <tr><td>rdfs:comment</td><td>A vf:IOPEvent is an inflow or outflow of an economic resource in relation to a process. This could reflect a change in the quantity of a vf:Resource. It is also defined by its behavior in relation to the vf:Resource and a vf:Process (consume, use, create, etc.)</td></tr>
    112 <tr><td>Properties</td><td>vf:action, vf:resource, vf:eventQuantity, vf:eventStart, vf:note</td></tr>
    113 </table>
    114 
    115 *How resources relate to events*
    116 
    117 An event can trigger incrementing or decrementing a resource. This is clear in the case of consuming a component or creating a product.  Sometimes it does neither, as in the case of citing a document. We consider a citation to be an inflow of a resource, but it does not decrement the resource. In fact, more citations make the resource more valuable. But the cited resource presumably added value to the output of the process (for example, the design of a 3D printed product, without which it cannot be made).
    118 
    119 In any case, the quantity of a resource related to the event is not a resource itself, it is just a property of the event.  For example a resource could be 100 widgets on a pallet, lot number 1234.  If 10 of those widgets are consumed in a process that makes something out of them, that is an event: consumption of 10 widgets of lot number 1234.  The event triggers the decrement of the original resource of 100 widgets, which now has quantity of 90.
    120 
    121 (More work needs to be done in the quantity area for durations....)
    122 
    123 ##### vf:MaterialResource
    124 
    125 <table>
    126 <tr><td>rdf:type</td><td> owl:Class </td></tr>
    127 <tr><td>rdfs:label</td><td>MaterialResource</td></tr>
    128 <tr><td>rdfs:comment</td><td>A resource whose economic utility comes from its existence in the real world.</td></tr>
    129 <tr><td>rdfs:subClassOf</td><td>vf:Resource</td></tr>
    130 <tr><td>Properties</td><td></td></tr>
    131 </table>
    132 
    133 Material resources may imply some level of scarcity.  Material resources can be consumed, after which they are gone.  Or they can be used, during which they are unavailable to others, and after which they may have experienced some degradation.
    134 
    135 ##### vf:Person
    136 
    137 <table>
    138 <tr><td>rdf:type</td><td> owl:Class </td></tr>
    139 <tr><td>rdfs:label</td><td>Person</td></tr>
    140 <tr><td>rdfs:comment</td><td>A natural person.</td></tr>
    141 <tr><td>rdfs:subClassOf</td><td>vf:Agent</td></tr>
    142 <tr><td>owl:equivalentClass</td><td>foaf:Person, schema:Person</td></tr>
    143 <tr><td>Properties</td><td></td></tr>
    144 </table>
    145 
    146 ##### vf:Process
    147 
    148 <table>
    149 <tr><td>rdf:type</td><td> owl:Class </td></tr>
    150 <tr><td>rdfs:label</td><td>Process</td></tr>
    151 <tr><td>rdfs:comment</td><td>A vf:Process is an activity that changes inputs into outputs.  It could transform or transport vf:Resource(s).</td></tr>
    152 <tr><td>Properties</td><td>vf:name, vf:plannedStart, vf:plannedDuration, vf:io, vf:note</td></tr>
    153 </table>
    154 
    155 ##### vf:Relationship
    156 
    157 <table>
    158 <tr><td>rdf:type</td><td> owl:Class </td></tr>
    159 <tr><td>rdfs:label</td><td>Relationship</td></tr>
    160 <tr><td>rdfs:comment</td><td>A vf:Relationship denotes a relationship between 2 Agents of any type.
    161 The relationship can be in the context of another Agent.
    162 For example, Jane is a mentor of John in the context of the group Enspiral.</td></tr>
    163 <tr><td>Properties</td><td>vf:subject, vf:relationship, vf:object, vf:context</td></tr>
    164 </table>
    165 
    166 ##### vf:Resource
    167 
    168 <table>
    169 <tr><td>rdf:type</td><td> owl:Class </td></tr>
    170 <tr><td>rdfs:label</td><td>Resource</td></tr>
    171 <tr><td>rdfs:comment</td><td>A vf:Resource is an economic resource which is useful to people or the ecosystem.</td></tr>
    172 <tr><td>Properties</td><td>vf:name, vf:lotIdentity, vf:serialIdentity, vf:quantity, vf:category, vf:model, vf:contains, vf:underlyingResource, vf:note</td></tr>
    173 </table>
    174 
    175 Traditionally, an economic resource is defined by its utility, but also by its scarcity and its control by an economic agent. That definition is too limited. Its limitations include:
    176 * Intellectual creations like designs are not scarce, yet they clearly are economic resources. They only become scarce when legally restricted by patents and copyrights. 
    177 * Air, water, and other products of nature are clearly economic resources, but they are not under the control of an agent unless they are legally restricted by ownership. However, by means of the invisible foot that accompanies the invisible hand, they are regularly degraded by enterprises, and not accounted for, classified as “externalities”.
    178 
    179 We want to think of ourselves as participants in ecosystems, not competing enterprises. As such, we need to account for our effects on all aspects of our ecosystem.
    180 
    181 And we want knowledge to be freely available.
    182 
    183 Also, we prefer to think of use value, but economic resources also often have exchange value.
    184 
    185 *The difference between a resource and its category or model*
    186 
    187 An economic resource is observable.  Its category or model defines what type of thing the vf:Resource is.
    188 
    189 So, for example, most things offered for sale on an e-commerce site are models, which can be searched using categories.
    190 The one in a box delivered to your door is a resource.
    191 
    192 Or the description of the book entitled "The Power of Babel: A Natural History of Language", ISBN ISBN-13: 978-0060520854,
    193 is a model. Your library may have two copies that you can check out. Those are resources.
    194 
    195 *Identification and Behaviors of Resources*
    196 
    197 Here are three different types of resources from the viewpoint of identification:
    198 a) serialized resources, where each individual instance has a unique identifier,
    199 b) lot-controlled resources, where each lot or batch has a unique identifier, but the lot or batch may contain many individual instances, and
    200 c) count or volume or stock resources, where individual instances are indistinguishable, or in the case of fluids, only exist on a molecular level.
    201 
    202 Serialized resources would fit the direct identification pattern. Lots can be split up, so the identification of a subset of a lot would require some other properties, such as location. Stock resources can only be described indirectly, by means of some combination of properties, such as model and location. (Location is a complex ontology of its own: for example, in warehousing, a location is often composed of warehouse:room:aisle:row:tier.)
    203 
    204 Moreover, identification of resources will depend on context and purpose. We want to allow each context to define resources that they have relationships with, according to the combination of properties that works best for them, which might include which agent has which relationship with a resource.
    205 
    206 And then in the "independent view", for larger-scale analysis of resource flows, or for example for lot tracking for public health issues like mad cow disease, different combinations of properties might be needed.
    207 
    208 *Inventory*
    209 
    210 Resources can be inventoried, not inventoried but could be, or it doesn't make sense to think about inventory.
    211 * Inventoried: You want to keep track of it, changes in quantity, and how many you have right now.
    212 * Not inventoried: You could keep track of it, but it isn't worth it.  This usually happens for quantities of small or hard to measure items that are obtained in bulk, like solder or bolts.  In this case, you have to look at the actual resource to see if you need more, the data won't tell you.
    213 * Not applicable: This is for types of work (unless scheduled), and other resources where it just doesn't make sense.
    214 
    215 *Unique identifiers fo resources*
    216 
    217 This can vary.  And people can be allowed within some boundaries of agreement to specify which combination of other properties would constitute identifiers.
    218 
    219 Here are some examples from manufacturing situations:
    220 
    221 * Unique identifier = an assigned serialized identifier, which is unique across manufacturers, due to agreements in an industry.  Examples are computers, vehicles, and other equipment.
    222 * Unique identifier = resource model + lot identifier + location + owner: so in other words, the owner of the rights was part of the unique identifier of the resource, and if the resource got transferred from one owner to another, the first owner's resources would be decremented, and the second owner's resources would be incremented. 
    223 
    224 Note in the last case, a transfer of rights means a different resource. This is common with resources that are not serialized, where one logical resource has a quantity greater than 1, and the individual instances are substitutable. (Think nuts and bolts, grain, strawberries, bottles of beer in cases, etc.)
    225 
    226 ##### vf:ResourceModel
    227 
    228 <table>
    229 <tr><td>rdf:type</td><td> owl:Class </td></tr>
    230 <tr><td>rdfs:label</td><td>ResourceModel</td></tr>
    231 <tr><td>rdfs:comment</td><td>A vf:ResourceModel is a template and/or definition of a type of resource.</td></tr>
    232 <tr><td>owl:equivalentClass</td><td>gr:ProductOrServiceModel</td></tr>
    233 <tr><td>Properties</td><td>vf:name, vf:category, vf:unit, vf:isSubstitutable?, vf:image, vf:note</td></tr>
    234 </table>
    235 
    236 (We need to develop this some more, and give some examples.  Also a question on the gr equivalentClass, ours is more broad.)
    237 
    238 ##### vf:ServiceResource
    239 
    240 <table>
    241 <tr><td>rdf:type</td><td> owl:Class </td></tr>
    242 <tr><td>rdfs:label</td><td>ServiceResource</td></tr>
    243 <tr><td>rdfs:comment</td><td>A vf:ServiceResource is a resource that provides a result that cannot be separated from the recipient.</td></tr>
    244 <tr><td>rdfs:subClassOf</td><td>vf:Resource</td></tr>
    245 <tr><td>Properties</td><td></td></tr>
    246 </table>
    247 
    248 Examples of vf:ServiceResources are a haircut or dental service.
    249 
    250 ##### vf:Transformation
    251 
    252 <table>
    253 <tr><td>rdf:type</td><td> owl:Class </td></tr>
    254 <tr><td>rdfs:label</td><td>Transformation</td></tr>
    255 <tr><td>rdfs:comment</td><td>A vf:Transformation is an activity that transforms inputs into outputs.  It causes a change in the composition of the vf:Resource(s).</td></tr>
    256 <tr><td>rdfs:subClassOf</td><td>vf:Process</td></tr>
    257 <tr><td>Properties</td><td></td></tr>
    258 </table>
    259 
    260 ##### vf:Transportation
    261 
    262 <table>
    263 <tr><td>rdf:type</td><td> owl:Class </td></tr>
    264 <tr><td>rdfs:label</td><td>Transportation</td></tr>
    265 <tr><td>rdfs:comment</td><td>A vf:Transportation is a change in location of vf:Resource(s).</td></tr>
    266 <tr><td>rdfs:subClassOf</td><td>vf:Process</td></tr>
    267 <tr><td>Properties</td><td></td></tr>
    268 </table>
    269 
    270 ##### vf:UsageResource
    271 
    272 <table>
    273 <tr><td>rdf:type</td><td> owl:Class </td></tr>
    274 <tr><td>rdfs:label</td><td>UsageResource</td></tr>
    275 <tr><td>rdfs:comment</td><td>A vf:UsageResource is the usage of a vf:MaterialResource.</td></tr>
    276 <tr><td>rdfs:subClassOf</td><td>vf:Resource</td></tr>
    277 <tr><td>Properties</td><td></td></tr>
    278 </table>
    279 
    280 A vf:UsageResource will have a vf:underlyingResource of a vf:MaterialResource.  (I think.)  For example, a material resource could be a piece of equipment, with quantity of 1 each.  The usage resource defines the usage of that piece of equipment, with quantity of 3 hours.  Or a material resource could be an apartment, with a usage resource of apartment rental for 1 year.
    281 
    282 (This probably needs more discussion, have we completely agreed on vf:underlyingResource?)
    283 
    284 ##### vf:WorkResource
    285 
    286 <table>
    287 <tr><td>rdf:type</td><td> owl:Class </td></tr>
    288 <tr><td>rdfs:label</td><td>WorkResource</td></tr>
    289 <tr><td>rdfs:comment</td><td>A vf:WorkResource is a quantity of work done by a vf:Agent.</td></tr>
    290 <tr><td>rdfs:subClassOf</td><td>vf:Resource</td></tr>
    291 <tr><td>Properties</td><td></td></tr>
    292 </table>
    293 
    294 
    295 ### Properties
    296 
    297 (Note the rdf:types need review and possibly correction.)
    298 
    299 ##### vf:action
    300 
    301 <table>
    302 <tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr>
    303 <tr><td>rdfs:label</td><td>action</td></tr>
    304 <tr><td>rdfs:comment</td><td>A vf:action relates a process input or output (or other vf:IPOEVent) to a verb.</td></tr>
    305 <tr><td>rdfs:domain (property of)</td><td>vf:IPOEvent</td></tr>
    306 <tr><td>rdfs:range (allowed values)</td><td></td></tr>
    307 </table>
    308 
    309 ##### Verbs associated with vf:action
    310 
    311 ###### Input
    312 * vf:use - for example a tool used in process, after the process, the tool still exists
    313 * vf:consume - for example an ingredient composed into the output, after the process the ingredient is gone
    314 * vf:cite - for example a design file, neither used nor consumed, the file remains available at all times
    315 * vf:work - labor power towards a process
    316 * vf:accept - in processes like repair or maintentance, same resource will appear in output with *vf:improve* verb
    317 * vf:load -  transported resource enters the process
    318 
    319 ###### Output
    320 
    321 * vf:create - new resource created in that process
    322 * vf:improve - in processes like repair or maintentance, same resource will appear in input with *vf:accept* verb
    323 * vf:unload -  transported resource leaves the process
    324 
    325 ##### vf:category
    326 
    327 <table>
    328 <tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr>
    329 <tr><td>rdfs:label</td><td>category</td></tr>
    330 <tr><td>rdfs:comment</td><td>A type or categorization that describes a resource.</td></tr>
    331 <tr><td>rdfs:domain (property of)</td><td>vf:ResourceModel, vf:Resource</td></tr>
    332 <tr><td>rdfs:range (allowed values)</td><td>an IRI??</td></tr>
    333 </table>
    334 
    335 Resource categories are a Taxonomy. That means they can be defined very broadly and generally and maybe vaguely, or they can be defined very narrowly,
    336 but fit into broader categories. 
    337 
    338 So, for example, you may want an apple. Or you may want a green apple. Or you may want a Granny Smith apple.
    339 Or you may want a Granny Smith apple from your neighboring farm.
    340 
    341 People can use the multitude of existing taxonomies for resources, or can also create their own as needed.
    342 
    343 (We need to discuss faceted categorization too.)
    344 
    345 ##### vf:context
    346 
    347 <table>
    348 <tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr>
    349 <tr><td>rdfs:label</td><td>context</td></tr>
    350 <tr><td>rdfs:comment</td><td>The larger context in which something occurs.</td></tr>
    351 <tr><td>rdfs:domain (property of)</td><td>vf:Relationship, </td></tr>
    352 <tr><td>rdfs:range (allowed values)</td><td>vf:Agent</td></tr>
    353 </table>
    354 
    355 This allows grouping of economic relationships and economic activity (future releases) into a context for coordination and accounting purposes.
    356 
    357 ##### vf:currentLocation
    358 
    359 <table>
    360 <tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr>
    361 <tr><td>rdfs:label</td><td>currentLocation</td></tr>
    362 <tr><td>rdfs:comment</td><td>The current place an item is, so that it can be found.</td></tr>
    363 <tr><td>rdfs:domain (property of)</td><td>vf:Resource (and subclasses)</td></tr>
    364 <tr><td>rdfs:range (allowed values)</td><td>IRI?</td></tr>
    365 </table>
    366 
    367 Location is a complex ontology of its own, from a mappable point of interest to a warehouse:room:aisle:row:tier. We will not repeat existing location ontologies.
    368 
    369 We simply require that any location referenced here has an IRI so it can be identified directly. 
    370 
    371 ##### vf:eventQuantity
    372 
    373 <table>
    374 <tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr>
    375 <tr><td>rdfs:label</td><td>eventQuantity</td></tr>
    376 <tr><td>rdfs:comment</td><td>The quantity and unit of the event. This is the quantity that could be used to increment or decrement a resource, depending on the type of resource and type of event.</td></tr>
    377 <tr><td>rdfs:domain (property of)</td><td>vf:IPOEvent</td></tr>
    378 <tr><td>rdfs:range (allowed values)</td><td>qudt:QuantityValue</td></tr>
    379 </table>
    380 
    381 (Need discussion: is this the same as duration, in case of work for example?)
    382 
    383 ##### vf:eventStart
    384 
    385 <table>
    386 <tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr>
    387 <tr><td>rdfs:label</td><td>eventStart</td></tr>
    388 <tr><td>rdfs:comment</td><td>The starting date and optionally time of the event.</td></tr>
    389 <tr><td>rdfs:domain (property of)</td><td>vf:IPOEvent</td></tr>
    390 <tr><td>rdfs:range (allowed values)</td><td></td></tr>
    391 </table>
    392 
    393 ##### vf:image
    394 
    395 <table>
    396 <tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr>
    397 <tr><td>rdfs:label</td><td>image</td></tr>
    398 <tr><td>rdfs:comment</td><td>An image associated with an object, to help clarify it.</td></tr>
    399 <tr><td>rdfs:domain (property of)</td><td>vf:Agent, vf:Resource</td></tr>
    400 <tr><td>rdfs:range (allowed values)</td><td>???</td></tr>
    401 </table>
    402 
    403 ##### vf:isSubstitutable
    404 
    405 <table>
    406 <tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr>
    407 <tr><td>rdfs:label</td><td>isSubstitutable</td></tr>
    408 <tr><td>rdfs:comment</td><td>Defines if any resources of that type can be freely substituted for any other resource of that type when used, consumed, traded, etc. </td></tr>
    409 <tr><td>rdfs:domain (property of)</td><td>vf:ResourceModel, vf:Resource</td></tr>
    410 <tr><td>rdfs:range (allowed values)</td><td>vf:ResourceModel, vf:Resource</td></tr>
    411 </table>
    412 
    413 For example, "B9R-1-red DLP resin photopolymer" is probably a substitutable resource type.  While each resource for a resource type called "English-Spanish translation" is probably not substitutable because each will be a different document.
    414 
    415 ##### vf:io
    416 
    417 <table>
    418 <tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr>
    419 <tr><td>rdfs:label</td><td>io</td></tr>
    420 <tr><td>rdfs:comment</td><td>Relates a process to its inputs and outputs.</td></tr>
    421 <tr><td>rdfs:domain (property of)</td><td>vf:Process</td></tr>
    422 <tr><td>rdfs:range (allowed values)</td><td>vf:IPOEvent</td></tr>
    423 </table>
    424 
    425 (I can't remember why we put vf:input and vf:output together into one.... it would be nice to see the difference in the data, especially since we don't have EventType.... ?)
    426 
    427 ##### vf:lotIdentifier
    428 
    429 <table>
    430 <tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr>
    431 <tr><td>rdfs:label</td><td>lotIdentifier</td></tr>
    432 <tr><td>rdfs:comment</td><td>Often called "lot number", used for trackable batched resources.</td></tr>
    433 <tr><td>rdfs:domain (property of)</td><td>vf:Resource</td></tr>
    434 <tr><td>rdfs:range (allowed values)</td><td></td></tr>
    435 </table>
    436 
    437 Example: a lot of asparagus that will be distributed in smaller quantities but may need to be tracked to its source in case of an e-coli outbreak.
    438 
    439 See also vf:Resource.
    440 
    441 ##### vf:model
    442 
    443 <table>
    444 <tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr>
    445 <tr><td>rdfs:label</td><td>model</td></tr>
    446 <tr><td>rdfs:comment</td><td>The detailed template for or definition of an economic resource.</td></tr>
    447 <tr><td>rdfs:domain (property of)</td><td>vf:Resource</td></tr>
    448 <tr><td>rdfs:range (allowed values)</td><td>vf:ResourceModel, other resource models??</td></tr>
    449 </table>
    450 
    451 This can apply to the traditional model for a product.  It can also apply to non-material resources, like a type of work.
    452 
    453 ##### vf:name
    454 
    455 <table>
    456 <tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr>
    457 <tr><td>rdfs:label</td><td>name</td></tr>
    458 <tr><td>rdfs:comment</td><td>An informal or formal textual identifier for an object. Does not imply uniqueness.</td></tr>
    459 <tr><td>rdfs:domain (property of)</td><td>(anything?)</td></tr>
    460 <tr><td>rdfs:range (allowed values)</td><td>skos:prefLabel</td></tr>
    461 </table> 
    462 
    463 ##### vf:note
    464 
    465 <table>
    466 <tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr>
    467 <tr><td>rdfs:label</td><td>note</td></tr>
    468 <tr><td>rdfs:comment</td><td>A freeform note or description of an object or item.</td></tr>
    469 <tr><td>rdfs:domain (property of)</td><td>(anything)</td></tr>
    470 <tr><td>rdfs:range (allowed values)</td><td>skos:note</td></tr>
    471 </table>
    472 
    473 ##### vf:object
    474 
    475 <table>
    476 <tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr>
    477 <tr><td>rdfs:label</td><td>object</td></tr>
    478 <tr><td>rdfs:comment</td><td>The object of the relationship.</td></tr>
    479 <tr><td>rdfs:domain (property of)</td><td>vf:Relationship</td></tr>
    480 <tr><td>rdfs:range (allowed values)</td><td>vf:Agent</td></tr>
    481 </table>
    482 
    483 For example, in "Michael is a member of Enspiral", Enspiral is the object.
    484 
    485 ##### vf:parent
    486 
    487 <table>
    488 <tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr>
    489 <tr><td>rdfs:label</td><td>parent</td></tr>
    490 <tr><td>rdfs:comment</td><td>A more general type of resource.</td></tr>
    491 <tr><td>rdfs:domain (property of)</td><td>vf:ResourceModel</td></tr>
    492 <tr><td>rdfs:range (allowed values)</td><td>vf:ResourceModel</td></tr>
    493 </table>
    494 
    495 For example, Herb is the parent resource type of Anise Hyssop, Goldenrod, Nettles, Red Clover, etc.  Besides its usefulness in understanding taxonomies of resource types, this can be useful when one can define a general recipe that will work for many more specific types of resources.
    496 
    497 ##### vf:primaryLocation
    498 
    499 <table>
    500 <tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr>
    501 <tr><td>rdfs:label</td><td>primaryLocation</td></tr>
    502 <tr><td>rdfs:comment</td><td>The main place an agent is, often an address where activities occur and mail can be sent.</td></tr>
    503 <tr><td>rdfs:domain (property of)</td><td>vf:Agent (and subclasses)</td></tr>
    504 <tr><td>rdfs:range (allowed values)</td><td>?</td></tr>
    505 </table>
    506 
    507 Location is a complex ontology of its own, and we will not repeat existing location ontologies.
    508 
    509 In the case of primaryLocation, this is usually a mappable geographic location.  It also could be a website address, as in the case of agents who have no physical location.
    510 
    511 ##### vf:quantity
    512 
    513 <table>
    514 <tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr>
    515 <tr><td>rdfs:label</td><td>quantity</td></tr>
    516 <tr><td>rdfs:comment</td><td>The current quantity and unit of the resource.</td></tr>
    517 <tr><td>rdfs:domain (property of)</td><td>vf:Resource</td></tr>
    518 <tr><td>rdfs:range (allowed values)</td><td>qudt:QuantityValue</td></tr>
    519 </table>
    520 
    521 NOTE: a resource can have 0 quantity, one can use it for historical resources which some process consumed as well as for planned resources which a planned process will create.
    522 
    523 ##### vf:relationship
    524 
    525 <table>
    526 <tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr>
    527 <tr><td>rdfs:label</td><td>relationship</td></tr>
    528 <tr><td>rdfs:comment</td><td>A verb that describes a generic defined relationship that can be had between 2 Agents (or subclasses of).
    529 Although it usually is, the relationship of a particular type does not have to be agreed to from both sides, for example "follow".
    530 </td></tr>
    531 <tr><td>rdfs:domain (property of)</td><td>vf:Relationship</td></tr>
    532 <tr><td>rdfs:range (allowed values)</td><td></td></tr>
    533 </table>
    534 
    535 A relationship can be direct, like "steward" or "like", or more like a role.
    536 Role types of relationships are often used for a person's role in an organization or group,
    537 for example "grower" or "harvester" for a food network.
    538 
    539 There are a number of useful Properties in existing vocabularies that can be used.
    540 Or people can create their own as needed.
    541 
    542 ##### vf:resource
    543 
    544 <table>
    545 <tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr>
    546 <tr><td>rdfs:label</td><td>resource</td></tr>
    547 <tr><td>rdfs:comment</td><td>Relates process input/output to a resource.</td></tr>
    548 <tr><td>rdfs:domain (property of)</td>vf:IPOEvent<td></td></tr>
    549 <tr><td>rdfs:range (allowed values)</td><td>vf:Resource (or its subclasses)</td></tr>
    550 </table>
    551 
    552 ##### vf:serialIdentifier 
    553 
    554 <table>
    555 <tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr>
    556 <tr><td>rdfs:label</td><td>serialIdentifier</td></tr>
    557 <tr><td>rdfs:comment</td><td>Often called "serial number", used when each item must have a trackable identifier (like a computer).</td></tr>
    558 <tr><td>rdfs:domain (property of)</td><td>vf:Resource</td></tr>
    559 <tr><td>rdfs:range (allowed values)</td><td></td></tr>
    560 </table>
    561 
    562 See also vf:Resource.
    563 
    564 ##### vf:subject
    565 
    566 <table>
    567 <tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr>
    568 <tr><td>rdfs:label</td><td>subject</td></tr>
    569 <tr><td>rdfs:comment</td><td>The subject of a relationship.</td></tr>
    570 <tr><td>rdfs:domain (property of)</td><td>vf:Relationship</td></tr>
    571 <tr><td>rdfs:range (allowed values)</td><td>vf:Agent</td></tr>
    572 </table>
    573 
    574 For example, in "Michael is a member of Enspiral", Michael is the subject.
    575 
    576 ##### vf:underlyingResource
    577 
    578 <table>
    579 <tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr>
    580 <tr><td>rdfs:label</td><td>underlyingResource</td></tr>
    581 <tr><td>rdfs:comment</td><td>A more concrete resource upon which a resource is based.</td></tr>
    582 <tr><td>rdfs:domain (property of)</td><td>vf:Resource</td></tr>
    583 <tr><td>rdfs:range (allowed values)</td><td>vf:Resource</td></tr>
    584 </table>
    585 
    586 One example: a resource which defines the rental of an apartment has the apartment itself as its underlying resource.  Another example: a virtual account resource can have an actual bank account as its underlying resource. 
    587 
    588 ##### vf:url
    589 
    590 <table>
    591 <tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr>
    592 <tr><td>rdfs:label</td><td>url</td></tr>
    593 <tr><td>rdfs:comment</td><td>An internet address (we may need to be more exact?  IRI?)</td></tr>
    594 <tr><td>rdfs:domain (property of)</td><td></td></tr>
    595 <tr><td>rdfs:range (allowed values)</td><td>?</td></tr>
    596 </table> 
    597 
    598 
    599 ## Examples
    600 
    601 
    602 
    603 
    604 ## Citations (maybe and bibliography?)
    605 
    606 all the papers Bob found for definitions.... also the transportation paper...