valueflows / forum.valueflo.ws

forum.valueflo.ws has moved to https://lab.allmende.io/valueflows/forum-valueflo-ws
3 stars 1 forks source link

Data Food Consortium: Building a common language #7

Closed bhaugen closed 4 years ago

bhaugen commented 7 years ago

See https://github.com/ouisharelabs/food-dashboard/issues/1#issuecomment-310080676 and the rest of that thread from there, expecially https://github.com/ouisharelabs/food-dashboard/issues/1#issuecomment-310097884

Also http://datafoodconsortium.org/blog/building-a-common-language-our-semantic-business-concepts-model

How should we approach this?

bhaugen commented 7 years ago

I want to get some content here both for @myriamboure to think about as she goes offline for 2 months, and also for the VF gang to start getting our heads around.

I think this is really important for VF. The Data Food Consortium (hereafter DFC) is developing an ontology for interoperability, which is what we are trying to do. The participants include several operational food organizations in Europe. In other words, theirs could become a widely used common vocabulary. Once widely used in Europe, because the Open Food Network is also engaged in their conversations, it could be used all over the world.

It would be the first VF-like economic network standard that really takes off.

They did look at VF, but found it too "generic":

we looked for existing standards, but we felt from the beginning that no one was answering our need. We looked at generic “business ontologies”, like schema.org, or valueflows. It seems to us pretty far from our daily business activities and we thought we needed some reflexion to understand our business, and put our own common business description on a paper. So we chose the second approach, with the idea that afterward, we would like to converge and merge our work with an existing more generic business ontology.

This is a very common problem in interoperability standards, from the beginnings of EDI standards 30 years ago until today. They always need to be tailored to fit a particular situation, or in this case, an economic domain, that of food networks.

I worked on food networks for several years, and the model I used would be recognizable to VF participants - it was also based on REA - but it was a lot more particular to food, not as generic as REA or VF. I think they are doing the right thing.

But how do we, who do need to create a generic economic network vocabulary, work with groups who need something less generic?

I am pretty sure this is also a common problem with Linked Open Data, and figure LOD should have some techniques for handling specializing vocabularies.

Here are some examples: DFC semantic model

I could go on, but those should communicate the direction of tailoring a generic vocabulary for a particular domain.

Fred Van Blommestein had a lot of experience tailoring EDI communications back in the day and wrote about it in his thesis Structured communication for dynamic business. [edit] ~I'll add some excerpts later today.~ Not today, see next comment...

bhaugen commented 7 years ago

I intended to post some excerpts from Fred's thesis, but that will take more time. He's focused on negotiating agreements about how to communicate between two communicating agents while they are communicating, not between two different information structures, each of which will be relatively static once defined. There's a lot of similarity in what needs to be done, but the way Fred structures the information will need a lot of restructuring to make it useful for this situation. I'm also looking at similar processes of translation between structures and vocabularies in the RDF world, especially specializing an abstract vocabulary for a particular domain, but haven't found anything really good yet. Anybody else got any good references?

djodjoni commented 7 years ago

This graph is awfully complicated for me :) and quite specific to the understanding of webshops-alike and OFN mostly. Even so it does not have all the features(complications) that some people might need. Today I met smb from Voedseltems (one of the candidates to use OFN in flanders) and their process is even more complicated than that. the truth is that is indeed a complicated thing but for me I see it as a bunch of things some of which I believe that could be there as Linked Open Data. Anyway

we looked for existing standards, but we felt from the beginning that no one was answering our need. We looked at generic “business ontologies”, like schema.org, or valueflows. It seems to us pretty far from our daily business activities and we thought we needed some reflexion to understand our business, and put our own common business description on a paper. So we chose the second approach, with the idea that afterward, we would like to converge and merge our work with an existing more generic business ontology.

What I see in this diagram as flows can be mapped as Valueflows and As regrads to specific needs most the things there can be related to schema.org terms. As regrads to going the 'second approach' for me there is no option as mapping anybusiness to something you need absolutely full understanding of that 'anybusiness' so there is no option at all.

