w3c-ccg / traceability-vocab

A traceability vocabulary for describing relevant Verifiable Credentials and their contents.
https://w3id.org/traceability
Other
34 stars 35 forks source link

When to use PROV-O? #152

Closed TallTed closed 1 year ago

TallTed commented 3 years ago

I have suddenly realized what "traceability" means in this context.

What needs are not satisfied by the existing PROV-O (Provenance Ontology and related documents), which could easily be used in Verifiable Credentials, Presentations, Requests, etc., contexts?

oldskeptic commented 3 years ago

I've used PROV-O in two different crop traceability systems and it works relatively well.

There are multiple (sub)communities of practice that are using different flavours of technologies to fix their corner cases with an ever expanding list of standards / solutions / vocabularies available. Duplication (real or perceived) is to be expected.

TallTed commented 3 years ago

Duplication (real or perceived) is to be expected

-- where necessary.

I would expect modification, evolution, improvement of such open standards as PROV-O should be the first step, rather than wholesale re-invention -- without (so far as I can tell) even a reference to the previous work.

At a bare minimum, I would expect there to be substantial effort made to include relevant owl:equivalentProperty, owl:sameAs, rdfs:subClassOf, etc., statements -- which requires reference to such previous work as PROV-O. I don't see anything of the sort in the works here to date.

Better, I would hope that everyone involved in this process, who I would hope would be interested in minimizing the time and cost associated with getting this "traceability" working, would reuse existing ontologies and other works wherever and whenever possible, and only mint new classes, properties, and relations between these, when necessary, that being because a suitable ontological entity does not already exist.

oldskeptic commented 3 years ago

I don't disagree.

oldskeptic commented 3 years ago

On that note, low-hanging-fruit suggestion for you: Use GeoSparql features instead of a schema place. It gives you the option of adding geometries and making relationship statements (eg: "Boston, MA" sfWithin "USA").

TallTed commented 3 years ago

@oldskeptic -- Suggestion for who? Maybe you should open your own issue... or pull request, depending on the specificity of what you're suggesting should be changed to GeoSPARQL. (I'm quite aware of GeoSPARQL. Check out my Github activity history....)

bumblefudge commented 3 years ago

@dhuseby do you have any experience with Prov-O, perchance?

TallTed commented 3 years ago

@OR13 - Please do not assign any issues to me without my agreement to such assignment, especially where the path to resolution of the issue is unclear and has not reached anything approaching consensus within the relevant group (here, the CCG).

OR13 commented 3 years ago

Folks who open issues are assigned them in order to steward finding a path to resolution... sometimes that means inviting the right folks to contribute, or making proposals, on the thread.

Would anyone else on this thread like to take responsibility for moving this issue forward?

It will be closed in a week or 2 if no progress is made, and no one takes ownership.

OR13 commented 3 years ago

@oldskeptic would you consider providing some example JSON for PROVO in the ag space?

Would you be willing to take ownership of driving this issue forward?

oldskeptic commented 3 years ago

@OR13 I was providing comments from the peanut gallery using past experience.

I am not part of w3c-ccg and I've been trying to lookup the project governance; I'll take the ticket if membership is open?

OR13 commented 3 years ago

@oldskeptic welcome!

take a look at https://w3c-ccg.github.io/

AFAIK, you need to create a w3c account / sign an IPR agreement to make substantive contributions (which this would be)... but its free to join.

TallTed commented 3 years ago

Folks who open issues are assigned them in order to steward finding a path to resolution... sometimes that means inviting the right folks to contribute, or making proposals, on the thread.

Would anyone else on this thread like to take responsibility for moving this issue forward?

It will be closed in a week or 2 if no progress is made, and no one takes ownership.

I do not believe the above is appropriate practice for W3-related work items. Not least, because someone who is qualified to raise an issue may have no qualifications, including personal network, with which to address that issue.

At minimum --- as the above has not been standard practice in any of the many groups (WGs, XGs, IGs, CGs, and others) I have participated in over the past 20 years --- if it is to be the way this sub-group functions, I think it must become part of this sub-group's README.

OR13 commented 3 years ago

@TallTed I'm mostly just following the approach we took with DID Core... where I opened many issues, and was then forced to move them forward.... being assigned an issue means asking for help to do the work, or doing the work yourself. Sometimes opening the issue is enough to ask for help... Issues that have no body assigned or 5 people assigned tend not to have much progress made.

Perhaps the CCG's default contributing file should do more in this regard:

https://github.com/w3c-ccg/traceability-vocab/blob/main/CONTRIBUTING.md

@w3c-ccg/chairs can we as code owners update this document to cover issues like this?

oldskeptic commented 3 years ago

@OR13 I've got the W3 account under the same nickname. Let me know what other administrative witchcraft needs to be done.

OR13 commented 3 years ago

I think thats all you need. You should feel free to open any PRs you think move the work item forward.

mprorock commented 3 years ago

@oldskeptic happy to discuss in other issues and PRs additions on the ag side of things - one key thing we are running into is use of GS1 EPCIS event types (e.g. commission, aggregation, etc.) that are common across the backend on supply chain platforms, and ensuring we can issue VCs for those events. This is an area that PROV-O maps over nicely to, but I think should be thought through carefully so that we can maintain compatibility with GS1 based systems, while also supporting some of the niceties that PROV-O brings to the table

