valueflows issueshttps://lab.allmende.io/valueflows/valueflows/-/issues2024-03-25T18:50:36Zhttps://lab.allmende.io/valueflows/valueflows/-/issues/720uri property, remove or use2024-03-25T18:50:36ZLynn Fosteruri property, remove or useWe've had a vf:uri property in the ttl file for some time, which can appear in any domain. But we've never explicitly included it anywhere else in the doc, and it mostly sits forgotten.
Review and decide if this is useful or not, and r...We've had a vf:uri property in the ttl file for some time, which can appear in any domain. But we've never explicitly included it anywhere else in the doc, and it mostly sits forgotten.
Review and decide if this is useful or not, and remove or include everywhere.1.0.0Lynn FosterLynn Fosterhttps://lab.allmende.io/valueflows/valueflows/-/issues/719Fix broken context.jsonld in examples2024-02-14T16:18:32ZLynn FosterFix broken context.jsonld in examplesIn all the yaml example data, it is using `https://git.io/vf-examples-jsonld-context`. That unpacks to https://raw.githubusercontent.com/valueflows/vf-examples-jsonld-context/master/context.jsonld. Checking git.io, it says it is no lon...In all the yaml example data, it is using `https://git.io/vf-examples-jsonld-context`. That unpacks to https://raw.githubusercontent.com/valueflows/vf-examples-jsonld-context/master/context.jsonld. Checking git.io, it says it is no longer accepting new links to shorten. When we moved from github, we changed the directory structure, and there is an abandoned context.jsonld file here: https://lab.allmende.io/valueflows/support-tools/vf-examples-jsonld-context/-/blob/master/context.jsonld?ref_type=heads. That one didn't get fixed for the new w3id structure, but it doesn't matter. We do have another context.jsonld file here: https://lab.allmende.io/valueflows/valueflows. That got fixed, but it probably isn't being used anywhere, certainly not in the examples.
We need to have only one. We need to add anything else needed for the examples, and cleanup for VF changes. We need to figure out where it should go, see if we can create some kind of more permanent url for it (w3id?). Then fix all the examples.
Adding here to not forget: run all the yaml through the validator.1.0.0-dochttps://lab.allmende.io/valueflows/valueflows/-/issues/716Get rid of multiple domains and time related issues2024-01-19T12:26:06ZRobin VobrubaGet rid of multiple domains and time related issuesThe following three properties all have multiple `rdfs:domains`,
meaning the subject of that property has to be a subclass of at least two things:
1. `time:TemporalEntity` (or `time:Instant` in the case of `vf:hasPointInTime`)
2. one of...The following three properties all have multiple `rdfs:domains`,
meaning the subject of that property has to be a subclass of at least two things:
1. `time:TemporalEntity` (or `time:Instant` in the case of `vf:hasPointInTime`)
2. one of the VF classes listed in the `owl:unionOf`
```turtle
vf:hasBeginning a owl:DatatypeProperty ;
rdfs:label "has beginning"@en ;
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) ;
rdfs:comment "The planned or actual beginning of a flow or process."@en ;
.
vf:hasEnd a owl:DatatypeProperty ;
rdfs:label "has end"@en ;
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."@en ;
.
vf:hasPointInTime a owl:DatatypeProperty ;
rdfs:label "has point in time"@en ;
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."@en ;
.
```
I would say, that this is quite uncommon, and I just tried to load it into a visual editor (<https://app.gra.fo>) that does not support it.
I checked the time ontology (<http://www.w3.org/2006/time>), and looking at `:Instant` and `:TemporalEntity`, I am pretty sure they are used wrong here in VF. VF uses them as "A subject that has a time (instant or interval)", but really it means "a time (instant or interval)",
so for example, a `vf:Commitment` is not a time-interval, or say, there is no thing that is at the same time a time and a vf:committment, but rather there are commitments that have an assigned time. So `time:Instant`, `time:Interval` and `time:TemporalEntity` should rather be used as the range, not as the domain. Then of course, we would have multiple ranges, so .. still an issue in my specific case, but less wrong already.
Also though, it seems to me like all of them would need to use `time:Instant`, not `time:TemporalEntity`, as they are all instants, no time ranges. If `vf:hasEnd` and `vf:hasBeginning` would be allowed to be ranges as well, then the second range (`xsd:dateTimeStamp`) for them would be an issue again.
-> in short: This needs rethinking, I think.1.0.0https://lab.allmende.io/valueflows/valueflows/-/issues/714Upgrade Concepts section2024-02-10T17:00:19ZLynn FosterUpgrade Concepts sectionIt is OK, but some parts are better than others. Follow on to upgrading the Introduction section a few months ago. Consider some diagrams which could be consistent for all the pages there. And other ways they would be more consistent,...It is OK, but some parts are better than others. Follow on to upgrading the Introduction section a few months ago. Consider some diagrams which could be consistent for all the pages there. And other ways they would be more consistent, and also reference other sections.1.0.0-docLynn FosterLynn Fosterhttps://lab.allmende.io/valueflows/valueflows/-/issues/712Possible super-class for an eventual `vf:Recipe` class2024-01-06T17:37:53ZRobin VobrubaPossible super-class for an eventual `vf:Recipe` class<http://purl.org/dc/terms/MethodOfInstruction>
for example:
```turtle
vf:Recipe a owl:Class ;
rdfs:label "Recipe"@en ;
rdfs:subClassOf dcterms:MethodOfInstruction ;
vs:term_status "test...<http://purl.org/dc/terms/MethodOfInstruction>
for example:
```turtle
vf:Recipe a owl:Class ;
rdfs:label "Recipe"@en ;
rdfs:subClassOf dcterms:MethodOfInstruction ;
vs:term_status "testing" ;
rdfs:comment "..."@en ;
.
```
NOTE: I do not want to suggest VF needs a `vf:Recipe` class,
I just wanted to document that, because I came around to it, poking around.https://lab.allmende.io/valueflows/valueflows/-/issues/708Create build instructions2023-10-04T15:56:03ZLynn FosterCreate build instructionsInclude a way to build for offline consumption, and to contribute / test contributions. Suggestion is to create a build.md file with this info. Also to consider automating the pylode build.
From the VF Welcome:
```
nolash
I simply ...Include a way to build for offline consumption, and to contribute / test contributions. Suggestion is to create a build.md file with this info. Also to consider automating the pylode build.
From the VF Welcome:
```
nolash
I simply ran the npm run build and it failed. so:
i thought id report it
i would like to know whether that is the right way to build the documentation for offline consumption
I realize there are html files pre-built, but in the event i would like to contribute something it would be practical to know 2.
lynnfoster
Yeah, I don't think you can build it with npm, although I am no expert on npm. :) But thank you for thinking to report it!
The build process we use is specific to mkdocs, https://www.mkdocs.org/user-guide/writing-your-docs/. That's sort of involved, you would have to install some things locally to build and test - steps 1-8 here https://lab.allmende.io/valueflows/valueflows/-/wikis/Website-publishing-procedure. But I'm happy to test other people's contributions, since I'm all set up for that. Or I'm happy to make changes myself based on issues people file.
I think for offline consumption, the easiest would be to clone from https://codeberg.org/valueflows/pages. And then run the index.html in the top directory.
For actually working on the source, you'd have to clone here https://lab.allmende.io/valueflows/valueflows/-/tree/master.
If you cloned from the gitlab, you could run it offline from https://lab.allmende.io/valueflows/valueflows/-/tree/master/mkdocs/site, that should be the same as the codeberg pages.
Julian Stirling
npm is a package manager for javascript
mkdocs is python not javacript
you need to pip install mkdocs and run that
pip install mkdocs
mkdocs build
lynnfoster
Thanks! :)
nolash
Julian Stirling: thanks for clearing that up. and mkdocs is to be run in the mkdocs subdir. For first-time visitors, those details would be good to have in an BUILD.md or something. Also, I noticed that the site I looked at last mentioned mkdocs-material as the build engine. is that no longer the case either?
lynnfoster
nolash
Julian Stirling: thanks for clearing that up. and mkdocs is to be run in the mkdocs subdir. For first-time visitors, those details would be good to have in an BUILD.md or something. Also, I noticed that the site I looked at last mentioned mkdocs-material as the build engine. is that no longer the case either?
Good idea, will do.
mkdocs-material is the same as mkdocs afaik, at least that is what I have meant here.
nolash
not quite i think
lynnfoster https://pypi.org/project/mkdocs-material/
lynnfoster
nolash
not quite i think
lynnfoster https://pypi.org/project/mkdocs-material/
ah thanks, yes the theme
anyhow, yes it is still mkdocs-material
nolash
also, the pylode step in your website publish guide can be accomplished with cli too, using:
12pip install pylode
pylode release-doc-in-process/all_vf.TTL -c true -p ontpub -o mkdocs/site/specification/all_vf.html
Julian Stirling
If you are using a few python packages (mkdocs, your theme, etc) You can make a python requirements.txt file. Then people can pass that to pip to install everything they need. If you make a README.md with how to install and run then it will display on GitLab automatically underneath the files
```Lynn FosterLynn Fosterhttps://lab.allmende.io/valueflows/valueflows/-/issues/700Clarify doc around linked data pros and cons2024-02-07T14:33:21ZLynn FosterClarify doc around linked data pros and consI'm moving this to an issue, because it was an old MR that is so out of date it can't be used anyhow as-is, so it just sits. But I want to preserve the thoughts from @elf-pavlik on this one, and use that when doing a coming round of doc...I'm moving this to an issue, because it was an old MR that is so out of date it can't be used anyhow as-is, so it just sits. But I want to preserve the thoughts from @elf-pavlik on this one, and use that when doing a coming round of doc improvements. See !444 for the old proposed text.1.0.0-docLynn FosterLynn Fosterhttps://lab.allmende.io/valueflows/valueflows/-/issues/697Do a complete RDF review2023-03-14T18:25:40ZLynn FosterDo a complete RDF reviewSince @elf-pavlik is not so involved, we are missing an RDF expert. I'd like to find someone to do a complete review of the ttl file, and make sure we are using reasonably best practices. Possibly that could dovetail into the ActivityPu...Since @elf-pavlik is not so involved, we are missing an RDF expert. I'd like to find someone to do a complete review of the ttl file, and make sure we are using reasonably best practices. Possibly that could dovetail into the ActivityPub / VF integration task? If we happen to get some money, paying an RDF person might be good use for it?1.0.0https://lab.allmende.io/valueflows/valueflows/-/issues/696Is there a vocabulary for resource use rules?2023-03-13T18:28:59ZLynn FosterIs there a vocabulary for resource use rules?This has come up a couple times now, where the requirement is for software to understand what are the rules for an agent to use/borrow/etc. another agent's resource. One is a (potential?) neighborhood tool share (query in Bonfire Networ...This has come up a couple times now, where the requirement is for software to understand what are the rules for an agent to use/borrow/etc. another agent's resource. One is a (potential?) neighborhood tool share (query in Bonfire Networks channel), the other is the Sensorica lab where people leave their personal equipment and allow others to use it too (this came up a long time ago though, we should check back).https://lab.allmende.io/valueflows/valueflows/-/issues/692Address quantity of data entry in the doc2024-01-18T19:29:48ZLynn FosterAddress quantity of data entry in the docThere is occasional feedback about too much data entry work. Sometimes this is because people are not using recipes and planning. But still, I think it would be good to think about this a bit, and address it explicitly in the doc. And...There is occasional feedback about too much data entry work. Sometimes this is because people are not using recipes and planning. But still, I think it would be good to think about this a bit, and address it explicitly in the doc. And in the model, if that is possible.
One idea we haven't addressed is using generic or specific recipes to feed the observation layer data entry. Or in the case of the FabCity work, using the design itself and/or maker doc to do the same.1.0.0-dochttps://lab.allmende.io/valueflows/valueflows/-/issues/691Integration with other vocabularies2023-01-14T17:49:45ZLynn FosterIntegration with other vocabulariesThis has come up a couple times: currently with OKH (Open Know-How, where @hoijui is a key person) in the context of open source hardware; and awhile ago with ActivityPub/ActivityStreams for adding VF to AP/AS social networking federatio...This has come up a couple times: currently with OKH (Open Know-How, where @hoijui is a key person) in the context of open source hardware; and awhile ago with ActivityPub/ActivityStreams for adding VF to AP/AS social networking federation, which is not consolidated yet. It also intersects somewhat with our practice of using other vocabularies as part of what is actually needed for a VF implementation, e.g. foaf:Agent, foaf:Person, org:Organization, geo:SpatialThing.... but is not necessarily the same.
This issue is a place to work through the best practice technical and semantic ways to document integrations in the vocabulary itself. For example, there are bunch of ways to indicate degrees of same-ness, such as [owl:sameAs](https://en.wikipedia.org/wiki/SameAs). Also, using rdfs:subClassOf or rdfs:subPropertyOf. And others, need to do some research.https://lab.allmende.io/valueflows/valueflows/-/issues/690Valueflows will need reliable distributed transactions2023-03-30T16:57:09ZBob HaugenValueflows will need reliable distributed transactionsHere's an overall description of the problem:
https://write.as/economic-networks/trying-to-explain-a-problem-and-a-use-case
More to come...Here's an overall description of the problem:
https://write.as/economic-networks/trying-to-explain-a-problem-and-a-use-case
More to come...https://lab.allmende.io/valueflows/valueflows/-/issues/688Clarify the track/trace logic2023-08-27T18:51:29ZLynn FosterClarify the track/trace logic@srfsh is in the middle of implementing `trace`. We're going to use this issue to record anything that could be fixed or clarified in the doc, and just keep track until he is done. Then I'll do a MR.@srfsh is in the middle of implementing `trace`. We're going to use this issue to record anything that could be fixed or clarified in the doc, and just keep track until he is done. Then I'll do a MR.https://lab.allmende.io/valueflows/valueflows/-/issues/686Clarify Scenario in the doc2024-01-29T20:26:25ZLynn FosterClarify Scenario in the doc`Scenario` has been confusing, and it is described at different levels of scope and inclusiveness in different places in the doc. And it is one of the loosest concepts we have, a catch-all for value flows of various sorts that are not a...`Scenario` has been confusing, and it is described at different levels of scope and inclusiveness in different places in the doc. And it is one of the loosest concepts we have, a catch-all for value flows of various sorts that are not an operational plan/agreement and not a recipe. It covers many different use cases, including ones we haven't thought of yet I'm sure.
This issue is to find where Scenario is talked about, and clarify as needed.1.0.0-docLynn FosterLynn Fosterhttps://lab.allmende.io/valueflows/valueflows/-/issues/680HTML visualisation of specification for website2024-01-28T20:14:35Zjon ryala@allmende.ioHTML visualisation of specification for websiteThe lovely [pyLODE](https://github.com/RDFLib/pyLODE) allows us to render a static site from a Turtle vocabulary.
Applied onto https://lab.allmende.io/valueflows/valueflows/-/raw/master/release-doc-in-process/all_vf.TTL?inline=false we ...The lovely [pyLODE](https://github.com/RDFLib/pyLODE) allows us to render a static site from a Turtle vocabulary.
Applied onto https://lab.allmende.io/valueflows/valueflows/-/raw/master/release-doc-in-process/all_vf.TTL?inline=false we get:
[all_vf.html](/uploads/63c072090a66c9f75b183d54ea0ec283/all_vf.html)
This could be added as a link to the specification website and is an alternative view to the `w3id.org/lode`. That way dependency on a third-party service is reduced and some redundancy is introduced.Lynn FosterLynn Fosterhttps://lab.allmende.io/valueflows/valueflows/-/issues/673Review wiki to add to official doc2024-01-18T19:31:30ZLynn FosterReview wiki to add to official docGo through the info in the vf wiki, add useful pieces to the vf doc. This issue can include getting the app guidance information into the doc, which is in process in the wiki. Also check the forum issues.Go through the info in the vf wiki, add useful pieces to the vf doc. This issue can include getting the app guidance information into the doc, which is in process in the wiki. Also check the forum issues.1.0.0-docLynn FosterLynn Fosterhttps://lab.allmende.io/valueflows/valueflows/-/issues/672RoleBehavior values2022-06-21T19:16:37ZLynn FosterRoleBehavior valuesThis is to sharpen up what values we want for RoleBehavior, which is "hard-coded" data for role types. Currently we have:
```
vf:member a owl:NamedIndividual ,
vf:RoleBehavior ;
rdfs:...This is to sharpen up what values we want for RoleBehavior, which is "hard-coded" data for role types. Currently we have:
```
vf:member a owl:NamedIndividual ,
vf:RoleBehavior ;
rdfs:comment "The role is a member type role in relation to an organization. An agent can be a member of many organizations."@en ;
rdfs:label "member"@en ;
vs:term_status "testing" ;
.
vf:subOrganization a owl:NamedIndividual ,
vf:RoleBehavior ;
rdfs:comment "The role is a sub-organization type role in relation to an organization. An agent can be a sub-organization of no more than one organization."@en ;
rdfs:label "sub-organization"@en ;
vs:term_status "testing" ;
.
vf:peer a owl:NamedIndividual ,
vf:RoleBehavior ;
rdfs:comment "The role is a peer type role in relation to an agent. Examples are trading partners or mentors."@en ;
rdfs:label "peer"@en ;
vs:term_status "unstable" ;
```
I think member and subOrganization are reasonable to keep and implement, while peer might be too broad. We should consider tradingPartner and try some examples to make sure customer and supplier roles can work well with that. And then look around at previous and in-process projects more systematically to see what they need.1.0.0Lynn FosterLynn Fosterhttps://lab.allmende.io/valueflows/valueflows/-/issues/667Recipe variants and forking2024-01-06T18:01:04ZLynn FosterRecipe variants and forkingWe are talking with the [FabCity:Hamburg project](https://www.fabcity.hamburg/en/fab-city-os-projekt-interfacer/), which wants to implement open source hardware recipes, is using VF, and also has other open source hardware connections. ...We are talking with the [FabCity:Hamburg project](https://www.fabcity.hamburg/en/fab-city-os-projekt-interfacer/), which wants to implement open source hardware recipes, is using VF, and also has other open source hardware connections. At the same time, we are talking to the [GitBuilding project](https://gitbuilding.io/), which is developing markdown-based documentation to share recipes. Since it is text-based, it can be stored in git repositories to support forking and versioning, which we have known is a requirement for VF but haven't added. Here is [an example](https://build.openflexure.org/openflexure-microscope/v7.0.0-alpha1/low_cost_microscope.html) of GitBuilding doc.
So we are using this opportunity to coordinate upgrading the VF recipe model to support the features these and possibly other groups are interested in, and also to see if we can create a round trip between Gitbuilding and VF software. The conversation is still developing.
This issue is for documenting the ongoing discussion, and to work on the VF model.1.0.0https://lab.allmende.io/valueflows/valueflows/-/issues/666Add Space (Recipe|Plan|Observation) info to the subjects in RDF2024-01-18T19:35:39ZRobin VobrubaAdd Space (Recipe|Plan|Observation) info to the subjects in RDFFor example, by one of these two options:
```turtle
vf:SomeThing
vf:space vf:Recipe|Plan|Observation # 1.
vf:recipeParent vf:RecipeXxx ; # 2.1. for Plan subjects, or
vf:planParent vf:PlanXxx ; # 2.2. for Observ...For example, by one of these two options:
```turtle
vf:SomeThing
vf:space vf:Recipe|Plan|Observation # 1.
vf:recipeParent vf:RecipeXxx ; # 2.1. for Plan subjects, or
vf:planParent vf:PlanXxx ; # 2.2. for Observation subjects
.
```
related chat discussion around here:
https://matrix.to/#/!fOTCtWgVCPrvYrYWRc:matrix.allmende.io/$163663099639TdUis:fabcity.hamburg?via=matrix.org&via=gitter.im&via=fabcity.hamburg1.0.0Robin VobrubaRobin Vobrubahttps://lab.allmende.io/valueflows/valueflows/-/issues/660ShEx and Shacl representations of VF2024-02-07T14:38:59ZLynn FosterShEx and Shacl representations of VFMoving parts of a discussion started in gitter here, for more permanence. OK to continue here?
@elf-pavlik : In Solid Interoperability Panel we use data shapes quite heavily (one of the participants actually leads https://shex.io/ effo...Moving parts of a discussion started in gitter here, for more permanence. OK to continue here?
@elf-pavlik : In Solid Interoperability Panel we use data shapes quite heavily (one of the participants actually leads https://shex.io/ effort) I think writing up some data shapes might help implementations a lot. While RDFS definitions, for example rdfs:domain and rdfs:range, don't restrict anything only lead to additional statements being inferred. ShEx Triple Constaints provide a clear way to define valid set of values. One could think of it as JSON Schema for RDF.
@hoijui : automatic translation is preferable in my eyes, because defining the same thing manually in two different formats, leads to problems, same like copy&pasting code files and then changing minimal parts of them.
@lynnfoster : yes absolutely if we can do an automatic translation, that would be great! The problem I see is that a reason to use ShEx is to add cardenalities and other constraints that aren't in the turtle file. Unless we decide to use some OWL 2 elements maybe? But, yes, if there is a translator available, let's try it out - at least it would get us 90% of the way there, or something like that.
@hoijui : Having slept over it, I though, as we are auto generating, we can do both formats, which fits what you wrote ("... should support any format anyone wants.").
they should both be quite easy, though as Shacl is RDF too, it could be a bit easier even -> use an RDF library, read the ontology, translate/map RDF to Shacl properties, write to Shacl file using the same RDF library.
for ShEx, if there is no library, we will have to write code that writes the correct syntax ourselfs, but that should be doable in a few lines of code as well.
Here is an (almost) Open Source tool for OWL->Shacl:
https://astrea.linkeddata.es/
source: https://github.com/oeg-upm/Astrea
I did not find anythign for OWL->ShEx, nor Shacl->ShEx.
(except weso/shaclex#113)
... I would not claim that my search was extensive though.
@elf-pavlik : I think whichever one you choose you probably would want to write your shapes yourself. At least I wouldn't rely on what you can get given OWL as input.
One of the reason we start with ShEx in solid is simply that one of main authors is an active group participant, this way we can clarify any doubts related to our usage of ShEx very easily.
BTW ShEx also can be expresed as RDF https://shex.io/shex-semantics/#shexj
In the end I think it would be good to have both ShEx and SHACL shapes. In that case we might want to have some sample data which will pass and fail consistently across both shape formats.
@hoijui : my idea then would be, to add the OWL 2 things to the ontology, run the auto conversion to Shacl, and .. then you could maybe have a look at that outcome, and indicate the issues. then we could adapt the ontology, think about improving the conversion tool, asking upsteam to do so, write a post-proccesing script, or in the worst case, just use that generated result as a base and fixing it manually (though if one can do it manually, one can also do it by script).