How I would and I am proaching that is that I divide these needs into functionalities, some of which has nothing to do with VF. I curreny managed to separated and share Food Actors, Product catalogues and basic relations of those. Next step what I am trying to do is to generated the Recipe(processes) as we use it in VF in order to generate some expected outcome (whereand when the products should be) (this is under dev for now and the next month) next is traching those but these are different apis, where the latter is not always a requirement.

One other thing people/devs do not really understand is that in LD one can combine and use multiple vocabularies and taxonomies, most of which enables easy extension if you need some particular term/predicate. IMO This is the main reason why the consortium didn't reach an agreement on any of the exsiting Vocabs.

It is quite imposible to create a single vocabulary explaining all the things all actors woupld possibly require. This why you have so many in LOV :)

I am pretty convinced for what is related to economic echanges VF could be used very well with a combination of other Vocabs to fulfill more specific needs one might have. As I mentioned I am experimenting with this and provide some more results/thoughts next month after I move the house :)

myriamboure commented 7 years ago

Thank you @bhaugen for your explanation that clarifies things in my head, for your openness and for your constructive attempt to see how things can connect :-) I'll share another post soon about the vision of the consortium on vocabularies.

This graph is awfully complicated for me :) and quite specific to the understanding of webshops-alike and OFN mostly.

@djodjoni I'm not sure the ontology is specific to webshops, as you can have a sale session with no end date (which is the case of a physical shop) and "products on sale" can equal "products as sold" and can be "synchronously" connected to the physical product (which is the case in a physical shop) About the "OFN mostly" I will just pass on, and remind it's a collective work done by 5 platforms which are OFN, The Food Assembly, Cagette.net, Panier Local and Ekylibre. Also to add on, Ekylibre is not on distribution, it's an open source software working on food production management.

We know that the ontology is not exhaustive, we would need to iterate and go further around the logistics business for example. But it's a start, an ontology MVP ;-)

Now the idea is to test of course that first iteration of the ontology with other actors, producers, distributors, to evolve it with various iteration. I'm curious to understand in which sense Voedselsteam doesn't fit in so I'm going to check with them first as I know them pretty well ;-)

To be precise, I don't talk to tech people here, the work we have been doing in describing the ontology has nothing to do with the tech, it's about the business concepts. If we understand well our common business, then the tech will follow. And I don't know anything about tech! We are just now starting to talk about technical solutions to implement the interoperability with the prototype.

djodjoni commented 7 years ago

I'm curious to understand in which sense Voedselsteam doesn't fit in so I'm going to check with them first as I know them pretty well ;-)

this is not my opinion it is what they have told me and also they have mentioned different issues they are concerned about in the calls we have had in the past. In fact, I was the one who said the OFN could be the best fit for them out of what is available. Anyway, I am not a salesman and I have no product to sell so I try to stay neutral and practical. @myriamboure although I am quite critical at times I have good intentions :)

as regards to specifics of the ontology I will go there in more in detail and examples in the next weeks when have a little more free time :)

bhaugen commented 7 years ago

@myriamboure thanks for responding here.

I'll share another post soon about the vision of the consortium on vocabularies.

I'd be really interested in four questions, for starters:

myriamboure commented 7 years ago

@bhaugen no we don't plan to use a common vocabulary, but a common "pivot" vocabulary, which is not the same thing ;-) We will use it to be able to "match" the same products on different platforms, to know if platform A send an info to platform B that product description has been changed, the relevant product on platform B is updated. Or we will use it to build other services, like enable a producer to see its product catalog and how his stock is ventilated on the different platforms. Lots of food hubs do sell process foods, like tomatoe sauce or handcraft pasta. So in the product description we have included the notion of "composed" products and in the base product description we'll have notions on raw and prepared products. We don't need to agree on names for products, no, this will always be free text. A product can have different names on two platforms (for marketing purposes, strategies of some platforms) but be the same products.

I'll try to publish the post as soon as possible so that you have a clearer view on what we are coming up with !

bhaugen commented 7 years ago

@myriamboure - thanks a lot for the explanation. I understand a pivot vocab. Seems like a good idea.

Looking forward to more.

myriamboure commented 7 years ago