oldskeptic commented 3 years ago

My read of GS1 EPCIS that there has been heavy use of string identifiers for events and I'd like to get clarity on that. I'll put together a few prov style events for discussion.

mprorock commented 3 years ago

heavy use of string identifiers for events

absolutely the case - might want to also loop in @mkhraisha as I know they are also looking as GS1 type events on their side

mkhraisha commented 3 years ago

My read of GS1 EPCIS that there has been heavy use of string identifiers for events and I'd like to get clarity on that. I'll put together a few prov style events for discussion.

I'm not very familiar with Prov-o but my experience with EPCIS is exactly what you just described.

mprorock commented 3 years ago

Main events we are dealing with for instance are here: Open Food Trust

oldskeptic commented 3 years ago

That list looks...generic in nature. I'm sure that you could slot Transportation, Harvesting or Grading under it, but it seems information lossy. Generically a typical Prov usage would be:

<beer:BeerConditioningActivity> <rdfs:subClassOf> <prov:Activity> .
<beer:BeerColdConditioningActivity> <rdfs:subClassOf> <beer:BeerConditioningActivity> .
etc..

which lets you have a hierarchy of concepts for different activities like Shipping, RailShipping, TruckShipping,

An in-use example of Cold Conditioning an Ale

<beer:BeerConditioningActivity rdf:about="#">
 <prov:startedAtTime rdf:datatype="&xsd;dateTime">2021-04-20T01:30:00Z</prov:startedAtTime>
 <prov:endedAtTime rdf:datatype="&xsd;dateTime">2021-04-28T01:00:00Z</prov:startedAtTime>
 <prov:atLocation rdf:resource="#brewHouse"/>
 <prov:wasStartedBy rdf:resource="#JohnTheBrewMaster"/>
 <prov:used rdf:resource="#conditioningTank3"/>
 <prov:qualifiedUsage>
  <prov:Usage rdf:about="#sourceTankTransfer">
   ... More shorthand here to calculate incoming volume.
  </prov:Usage>
 </prov:qualifiedUsage>
</beer:BeerConditioningActivity>
dhuseby commented 3 years ago

@dhuseby do you have any experience with Prov-O, perchance?

None. I have looked at it in the past but it never seemed useful in the contexts earlier in my career (i.e. privacy, security, traceability). Insofar as the web was used in those pursuits, it was for user interfaces for configuration and presentation of data gathered using non-web protocols and techniques.

Provenance is not a web technology. Maybe someday you'll figure out a way to force everybody to agree on one single ontology for use in the RDF graph to rule them all. But I'm not holding my breath.

TallTed commented 3 years ago

@dhuseby -- PROV-O is not limited to describing web technologies, and I'm not sure why you would think it was ... which seems the only reason to emphasize that "Provenance is not a web technology." PROV-O can equally well be used for describing the progression from Tree to Lumber to Chair to Scrap to Firewood to Ash, among other "non-web" scenarios.

Further, what makes you think that the goal is to "force everybody to agree on one single ontology for use in the RDF graph to rule them all"? The question is why, for use in a provenance scenario (which, to my eyes, is what supply chain and other traceability is about), would PROV-O not at least be seriously considered as a pre-built short-cut?

Semantic Web Technologies such as RDF and Linked Data have wide-ranging uses, for far more than user interfaces, including for privacy, security, and traceability/provenance.

OR13 commented 3 years ago

On the call, Provo discussed as being good at representing actions... causing some trouble with integrations with SAP / GS1 EPCIS.... seems complicated to figure out how to integrate it.

OR13 commented 3 years ago

@mkhraisha any opinions on this?

We're seeking community members who can move this item forward.

mkhraisha commented 3 years ago

Apologies for missing the call today -- had a personal emergency come up.

From what I'm gathering it appears that there is very little appetite from people to modify the existing work to integrate PROV-O but rather theres an appeal that says why not? ( which is a valid and important question).

My perspective is that we've been quite happy working with GS1 and its been pretty great at expressing all what we need it to, and we haven't ran into any real limitation, so unless there is a community member willing to champion PROV-O then believe the discussion is moot.

I apologize if i've missed something I haven't had a chance to review the transcript of the call yet.

oldskeptic commented 3 years ago

Regrets for the call, it was a personal emergency day for many. My concern with GS1 EPCIS is with the string identifiers which won't scale across applications. Since I am not seeing enthusiasm for prov-o, I won't work on this any further.

OR13 commented 3 years ago

Example of when to use provo:

https://github.com/schemaorg/schemaorg/issues/1959#issuecomment-855038668

OR13 commented 3 years ago

Lets try to make an example out of https://github.com/w3c-ccg/traceability-vocab/issues/152#issuecomment-828919259

mprorock commented 2 years ago

per weekly call - this is highly relevant and can increase interop significantly - requires bandwidth to address. not an either or between prov-o and GS-1 or others work item members have not been getting requests to add prov-o in

RESOLVED: Revisit PROV-O after a v1 release of the vocab

OR13 commented 2 years ago

How can we move this along? should we tag it for a major version in the future?

nissimsan commented 2 years ago

Sounds interesting...

brownoxford commented 1 year ago

This issue has gone stale, adding pending close label.

TallTed commented 1 year ago

Overtaken by events.