Comments (4)
You are of course right: canonicalization is a single form.
But... the §1 of the explainer defines:
RDF Dataset Canonicalization is a function C that maps an RDF Dataset to an RDF Dataset in a manner that…
i.e., it is defined as a function.
Of course there may be several such functions and the goal of the standard is to define either a single function or, most probably a family of functions that is parametrized by the choice of a hashing function for the way it operates.
Can you propose a change on the explainer text that makes this clearer?
from rch-wg-charter.
Perhaps the best word here is "deterministic" - the output from a given canonicalization function is deterministic. What might be clearer is an explanation what what sorts of RDF differences you want to have the same canonical form. That might be encoded is the definitions (as you start to quote above), but to me, as an newcomer to RDF, I'm not sure what is meant. A plain example might help? e.g. "here are two RDF datasets that look different that we want to consider as equivalent".
e.g. some canonicalization systems do case folding, so that "World Wide Web Consortium" and "world wide web consortium" canonicalize to the same thing. What differences are we trying to canonicalize away here?
[ https://github.com//issues/52 is digging into this topic...]
from rch-wg-charter.
@samuelweiler I can give you an overly simple example here:
_:A <http://example.com/prop1> "Some literal".
and
_:xyz <http://example.com/prop1> "Some literal".
and
_:ABCEFG <http://example.com/prop1> "Some literal".
are all isomorphic RDF graphs, and there is an infinite number of them: the subject, in all three, is a blank node, and the label can be just about any string. What canonicalization does is to deterministically calculate a blank node label, starting from any of the forms above, yielding, say, '_:c1234', i.e., generating the graph
_:c1234 <http://example.com/prop1> "Some literal".
which would be considered the canonical form of those isomorphic graphs.
However, I am a bit uneasy going into the explanation in the charter explainer. I do not think this is the place. There is a reference to Aidan's paper in the explainer document that gives a good introductory explanation of the problem...
from rch-wg-charter.
However, I am a bit uneasy going into the explanation in the charter explainer. I do not think this is the place.
Fine. I defer to your judgement.
from rch-wg-charter.
Related Issues (20)
- status of [arnold-longley-2020] HOT 19
- how the canonicalization algorithm is chosen HOT 3
- fix HTML title
- AUEB/MMlab supports the W3C LDS WG HOT 3
- Jolocom supports the W3C RCH WG HOT 5
- Create a registry of hash functions HOT 3
- Semmtech supports the W3C RCH WG HOT 4
- Rename "Linked Data Hash" as "RDF Dataset Hash" HOT 1
- A is B considered harmful HOT 6
- Need a glossary for the acronyms the lds-wg-charter HOT 1
- ED of explainer points to charter doc. HOT 1
- W3C Web of Things (WoT) WG supports the W3C LDS WG HOT 8
- Vague mentions of json-ld context work item needs clarification HOT 25
- 3 Round Stones supports the W3C RCH WG HOT 5
- Vrije Universiteit Amsterdam supports the W3C RCH WG HOT 5
- Coordinate with WebAppSec HOT 6
- Consider defining a canonical serialization to bytes, rather than a hash HOT 5
- Stale expressions of support HOT 1
- quantifier scoping HOT 3
- bad terminology in explainer document HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rch-wg-charter.