@bhaugen I wanted to add one thing before I go and write the blogpost on this :-) Discussing within the DFC, we realized that the only approach that we can reach a consensus on in terms of vocabularies is a "facets approach". By describing the different facets / attributes of a product. Because every platform has its own approach on how they "enter" this vocabulary. For example, Agrovoc entry door is the biological approach, they enter the variety by "plant", "" eukaryotes", etc and go till the variety of a plant. On another hand, some other actors like GS1 have a more "consumption" entry door... when I buy a product online if the menu proposes "eukariotes" as a product category I might be a bit lost ;-) So their entry door will be by common classifications / product types (vegetables / sub category : root vegetables / carrotts / carrotts variety) If we want to build a widely adopted standard, it has to be open and enable any actor to have any entry door (s)he wants. A bit in the way http://langual.org/ does it. But langual is only for food, and in local food systems actors also sell handcraft, like soaps, household products, cosmetics... For example, to descibe a product, you have the following "facets":

So we end up with a "conditional fractal product ontology" :-) Conditionnal because the field you ask depend on the product type. Fractal because a product can be an aggregation of products, and each sub product is described in the same full way. Everything is fractal in the universe so I guess ending up with a fractal model makes sense !!!

Then some actors will enter by the "label" facets (some e-commerce websites have an "organic" menu entry), some will go with very much details (acide apples / sugary apples if I have a website specialized in apples ;-)) So every platform can then "match" their custom taxonomy to the relevant combinations of this facets products ontology. For me every combination of those facets is a unique identifier. Like an "avatar" of the product, a barcode 3.0 that is a super smart data as you have in one code lots of machine readable information.

djodjoni commented 7 years ago

@myriamboure Without going too much in tech details. you approach is good whether you call it using facets or taxonomies :) there are my 2 cents about agrovoc :)

For example, Agrovoc entry door is the biological approach, they enter the variety by "plant", "" eukaryotes", etc and go till the variety of a plant.

I guess you didn't analyze fully Agrovoc, probably because of its size. However there is quite a bit of info there. Eukaryota (http://artemide.art.uniroma2.it:8081/agrovoc/agrovoc/en/page/c_330944 ) indeed is quite confusing and you wouldn;t buy this. This particular product however is in the root organisms. However there is another Concept Root which matches better OUR needs which is products foe expmple carrots is in the tree products > plant products > vegetables >( root vegetables ) , which is more similar to GS1, wikidata or langual.

Because of the complexity and size of Agrovoc (which probably caused your confusion) and possibly different and decoupled evolution. I have exported only the concepts related to the food supply chain: https://github.com/openfooddata/vocab/blob/master/foodtype.ttl.

For the rest I might have some comments but before that I would love to see the actual artifact when it is ready.

bhaugen commented 7 years ago

We've discussed facets in valueflows but haven't gotten around to including in the vocab yet. However, one of the VF predecessor apps uses them extensively, as you can see in the right panel on this page: http://nrp.sensorica.co/accounting/inventory/

gcassel commented 7 years ago

Whatever we call it, I think that facets/ composite description is deeply important for economic systems. (And for general communications and organization.) I'm currently trying to develop the function and description of "composite" in Modular Organization Terminology. Hopefully that'll feel stable soon.

bhaugen commented 7 years ago

More great work from @myriamboure : https://medium.com/open-food-france-changer-l%C3%A9chelle-des-circuits/circuits-courts-une-diversit%C3%A9-de-mod%C3%A8les-au-service-de-la-r%C3%A9silience-alimentaire-f45037d4e725 English: https://fairfoodforum.org.au/t/short-circuits-a-variety-of-distribution-models-for-food-resilience/962

myriamboure commented 6 years ago

For information @bhaugen and @djodjoni I published an article on food products concepts : http://datafoodconsortium.org/blog/product-ontologies-how-business-invariants-apply-also-to-the-food-system, we are reviewing deeply the business concept model as we have integrated the logistics part so we had to review lots of things, it's getting better :-) And especially we are testing this new model with some complex food hub models. Will publish it within a month I think on GH, will share that here too when done. Cheers ;-)

bhaugen commented 6 years ago

@myriamboure thanks a lot. Lynn and I are studying it. One preliminary question: looks to me like 1 through 5 are abstractions: what REA calls the "Type" layer and VF calls Classifications. And 6 is real, concrete, what REA and VF would call EconomicResources. Like, I could get some of 6 and eat it.

