Skip to content
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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

add section about 'unstar' mapping #115

wants to merge 3 commits into from

Conversation

pchampin
Copy link
Contributor

@pchampin pchampin commented Nov 13, 2024

@afs
Copy link
Contributor

afs commented Nov 13, 2024

Is this proposed "as well as" the graph-to-graph algorithm or "instead of"?

w3c/rdf-star-wg#114 (comment)

@niklasl
Copy link
Contributor

niklasl commented Nov 13, 2024

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.

@niklasl
Copy link
Contributor

niklasl commented Nov 13, 2024

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?

@rat10
Copy link

rat10 commented Nov 13, 2024

There seems to be an issue with the examples section: all examples say "Cannot GET /uploads/dcqFS6/spec/ex-unstar-output.trig".

@gkellogg
Copy link
Member

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.

@pchampin
Copy link
Contributor Author

Is this proposed "as well as" the graph-to-graph algorithm or "instead of"?

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

  • I am still not clear about the details of the graph-to-graph approach, and
  • I wanted to write down the design goals of the mapping, so that we can discuss them (and inform the responses to the previous point).

@rat10
Copy link

rat10 commented Nov 14, 2024

What is the "graph-to-graph" algorithm? A mapping based on the RDF standard reification vocabulary?

@niklasl
Copy link
Contributor

niklasl commented Nov 14, 2024

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.).

@afs
Copy link
Contributor

afs commented Nov 22, 2024

Semantic Task Force 2024-11-22

We are looking at the "graph" flavor of unstar.

@afs
Copy link
Contributor

afs commented Nov 22, 2024

Design goals: (content from the PR)

  • Information preserving
    It must be possible to reconstruct the input dataset from the output dataset.
    Note that, on the other hand, the algorithm is not designed to be semantics preserving:
    the graphs in the produced dataset are not semantically equivalent to their corresponding graph in the input dataset.
  • Idempotent
    Transforming a dataset that is already complying with RDF Classic (i.e. containing no triple term) must result in the same dataset.
  • Universal
    It should be possible to transform any RDF Full dataset using this method.

- unstarring a graph now produce a graph (not a dataset)
- it uses the reification vocabulary
  (with a distinctinve type rdf:UnstarredTripleTerm)
@pchampin
Copy link
Contributor Author

I just updated the PR; the new algorithm is "graph-to-graph", repurposing the reification vocabulary.
Note that I coined rdf:UnstarredTripleTerm to type the generated blank nodes.

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, rdf:Triple). Indeed, I believe that there will be valid use-cases to use that type (rdf:Triple) in Fuill RDF graphs, while rdf:UnstarredTripleTerm should really be considered as "reserved" and not to be used outside of the "unstar" algorithm.

@afs
Copy link
Contributor

afs commented Nov 29, 2024

This a suggestion relate 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.

  • Put the overview "The general principle" at the beginning of section 8
  • Pull the examples into section 8.
  • Either push all algorithms to later sections within section 8 or put the algorithms as normative appendixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants