valueflows

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

commit c50ec46d9eb62bda307a0db756fa024ba98605cc
parent 869e15a39ae90aa183dd0d7a125afbb5237f8321
Author: Lynn Foster <foster.j.lynn@gmail.com>
Date:   Thu,  9 Mar 2017 16:25:31 -0600

Put old release-doc-in-progress into gitbook structure.  This is a starting place.

Diffstat:
Mdocs/README.md | 2+-
Mdocs/SUMMARY.md | 44++++++++++++++++++++++++++++++++++++++++++++
Adocs/specification/classes/agent.md | 14++++++++++++++
Adocs/specification/classes/classes.md | 12++++++++++++
Adocs/specification/classes/event.md | 17+++++++++++++++++
Adocs/specification/classes/group.md | 11+++++++++++
Adocs/specification/classes/person.md | 11+++++++++++
Adocs/specification/classes/process.md | 9+++++++++
Adocs/specification/classes/relationship.md | 11+++++++++++
Adocs/specification/classes/resource.md | 60++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adocs/specification/classes/transformation.md | 10++++++++++
Adocs/specification/classes/transportation.md | 10++++++++++
Adocs/specification/diagrams/uml.md | 6++++++
Adocs/specification/diagrams/vowl.md | 3+++
Adocs/specification/properties/action.md | 26++++++++++++++++++++++++++
Adocs/specification/properties/affectedquantity.md | 12++++++++++++
Adocs/specification/properties/category.md | 18++++++++++++++++++
Adocs/specification/properties/context.md | 12++++++++++++
Adocs/specification/properties/currentlocation.md | 14++++++++++++++
Adocs/specification/properties/eventstart.md | 10++++++++++
Adocs/specification/properties/image.md | 10++++++++++
Adocs/specification/properties/input.md | 10++++++++++
Adocs/specification/properties/issubstitutable.md | 12++++++++++++
Adocs/specification/properties/name.md | 10++++++++++
Adocs/specification/properties/note.md | 10++++++++++
Adocs/specification/properties/object.md | 12++++++++++++
Adocs/specification/properties/output.md | 10++++++++++
Adocs/specification/properties/parent.md | 12++++++++++++
Adocs/specification/properties/primarylocation.md | 14++++++++++++++
Adocs/specification/properties/properties.md | 21+++++++++++++++++++++
Adocs/specification/properties/quantity.md | 12++++++++++++
Adocs/specification/properties/relationship.md | 19+++++++++++++++++++
Adocs/specification/properties/resource.md | 10++++++++++
Adocs/specification/properties/subject.md | 12++++++++++++
Adocs/specification/properties/trackingidentifier.md | 14++++++++++++++
Adocs/specification/properties/underlyingresource.md | 12++++++++++++
Adocs/specification/properties/url.md | 10++++++++++
37 files changed, 521 insertions(+), 1 deletion(-)