Does that seem accurate? I think I understand the distinctions between 1 and 2. You are refining the Type or Classification layer.

I'm familiar with 3, 4, and 5 from manufacturing. 3 was "the engineering bill". 4 was "the manufacturing bill". And 5 was "the manufacturing bill as interpreted by a particular plant somewhere far from headquarters that did have not all the right equipment".

myriamboure commented 6 years ago

Yes you are right @bhaugen only the 6 can be eaten :-) I'm not familiar with REA yet but I found some MOOC to learn on it ;-) The distinction between one and two, from my understanding (Bernard did the whole model, not me ;-)) is that one is the intention (what I want to achieve, the "why" i need the functions) and the two is the functions set (to reach that purpose I need these set of features). I'll try to invite Bernard to that discussion ;-)

babonet13 commented 6 years ago

Your are absolutely right @bhaugen : 1, 2, 3, 4 & 5 are INTANGIBLE, ABSTRACT, product concepts and 6 is a TANGIBLE, CONCRETE product concept (as you said, the only EATABLE product ;-) ... where 1 & 2 are not really "products", but more "what are we expecting from a product" in term of requirements (for 1) and functions (for 2). And your "manufacturing" definitions for 3, 4 et 5 are also correct ...but those definition are not only relevant for the manufacturing industry, but also for others industrie like formulation-based industries ...

babonet13 commented 6 years ago

Here is the source article where I present those "business invariants" about product : https://www.linkedin.com/pulse/les-invariants-métiers-du-plm-bernard-chabot/ (Sorry in French, but you can perhaps use Google Translate)

And this article (Also in French, schemas in English) about relevant "dichotomies" of the separation of concerns principles used to demonstrated the relevancy of each "business invariant" : https://www.linkedin.com/pulse/le-dichoschope-et-les-dichotomies-spécifiques-au-plm-bernard-chabot/

bhaugen commented 6 years ago

@babonet13 @myriamboure would 1 correspond to the requirements for a software project?

Or maybe a concept that does not occur in REA, and we have discussed but not yet formalized in VF, called Intents - as in "intent casting", where one requests what one wants more in terms of requirements than the name of some known resource. possibly stated somewhat vaguely? We see that often in mutual credit networks.

@babonet13 thanks for the articles, I'll study them

babonet13 commented 6 years ago

@bhaugen : Difficult to answer, because people putting so many different things behind the word "requirement" ! 1 is the "why doing something ... for which purpose ..."

bhaugen commented 6 years ago

@myriamboure

I'm not familiar with REA yet but I found some MOOC to learn on it ;-)

I never heard of that. Where is it? Got a link?

REA is deliberately minimal, though. All it has for products (which it calls EconomicResources) is ResourceType (which would cover 2 thru 5, undifferentiated) and EconomicResource, which is like 6.

In VF, we have renamed ResourceType to Resource Category, and it can refer to any published set of classifications or taxonomies, LOD style. ( @fosterlynn @elf-pavlik was that accurate?)

myriamboure commented 6 years ago

@bhaugen http://apps.cte.smu.edu.sg/rea/index.html

bhaugen commented 6 years ago

Singapore University! Thanks for the link.

fosterlynn commented 6 years ago

In VF, we have renamed ResourceType to Resource Category, and it can refer to any published set of classifications or taxonomies, LOD style. ( @fosterlynn @elf-pavlik was that accurate?)

Resource Classification

Here is a UML model of what is published so far: https://valueflows.gitbooks.io/valueflows/content/specification/diagrams/uml.html.

fosterlynn commented 6 years ago

...and @myriamboure and @babonet13 also want to say Welcome! and thank you for coming here to discuss your work! :heart:

almereyda commented 4 years ago

We have moved the ValueFlows organization from GitHub to https://lab.allmende.io/valueflows.

This issue has been closed here, and all further discussion on this issue can be done at

https://lab.allmende.io/valueflows/forum-valueflo-ws/-/issues/7.

If you have not done so, you are very welcome to register at https://lab.allmende.io and join the ValueFlows organization there.