-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add section about 'unstar' mapping #115
base: main
Are you sure you want to change the base?
Conversation
Is this proposed "as well as" the graph-to-graph algorithm or "instead of"? |
This approach requires graphs containing triple terms to be represented as datasets. That excludes cases where you need to put "unstarred" RDF 1.2 graphs into an RDF 1.1-based quad store and manage them within specific named graphs. Implementations supporting the default graph union mechanism would also treat the "triple term graphs" as asserted in that union graph. |
It has been mentioned (or opined) that the "star" name would eventually go away (it would be just RDF 1.2 with triple terms). If so, perhaps "unstar" is an unfortunate name for future reference? |
There seems to be an issue with the examples section: all examples say "Cannot GET /uploads/dcqFS6/spec/ex-unstar-output.trig". |
It's the general PR-preview issue of not being able to retrieve neighboring resources. They are fleshed out if you look at the GitHack version. |
I personally don't think that we should have multiple such mappings, and I am more and more convinced that the graph-to-graph approach makes more sense. The reasons I stuck to my initial graph-to-dataset approach in this PR are that
|
What is the "graph-to-graph" algorithm? A mapping based on the RDF standard reification vocabulary? |
Or something isomorphic to it but using dedicated terms. There's an example of that in this recent wiki page (with links to w3c/rdf-semantics#49 and w3c/rdf-star-wg#114.). |
Semantic Task Force 2024-11-22
|
Design goals: (content from the PR)
|
- unstarring a graph now produce a graph (not a dataset) - it uses the reification vocabulary (with a distinctinve type rdf:UnstarredTripleTerm)
I just updated the PR; the new algorithm is "graph-to-graph", repurposing the reification vocabulary. Note that I deliberately chose a very specific name for this, to distinguish it from the type we will probably introduce as the class of all triple terms, for example, to describe the range of rdf:reifies (say, |
This is a suggestion related to presentation only. RDF-concepts defines RDF and is also a readable document. The algorithms of unstar/restar are good for defining the translation but algorithms do not communicate the broad intent so well. Maybe: have all the written description, discussion and examples, then have the algorithms.
|
@gkellogg How did you create that link? I'm trying to read the new PR but again am unable to read the included examples. |
Select spec/index.html in the branch you want to see and enter it in http://raw.githack.com/. It gives you a link to the rendered version. |
I think this approach is good. The use of a dedicated type for unstarred triple terms seems prudent. If used, an Whether the constituent triple term predicates should be reused from the reification vocabulary or not has been debated some (see e.g. w3c/rdf-semantics#49 (comment)). It depends on whether or not it makes sense to make I think the name But these details, about naming and which constituent triple term predicates to use, can probably be dealt with separately, to avoid blocking this PR. The question about whether to use name "unstar" at all remains (as "RDF-star" is not mentioned as such in RDF 1.2; only in reference to the RDF-star WG). |
To me it seems like the discussions in the Semantics TF and in Github issues, e.g. rdf-semantics issue #49 and rdf-star-wg issue #130, moved away from re-using the RDF reification vocabulary. The reason is a bit intricate: the RDF standard reification describes an occurrence/instance/reification of a triple. The triple term describes a triple and only the reification, indicated by
Given this difference in meaning I think it's more prudent to not reuse the properties from the reification vocabulary but to mint new ones, like e.g. W.r.t. other wordings:
|
Regarding the name of the algorithm, I guess we could go for "classicize" (as it converts to RDF "classic"). |
Regarding the vocabulary, I think that duplicating the properties |
The WG seems to tend towards allowing the usage of triple terms in a more general way than just as a source of reifiers. In that context it is probably prudent to differentiate the two concepts, and not mix and mingle them. Also, I don't see how |
On second (or rather n-th) thought I'd like to add something. Following recent discussions in the Semantics TF (as captured here and discussed there) we might settle for calling However, doesn't this jeopardize backwards compatability? So far it's possible to infer that an entity is of type To work around this problem, we could stress that any application of the unstar mapping should refrain from applying the same optimization. Also, an unassuming RDF 1.1 environment would not be led into a completely wrong direction if it assumed that the immediate subject of an unstar operation - On the other hand, backwards compatability is what the unstar mapping is all about, so why jeopardize it? |
Applying the
I do not suggest to change the domain of So yes, it would mean that any bnode generated by the unstar mapping could be inferred to be of type Regarding the notion of |
Fair enough.
I discussed the "unassuming RDF 1.1 environment", and that is what matters to backwards compatability. In such an environment,
I disagree. No matter what the term "statement" means, the term |
I stand corrected; re-reading the related sections in RDF Semantics, it says "The subject of a reification is intended to refer to a concrete realization of an RDF triple, such as a document in a surface syntax, rather than a triple considered as an abstract object" (emphasis is mine). I will change my PR accordingly. |
also, the algo 'quote-triple-term' was renamed, because it was not actually "quoting" the triple.
following @afs, the two transformations ('classicize' and revert) are now primarily described in prose, the algorithm being secundary. We now also describe the reverse transformation.
W.r.t. vocabulary I’m still not convinced: defining a new |
spec/index.html
Outdated
<dd>It should be possible to transform any [=Full=] graph (resp. dataset) to a [=Classic=] graph (resp. dataset) using this method. | ||
There is actually <a href="#section-classicize-caveat">a minor caveat</a> to this property. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<dd>It should be possible to transform any [=Full=] graph (resp. dataset) to a [=Classic=] graph (resp. dataset) using this method. | |
There is actually <a href="#section-classicize-caveat">a minor caveat</a> to this property. | |
<dd>It should be possible (with <a href="#section-classicize-caveat">a minor caveat</a>) to transform any [=Full=] graph (resp. dataset) to a [=Classic=] graph (resp. dataset) using this method. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd rather not merge these two sentences: the first one describes the design goal (in the abstract). The second one is about the proposed solution.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've reviewed spec/index.html up to the Algorithms. I'll come back for that. There are a number of requested changes above. I didn't think I'd find so many, nor that I'd have this much time to do so, or I'd have bundled them into a review... Sorry for the extra clicks these will take to apply!
I understand - although I differ w.r.t. "casually" and "normatively". However, I'd rather say that the mistake should not be made worse by repeating it but rather pointed out where it was made. Also, we had the discussion a year ago and I don't want to repeat it unnecessarily, but I do indeed like the pair "Basic" and "Full" much more than "Classic" and "Full". On an unrelated note I meanwhile would argue to not have that distinction at all, but it's probably too late for that. |
Thank you, that addresses my respective concern.
So, do you propose to open a new issue on that topic? |
We have w3c/rdf-semantics#61 . |
Okay, I wasn't aware. The tag says 'editorial'. What does that mean? |
Co-authored-by: Ted Thibodeau Jr <[email protected]>
this makes Respec unhappy, because 'appears in' is currently not defined, but including the definition will be for another PR. This keeps this PR more "localized".
as per w3c/rdf-star-wg#129
Preview with the examples working
(as opposed to the automatic preview below)
Preview | Diff