diff --git a/docs/README.md b/docs/README.md @@ -1,5 +1,5 @@ ![Value Flows](https://rawgit.com/valueflows/valueflows/master/release-doc-in-process/VF-logo-heading.jpg) - +### A vocabulary for distributed economic systems Value Flows is a set of common vocabularies to describe flows of economic resources of all kinds within distributed economic ecosystems. diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md @@ -4,3 +4,46 @@ * [Introduction](README.md) * [Concepts](introduction/concepts.md) * [Principles](introduction/principles.md) +* [Status](introduction/status.md) + +## Specification + +### Diagrams +* [RDF-based](vowl.md) +* [UML](uml.md) + +### Classes +* [List of Classes](classes.md) + +* [vf:Agent](agent.md) +* [vf:Event](event.md) +* [vf:Group](group.md) +* [vf:Person](person.md) +* [vf:Process](process.md) +* [vf:Relationship](relationship.md) +* [vf:Resource](resource.md) +* [vf:Transformation](transformation.md) +* [vf:Transportation](transportation.md) + +### Properties +* [List of Properties](properties.md) + +* [vf:action](action.md) +* [vf:affectedQuantity](affectedquantity.md) +* [vf:category](category.md) +* [vf:context](context.md) +* [vf:currentLocation](currentlocation.md) +* [vf:eventStart](eventstart.md) +* [vf:image](image.md) +* [vf:input](input.md) +* [vf:name](name.md) +* [vf:note](note.md) +* [vf:object](object.md) +* [vf:output](output.md) +* [vf:primaryLocation](primarylocation.md) +* [vf:quantity](quantity.md) +* [vf:relationship](relationship.md) +* [vf:resource](resource.md) +* [vf:subject](subject.md) +* [vf:trackingIdentifier](trackingidentifier.md) +* [vf:underlyingResource](underlyingresource.md)+ \ No newline at end of file diff --git a/docs/specification/classes/agent.md b/docs/specification/classes/agent.md @@ -0,0 +1,13 @@ +### vf:Agent + +<table> +<tr><td>rdf:type</td><td>owl:Class</td></tr> +<tr><td>rdfs:label</td><td>Agent</td></tr> +<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> +<tr><td>owl:equivalentClass</td><td>foaf:Agent</td></tr> +<tr><td>Properties</td><td>vf:name, vf:url, vf:image, vf:note, vf:primaryLocation</td></tr> +</table> + +(Question: can/should this also have properties for its relationships (where it is an object or subject)?) + +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.+ \ No newline at end of file diff --git a/docs/specification/classes/classes.md b/docs/specification/classes/classes.md @@ -0,0 +1,12 @@ +# Classes + +* [Agent](agent.md) +* [Event](event.md) +* [Group](group.md) +* [Person](person.md) +* [Process](process.md) +* [Relationship](relationship.md) +* [Resource](resource.md) +* [Transformation](transformation.md) +* [Transportation](transportation.md) + diff --git a/docs/specification/classes/event.md b/docs/specification/classes/event.md @@ -0,0 +1,16 @@ +### vf:Event + +<table> +<tr><td>rdf:type</td><td> owl:Class </td></tr> +<tr><td>rdfs:label</td><td>IPOEvent</td></tr> +<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> +<tr><td>Properties</td><td>vf:action, vf:resource, vf:eventQuantity, vf:eventStart, vf:note</td></tr> +</table> + +*How resources relate to events* + +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). + +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. + +(More work needs to be done in the quantity area for durations....)+ \ No newline at end of file diff --git a/docs/specification/classes/group.md b/docs/specification/classes/group.md @@ -0,0 +1,10 @@ +### vf:Group + +<table> +<tr><td>rdf:type</td><td> owl:Class </td></tr> +<tr><td>rdfs:label</td><td>Group</td></tr> +<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> +<tr><td>rdfs:subClassOf</td><td>vf:Agent</td></tr> +<tr><td>owl:equivalentClass</td><td>foaf:Group</td></tr> +<tr><td>Properties</td><td></td></tr> +</table>+ \ No newline at end of file diff --git a/docs/specification/classes/person.md b/docs/specification/classes/person.md @@ -0,0 +1,10 @@ +### vf:Person + +<table> +<tr><td>rdf:type</td><td> owl:Class </td></tr> +<tr><td>rdfs:label</td><td>Person</td></tr> +<tr><td>rdfs:comment</td><td>A natural person.</td></tr> +<tr><td>rdfs:subClassOf</td><td>vf:Agent</td></tr> +<tr><td>owl:equivalentClass</td><td>foaf:Person, schema:Person</td></tr> +<tr><td>Properties</td><td></td></tr> +</table>+ \ No newline at end of file diff --git a/docs/specification/classes/process.md b/docs/specification/classes/process.md @@ -0,0 +1,8 @@ +### vf:Process + +<table> +<tr><td>rdf:type</td><td> owl:Class </td></tr> +<tr><td>rdfs:label</td><td>Process</td></tr> +<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> +<tr><td>Properties</td><td>vf:name, vf:plannedStart, vf:plannedDuration, vf:io, vf:note</td></tr> +</table>+ \ No newline at end of file diff --git a/docs/specification/classes/relationship.md b/docs/specification/classes/relationship.md @@ -0,0 +1,10 @@ +### vf:Relationship + +<table> +<tr><td>rdf:type</td><td> owl:Class </td></tr> +<tr><td>rdfs:label</td><td>Relationship</td></tr> +<tr><td>rdfs:comment</td><td>A vf:Relationship denotes a relationship between 2 Agents of any type. +The relationship can be in the context of another Agent. +For example, Jane is a mentor of John in the context of the group Enspiral.</td></tr> +<tr><td>Properties</td><td>vf:subject, vf:relationship, vf:object, vf:context</td></tr> +</table>+ \ No newline at end of file diff --git a/docs/specification/classes/resource.md b/docs/specification/classes/resource.md @@ -0,0 +1,59 @@ +### vf:Resource + +<table> +<tr><td>rdf:type</td><td> owl:Class </td></tr> +<tr><td>rdfs:label</td><td>Resource</td></tr> +<tr><td>rdfs:comment</td><td>A vf:Resource is an economic resource which is useful to people or the ecosystem.</td></tr> +<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> +</table> + +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: +* Intellectual creations like designs are not scarce, yet they clearly are economic resources. They only become scarce when legally restricted by patents and copyrights. +* 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”. + +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. + +And we want knowledge to be freely available. + +Also, we prefer to think of use value, but economic resources also often have exchange value. + +*The difference between a resource and its category or model* + +An economic resource is observable. Its category or model defines what type of thing the vf:Resource is. + +So, for example, most things offered for sale on an e-commerce site are models, which can be searched using categories. +The one in a box delivered to your door is a resource. + +Or the description of the book entitled "The Power of Babel: A Natural History of Language", ISBN ISBN-13: 978-0060520854, +is a model. Your library may have two copies that you can check out. Those are resources. + +*Identification and Behaviors of Resources* + +Here are three different types of resources from the viewpoint of identification: +a) serialized resources, where each individual instance has a unique identifier, +b) lot-controlled resources, where each lot or batch has a unique identifier, but the lot or batch may contain many individual instances, and +c) count or volume or stock resources, where individual instances are indistinguishable, or in the case of fluids, only exist on a molecular level. + +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.) + +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. + +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. + +*Inventory* + +Resources can be inventoried, not inventoried but could be, or it doesn't make sense to think about inventory. +* Inventoried: You want to keep track of it, changes in quantity, and how many you have right now. +* 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. +* Not applicable: This is for types of work (unless scheduled), and other resources where it just doesn't make sense. + +*Unique identifiers fo resources* + +This can vary. And people can be allowed within some boundaries of agreement to specify which combination of other properties would constitute identifiers. + +Here are some examples from manufacturing situations: + +* Unique identifier = an assigned serialized identifier, which is unique across manufacturers, due to agreements in an industry. Examples are computers, vehicles, and other equipment. +* 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. + +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.)+ \ No newline at end of file diff --git a/docs/specification/classes/transformation.md b/docs/specification/classes/transformation.md @@ -0,0 +1,9 @@ +### vf:Transformation + +<table> +<tr><td>rdf:type</td><td> owl:Class </td></tr> +<tr><td>rdfs:label</td><td>Transformation</td></tr> +<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> +<tr><td>rdfs:subClassOf</td><td>vf:Process</td></tr> +<tr><td>Properties</td><td></td></tr> +</table>+ \ No newline at end of file diff --git a/docs/specification/classes/transportation.md b/docs/specification/classes/transportation.md @@ -0,0 +1,9 @@ +### vf:Transportation + +<table> +<tr><td>rdf:type</td><td> owl:Class </td></tr> +<tr><td>rdfs:label</td><td>Transportation</td></tr> +<tr><td>rdfs:comment</td><td>A vf:Transportation is a change in location of vf:Resource(s).</td></tr> +<tr><td>rdfs:subClassOf</td><td>vf:Process</td></tr> +<tr><td>Properties</td><td></td></tr> +</table>+ \ No newline at end of file diff --git a/docs/specification/diagrams/uml.md b/docs/specification/diagrams/uml.md @@ -0,0 +1,5 @@ +### UML Representation + +![VF uml picture](https://rawgit.com/valueflows/valueflows/master/release-doc-in-process/ValueFlowsUML.png) + +Note: There are some differences in this representation and the RDF based representation. This is to support OO and relational implementations, as well as open vocabularies that are not RDF based. + \ No newline at end of file diff --git a/docs/specification/diagrams/vowl.md b/docs/specification/diagrams/vowl.md @@ -0,0 +1,3 @@ +### RDF-based Representation + +![VF uml picture](https://rawgit.com/valueflows/valueflows/master/release-doc-in-process/all_vf.svg) diff --git a/docs/specification/properties/action.md b/docs/specification/properties/action.md @@ -0,0 +1,25 @@ +### vf:action + +<table> +<tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr> +<tr><td>rdfs:label</td><td>action</td></tr> +<tr><td>rdfs:comment</td><td>A vf:action relates a process input or output (or other vf:IPOEVent) to a verb.</td></tr> +<tr><td>rdfs:domain (property of)</td><td>vf:Event</td></tr> +<tr><td>rdfs:range (allowed values)</td><td></td></tr> +</table> + +##### Verbs associated with vf:action + +###### Input +* vf:use - for example a tool used in process, after the process, the tool still exists +* vf:consume - for example an ingredient composed into the output, after the process the ingredient is gone +* vf:cite - for example a design file, neither used nor consumed, the file remains available at all times +* vf:work - labor power towards a process +* vf:accept - in processes like repair or maintentance, same resource will appear in output with *vf:improve* verb +* vf:load - transported resource enters the process + +###### Output + +* vf:create - new resource created in that process +* vf:improve - in processes like repair or maintentance, same resource will appear in input with *vf:accept* verb +* vf:unload - transported resource leaves the process+ \ No newline at end of file diff --git a/docs/specification/properties/affectedquantity.md b/docs/specification/properties/affectedquantity.md @@ -0,0 +1,11 @@ +### vf:affectedQuantity + +<table> +<tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr> +<tr><td>rdfs:label</td><td>affectedQuantity</td></tr> +<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> +<tr><td>rdfs:domain (property of)</td><td>vf:Event</td></tr> +<tr><td>rdfs:range (allowed values)</td><td>qudt:QuantityValue</td></tr> +</table> + +(Need discussion: is this the same as duration, in case of work for example?)+ \ No newline at end of file diff --git a/docs/specification/properties/category.md b/docs/specification/properties/category.md @@ -0,0 +1,17 @@ +### vf:category + +<table> +<tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr> +<tr><td>rdfs:label</td><td>category</td></tr> +<tr><td>rdfs:comment</td><td>A type or categorization that describes a resource.</td></tr> +<tr><td>rdfs:domain (property of)</td><td>vf:ResourceModel, vf:Resource</td></tr> +<tr><td>rdfs:range (allowed values)</td><td>an IRI??</td></tr> +</table> + +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, +but fit into broader categories. + +So, for example, you may want an apple. Or you may want a green apple. Or you may want a Granny Smith apple. +Or you may want a Granny Smith apple from your neighboring farm. + +People can use the multitude of existing taxonomies for resources, or can also create their own as needed.+ \ No newline at end of file diff --git a/docs/specification/properties/context.md b/docs/specification/properties/context.md @@ -0,0 +1,11 @@ +### vf:context + +<table> +<tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr> +<tr><td>rdfs:label</td><td>context</td></tr> +<tr><td>rdfs:comment</td><td>The larger context in which something occurs.</td></tr> +<tr><td>rdfs:domain (property of)</td><td>vf:Relationship, </td></tr> +<tr><td>rdfs:range (allowed values)</td><td>vf:Agent</td></tr> +</table> + +This allows grouping of economic relationships and economic activity (future releases) into a context for coordination and accounting purposes.+ \ No newline at end of file diff --git a/docs/specification/properties/currentlocation.md b/docs/specification/properties/currentlocation.md @@ -0,0 +1,13 @@ +### vf:currentLocation + +<table> +<tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr> +<tr><td>rdfs:label</td><td>currentLocation</td></tr> +<tr><td>rdfs:comment</td><td>The current place an item is, so that it can be found.</td></tr> +<tr><td>rdfs:domain (property of)</td><td>vf:Resource (and subclasses)</td></tr> +<tr><td>rdfs:range (allowed values)</td><td>IRI?</td></tr> +</table> + +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. + +We simply require that any location referenced here has an IRI so it can be identified directly. + \ No newline at end of file diff --git a/docs/specification/properties/eventstart.md b/docs/specification/properties/eventstart.md @@ -0,0 +1,9 @@ +### vf:eventStart + +<table> +<tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr> +<tr><td>rdfs:label</td><td>eventStart</td></tr> +<tr><td>rdfs:comment</td><td>The starting date and optionally time of the event.</td></tr> +<tr><td>rdfs:domain (property of)</td><td>vf:Event</td></tr> +<tr><td>rdfs:range (allowed values)</td><td></td></tr> +</table>+ \ No newline at end of file diff --git a/docs/specification/properties/image.md b/docs/specification/properties/image.md @@ -0,0 +1,9 @@ +### vf:image + +<table> +<tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr> +<tr><td>rdfs:label</td><td>image</td></tr> +<tr><td>rdfs:comment</td><td>An image associated with an object, to help clarify it.</td></tr> +<tr><td>rdfs:domain (property of)</td><td>vf:Agent, vf:Resource</td></tr> +<tr><td>rdfs:range (allowed values)</td><td>???</td></tr> +</table>+ \ No newline at end of file diff --git a/docs/specification/properties/input.md b/docs/specification/properties/input.md @@ -0,0 +1,9 @@ +### vf:input + +<table> +<tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr> +<tr><td>rdfs:label</td><td>input</td></tr> +<tr><td>rdfs:comment</td><td>Relates a process to its inputs.</td></tr> +<tr><td>rdfs:domain (property of)</td><td>vf:Process</td></tr> +<tr><td>rdfs:range (allowed values)</td><td>vf:Event</td></tr> +</table>+ \ No newline at end of file diff --git a/docs/specification/properties/issubstitutable.md b/docs/specification/properties/issubstitutable.md @@ -0,0 +1,11 @@ +### vf:isSubstitutable + +<table> +<tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr> +<tr><td>rdfs:label</td><td>isSubstitutable</td></tr> +<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> +<tr><td>rdfs:domain (property of)</td><td>vf:ResourceModel, vf:Resource</td></tr> +<tr><td>rdfs:range (allowed values)</td><td>vf:ResourceModel, vf:Resource</td></tr> +</table> + +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.+ \ No newline at end of file diff --git a/docs/specification/properties/name.md b/docs/specification/properties/name.md @@ -0,0 +1,9 @@ +### vf:name + +<table> +<tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr> +<tr><td>rdfs:label</td><td>name</td></tr> +<tr><td>rdfs:comment</td><td>An informal or formal textual identifier for an object. Does not imply uniqueness.</td></tr> +<tr><td>rdfs:domain (property of)</td><td>(anything?)</td></tr> +<tr><td>rdfs:range (allowed values)</td><td>skos:prefLabel</td></tr> +</table> + \ No newline at end of file diff --git a/docs/specification/properties/note.md b/docs/specification/properties/note.md @@ -0,0 +1,9 @@ +### vf:note + +<table> +<tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr> +<tr><td>rdfs:label</td><td>note</td></tr> +<tr><td>rdfs:comment</td><td>A freeform note or description of an object or item.</td></tr> +<tr><td>rdfs:domain (property of)</td><td></td></tr> +<tr><td>rdfs:range (allowed values)</td><td>skos:note</td></tr> +</table>+ \ No newline at end of file diff --git a/docs/specification/properties/object.md b/docs/specification/properties/object.md @@ -0,0 +1,11 @@ +### vf:object + +<table> +<tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr> +<tr><td>rdfs:label</td><td>object</td></tr> +<tr><td>rdfs:comment</td><td>The object of the relationship.</td></tr> +<tr><td>rdfs:domain (property of)</td><td>vf:Relationship</td></tr> +<tr><td>rdfs:range (allowed values)</td><td>vf:Agent</td></tr> +</table> + +For example, in "Michael is a member of Enspiral", Enspiral is the object.+ \ No newline at end of file diff --git a/docs/specification/properties/output.md b/docs/specification/properties/output.md @@ -0,0 +1,9 @@ +### vf:output + +<table> +<tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr> +<tr><td>rdfs:label</td><td>output</td></tr> +<tr><td>rdfs:comment</td><td>Relates a process to its outputs.</td></tr> +<tr><td>rdfs:domain (property of)</td><td>vf:Process</td></tr> +<tr><td>rdfs:range (allowed values)</td><td>vf:Event</td></tr> +</table>+ \ No newline at end of file diff --git a/docs/specification/properties/parent.md b/docs/specification/properties/parent.md @@ -0,0 +1,11 @@ +### vf:parent + +<table> +<tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr> +<tr><td>rdfs:label</td><td>parent</td></tr> +<tr><td>rdfs:comment</td><td>A more general type of resource.</td></tr> +<tr><td>rdfs:domain (property of)</td><td>vf:ResourceModel</td></tr> +<tr><td>rdfs:range (allowed values)</td><td>vf:ResourceModel</td></tr> +</table> + +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.+ \ No newline at end of file diff --git a/docs/specification/properties/primarylocation.md b/docs/specification/properties/primarylocation.md @@ -0,0 +1,13 @@ +### vf:primaryLocation + +<table> +<tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr> +<tr><td>rdfs:label</td><td>primaryLocation</td></tr> +<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> +<tr><td>rdfs:domain (property of)</td><td>vf:Agent (and subclasses)</td></tr> +<tr><td>rdfs:range (allowed values)</td><td>?</td></tr> +</table> + +Location is a complex ontology of its own, and we will not repeat existing location ontologies. + +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.+ \ No newline at end of file diff --git a/docs/specification/properties/properties.md b/docs/specification/properties/properties.md @@ -0,0 +1,21 @@ +# Properties + +* [action](action.md) +* [affectedQuantity](affectedquantity.md) +* [category](category.md) +* [context](context.md) +* [currentLocation](currentlocation.md) +* [eventStart](eventstart.md) +* [image](image.md) +* [input](input.md) +* [name](name.md) +* [note](note.md) +* [object](object.md) +* [output](output.md) +* [primaryLocation](primarylocation.md) +* [quantity](quantity.md) +* [relationship](relationship.md) +* [resource](resource.md) +* [subject](subject.md) +* [trackingIdentifier](trackingidentifier.md) +* [underlyingResource](underlyingresource.md) diff --git a/docs/specification/properties/quantity.md b/docs/specification/properties/quantity.md @@ -0,0 +1,11 @@ +### vf:quantity + +<table> +<tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr> +<tr><td>rdfs:label</td><td>quantity</td></tr> +<tr><td>rdfs:comment</td><td>The current quantity and unit of the resource.</td></tr> +<tr><td>rdfs:domain (property of)</td><td>vf:Resource</td></tr> +<tr><td>rdfs:range (allowed values)</td><td>qudt:QuantityValue</td></tr> +</table> + +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.+ \ No newline at end of file diff --git a/docs/specification/properties/relationship.md b/docs/specification/properties/relationship.md @@ -0,0 +1,18 @@ +### vf:relationship + +<table> +<tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr> +<tr><td>rdfs:label</td><td>relationship</td></tr> +<tr><td>rdfs:comment</td><td>A verb that describes a generic defined relationship that can be had between 2 Agents (or subclasses of). +Although it usually is, the relationship of a particular type does not have to be agreed to from both sides, for example "follow". +</td></tr> +<tr><td>rdfs:domain (property of)</td><td>vf:Relationship</td></tr> +<tr><td>rdfs:range (allowed values)</td><td></td></tr> +</table> + +A relationship can be direct, like "steward" or "like", or more like a role. +Role types of relationships are often used for a person's role in an organization or group, +for example "grower" or "harvester" for a food network. + +There are a number of useful Properties in existing vocabularies that can be used. +Or people can create their own as needed.+ \ No newline at end of file diff --git a/docs/specification/properties/resource.md b/docs/specification/properties/resource.md @@ -0,0 +1,9 @@ +### vf:resource + +<table> +<tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr> +<tr><td>rdfs:label</td><td>resource</td></tr> +<tr><td>rdfs:comment</td><td>Relates process input/output to a resource.</td></tr> +<tr><td>rdfs:domain (property of)</td>vf:Event<td></td></tr> +<tr><td>rdfs:range (allowed values)</td><td>vf:Resource (or its subclasses)</td></tr> +</table>+ \ No newline at end of file diff --git a/docs/specification/properties/subject.md b/docs/specification/properties/subject.md @@ -0,0 +1,11 @@ +### vf:subject + +<table> +<tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr> +<tr><td>rdfs:label</td><td>subject</td></tr> +<tr><td>rdfs:comment</td><td>The subject of a relationship.</td></tr> +<tr><td>rdfs:domain (property of)</td><td>vf:Relationship</td></tr> +<tr><td>rdfs:range (allowed values)</td><td>vf:Agent</td></tr> +</table> + +For example, in "Michael is a member of Enspiral", Michael is the subject.+ \ No newline at end of file diff --git a/docs/specification/properties/trackingidentifier.md b/docs/specification/properties/trackingidentifier.md @@ -0,0 +1,13 @@ +### vf:trackingIdentifier + +<table> +<tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr> +<tr><td>rdfs:label</td><td>trackingIdentifier</td></tr> +<tr><td>rdfs:comment</td><td>Sometimes called "lot number", used for trackable batched resources. Sometimes called "serial number", used when each item must have a trackable identifier (like a computer).</td></tr> +<tr><td>rdfs:domain (property of)</td><td>vf:Resource</td></tr> +<tr><td>rdfs:range (allowed values)</td><td></td></tr> +</table> + +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. + +See also vf:Resource.+ \ No newline at end of file diff --git a/docs/specification/properties/underlyingresource.md b/docs/specification/properties/underlyingresource.md @@ -0,0 +1,11 @@ +### vf:underlyingResource + +<table> +<tr><td>rdf:type</td><td>owl:ObjectProperty</td></tr> +<tr><td>rdfs:label</td><td>underlyingResource</td></tr> +<tr><td>rdfs:comment</td><td>A more concrete resource upon which a resource is based.</td></tr> +<tr><td>rdfs:domain (property of)</td><td>vf:Resource</td></tr> +<tr><td>rdfs:range (allowed values)</td><td>vf:Resource</td></tr> +</table> + +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. + \ No newline at end of file diff --git a/docs/specification/properties/url.md b/docs/specification/properties/url.md @@ -0,0 +1,9 @@ +### vf:url + +<table> +<tr><td>rdf:type</td><td>owl:DatatypeProperty</td></tr> +<tr><td>rdfs:label</td><td>url</td></tr> +<tr><td>rdfs:comment</td><td>An internet address (we may need to be more exact? IRI?)</td></tr> +<tr><td>rdfs:domain (property of)</td><td></td></tr> +<tr><td>rdfs:range (allowed values)</td><td>?</td></tr> +</table> + \ No newline at end of file