Re: [trdf-prv-vocab-users] Fw: Provenance Vocabulary for Open Street Map
Status: Pre-Alpha
Brought to you by:
hartig
From: Olaf H. <ha...@in...> - 2011-03-14 11:42:24
|
Hey Carsten, Instead of understanding (OSM) change sets as a special kind of creation guidelines, it is also possible to understand change sets as a special kind of data creations. While an osp:Edit creates a new state of a single feature in the OSM dataset, we can understand an osp:Changeset as a prv:DataCreation that creates a new state of the whole OSM dataset. Based on this understanding, osp:Changeset describes provenance on a different level of granularity as osp:Edit does. Alternatively, I would say that it is not really necessary to map each of the terms you introduce to a term in the Provenance Vocabulary. Hence, providing no mapping at all for osp:Changeset is also an option ;-) Greetings, Olaf On Monday 14 March 2011 11:40:05 Carsten Keßler wrote: > The message still waits for approval to get through to the mailing list, so > I am sending this again directly to you guys. > > Cheers, > Carsten > > Forwarded message: > > From: Carsten Keßler <car...@un...> > > To: trd...@li... > > Date: Montag, 14. März 2011 11:37:40 > > Subject: Re: [trdf-prv-vocab-users] Provenance Vocabulary for Open Street > > Map > > > > Hey Jun, hey Olaf, > > > > after reading your discussion, I am also not so sure anymore about > > modeling the Changeset class as subclass of prv:CreationGuideline. > > > > Olaf's explanations about the relationships between FeatureState, Edit, > > and Changeset were absolutely correct. If we make Changeset a subclass > > of prv:CreationGuideline, the question is also, what we gain from this > > stretching of the original idea behind a creation guideline? Does this > > buy us anything? > > > > Then again, I am not sure how to align the Changeset class (which we > > should definitely have, in order to have a complete representation of > > the OSM structure) with the prv ontology. Any ideas where it might fit > > better? > > > > Cheers, > > Carsten > > > > On Freitag, 11. März 2011 at 09:03, Olaf Hartig wrote: > > > Hey Jun, > > > > > > On Thursday 10 March 2011 14:15:54 Jun Zhao wrote: > > > > Hi Olaf and Carsten, > > > > > > > > > That's basically all you need. However, you may also want to model > > > > > your changesets to keep track of which edits belong together. We > > > > > can understand a changeset as a special kind of > > > > > prv:CreationGuideline which describes how to perform a > > > > > prv:DataCreation with which a new state of the complete OSM > > > > > dataset has been created (even if we do not describe this data > > > > > creation explicitly). The only thing that's needed is an > > > > > association of each osp:Changeset with the corresponding osp:Edit > > > > > > > > > instances. Hence, you need a new property: > > > > I don't understand why a changeset is a creation guileline. > > > > > > > > My understanding of Carsten's scenario is that each feature (state) > > > > can be associated with a changeset, which is a collection of edit > > > > events, so that one can figure out what change processes have led to > > > > the existence of this feature (state). > > > > > > Not exactly. First, a changeset (in the context of OSM) is indeed a > > > collection of edit events. But -according to my understanding- it is > > > these edit events that are associated with the states of features (not > > > the changeset). These edit events can be understood as data creations > > > which either created a new, first version/state of a feature or which > > > transformed a specific feature from one version to the next (mostly by > > > adding/removing properties). The changesets collect such edit events > > > (for different ! features) that happened at the same time and that > > > were performed by the same user. > > > > > > > Such a changeset seems like a collection of prv:Executions. And I am > > > > not sure we have any concepts from the Provenance Vocabulary that > > > > can exactly capture this concept. > > > > > > You are right with the first sentence - even more, it is a collection > > > of prv:DataCreations - but -as mentioned before- each of the data > > > creation in such a collection focuses on a different feature (state). > > > > > > Regarding the question whether it would be correct to understand such a > > > collection as a prv:CreationGuideline I am a bit undecided (after > > > reading you concerns). The reason why such an understanding might be > > > problematic is, that a changeset is a collection of executions (of > > > processes) that happened; whereas, in a "pure" creation guideline I > > > would expect descriptions of processes that can be executed. Thus, > > > understanding a changeset as a creation guideline seems -at least- to > > > be stretching the limits. However, may be that's still okay from a > > > pragmatic POV? > > > > > > > And if we take Olaf's suggestion to call each feature at a particular > > > > state as a featurestate (which is absolutely the right thing to do, > > > > IMO:), then each such featurestate can be associated with one and > > > > only one edit execution. I don't see how a featurestate can be > > > > associated with a changeset anymore, which is a collection of edits. > > > > If we enforce this strict distinction between features, how do we > > > > apply changeset to features? Probably I missed something? > > > > > > I guess I already addressed the concerns you raise in that paragraph. > > > However, you're perfectly right, each feature state can only be > > > associated with a single edit event - at least in the role of its data > > > creation (that's why we have the cardinality restriction on > > > prv:createdBy ;) Then each feature state might also be associated with > > > a second edit event by which the feature state was used to create the > > > next state of the corresponding feature (hence, the relationship here > > > is represented by a prv:usedBy property). > > > > > > Cheers, > > > Olaf > > > > > > > cheers, > > > > > > > > Jun > > > > > > > > > osp:includesEdit a owl:ObjectProperty > > > > > > > > > > rdfs:domain osp:Changeset ; > > > > > rdfs:range osp:Edit . > > > > > > > > > > Now, you can describe things like: > > > > > > > > > > <http://osm.org/api/0.6/changeset/3610855> a osp:Changeset ; > > > > > > > > > > osp:includesEdit :edit1 . > > > > > > > > > > Hope that helps, > > > > > Olaf > > > > > > > > > > On Monday 07 March 2011 10:47:25 Carsten Keßler wrote: > > > > > > Hi Olaf, > > > > > > > > > > > > thanks for taking the time to look at our extension. See my > > > > > > answers for your questions below (I'm also CCing this to my > > > > > > coauthors): 1.) You define a class osp:Feature as a sub-class of > > > > > > prv:File and from the > > > > > > > > > > > > > other class that you introduce, I see that a feature can be an > > > > > > > "OSM node with lat/lon coordinates". > > > > > > > > > > > > Either that, or a way or polygon. > > > > > > > > > > > > > I'm not familiar with the OSM terminology. However, > > > > > > > I doubt that it is correct to understand a point in a > > > > > > > coordinate system as a file. > > > > > > > > > > > > Well, it is a bit more than a point in a coordinate system; you > > > > > > can see a more readable serialization of the whole contents by > > > > > > looking at http://www.openstreetmap.org/browse/node/612986688/ > > > > > > as an example > > > > > > > > > > > > > So, what exactly does a URI like > > > > > > > http://osm.org/api/0.6/node/612986688/1 identify? The actual > > > > > > > node? A version of the node? The Web resource with data about > > > > > > > the node? The Web resource with a specific version of data > > > > > > > about that node? > > > > > > > > > > > > I think the last one fits best: it is a web resource with a > > > > > > specific version of data about that node. What you model as a > > > > > > dataitem (the actual node in our case) is not dereferenceable, > > > > > > if I understand it correctly. At least not from the outside, > > > > > > i.e., if you are not running your own OSM server. If you are > > > > > > running the service, you could link it to an entry in your > > > > > > database (?) > > > > > > > > > > > > > 2.) Will an HTTP client always get the same representation when > > > > > > > dereferencing URIs like http://osm.org/api/0.6/node/612986688/1 > > > > > > > ? In other words, does any change create a new version and, > > > > > > > thus, result in another URI, such as > > > > > > > http://osm.org/api/0.6/node/612986688/2 ? > > > > > > > > > > > > Yes, exactly. > > > > > > > > > > > > > 3.) You define a class osp:Changeset as a sub-class of > > > > > > > prv:Artifact; in your example provenance description you have > > > > > > > instances of osp:Changeset as objects in prv:createdBy > > > > > > > triples. This makes these instances a prv:DataCreation as > > > > > > > well. Is that what you intended? > > > > > > > > > > > > Thanks for pointing this out, that's not intended. I'll fix that. > > > > > > > > > > > > > 4.) A few more questions to understand the relationship between > > > > > > > features (osp:Feature), edits (osp:Edit) and changesets > > > > > > > (osp:Changeset): * Is the relationship between edits and > > > > > > > features 1:1, 1:n, or n:1? I.e. does an edit always only > > > > > > > change a single feature? Can a feature be changed by multiple > > > > > > > edits? > > > > > > > > > > > > The Edit class has no corresponding element in OSM. We have > > > > > > introduced it to be able to link a specific change (that was > > > > > > committed with a Changeset) to the affected feature. Every edit > > > > > > can only change one feature, the relationship between edits and > > > > > > features is therefore 1:1. > > > > > > > > > > > > > * Is a changeset some kind of container of edits that have been > > > > > > > performed at the same time by the same user? > > > > > > > > > > > > Yes, exactly. Most of the OSM editors are based on sessions: you > > > > > > open the data for a certain map extent in the editor, make you > > > > > > edits on different features, and finally save everything. This > > > > > > collection is then uploaded to OSM as a Changeset . > > > > > > > > > > > > Best, > > > > > > Carsten > > > > > > > > > > > > > Greetings, > > > > > > > Olaf > > > > > > > > > > > > > > [1] http://dl.dropbox.com/u/9209387/osp-rdf.zip > > > > > > > > --------------------------------------------------------------------- > > > > ------ --- Colocation vs. Managed Hosting > > > > A question and answer guide to determining the best fit > > > > for your organization - today and in the future. > > > > http://p.sf.net/sfu/internap-sfd2d > > > > _______________________________________________ > > > > trdf-prv-vocab-users mailing list > > > > trd...@li... > > > > https://lists.sourceforge.net/lists/listinfo/trdf-prv-vocab-users |