- From: Pierre-Antoine Champin <pierre-antoine.champin@ercim.eu>
- Date: Mon, 8 Nov 2021 09:26:33 +0100
- To: Peter Krauss <ppkrauss@gmail.com>, public-json-ld@w3.org
- Message-ID: <756461c8-f578-9b1b-cff5-34dda9474859@ercim.eu>
Dear Peter, my comments inline On 01/11/2021 01:24, Peter Krauss wrote: > I am suggesting a small feature, for a future version of JSON-LD, but > it's not clear whether it's a matter of Syntax, API or in some other > document that depends on the component specifications. > > *ABSTRACT*: it is intended to make *content-reuse* as easy as > Microdata or RDFa+HTML make. The Embedding JSON-LD in HTML Documents > <https://www.w3.org/TR/json-ld11/#embedding-json-ld-in-html-documents> > is a good replacement for Microdata or RDFa+HTML, but to be complete > need to reuse /HTML content/ *instead to duplicate it*. As in the > Microdata interpretation > <https://html.spec.whatwg.org/multipage/microdata.html#the-basic-syntax>, > the string to be translated, from cited (by /id/) HTHM element to > plain text must use a method defined by DOM standard > <https://en.wikipedia.org/wiki/Document_Object_Model>, the > /HTMLElement.*innerText*/ > <https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText>. > > *EXAMPLE*: supposing an ID in the Example 164 > <https://www.w3.org/TR/json-ld/#example-164-html-that-describes-a-book-using-microdata> > HTML fragment, something as > ... > <dt>Title</dt> > <dd><cite id="tit01"itemprop="http://purl.org/dc/elements/1..1/title > <http://purl.org/dc/elements/1.1/title>">Just a Geek</cite></dd> > .... > the Example 165 > <https://www.w3.org/TR/json-ld/#example-165-same-book-description-in-json-ld-avoiding-contexts> > JSON-LD fragment will be something as > [ > { > "@id":"http://purl.oreilly.com/works/45U8QJGZSQKDH8N", > "@type":"http://purl.org/vocab/frbr/core#Work > <http://purl..org/vocab/frbr/core#Work>", > "http://purl.org/dc/elements/1.1/title": {"@id":"#tit01"}, > "http://purl.org/dc/elements/1.1/creator":"Wil Wheaton", > "http://purl.org/vocab/frbr/core#realization": [...] > },... > ] > So, by the *innerText* rule, the /title /line will be equivalent to > "http://purl.org/dc/elements/1.1/title > <http://purl..org/dc/elements/1.1/title>":"Just a Geek" Both snippets are valid under the current specification, but they are NOT equivalent. More preciseily, in their RDF interpretation, the object of dc:title is an IRI in the first one, a literal in the second one. Changing the spec to make them equivalent would be a breaking change, and would be detrimental to many use-cases. I don't see this happening. > Note: is a simple get-and-convert algorithm. In a Javascript parser > the string can be obtained by > |document.getElementById("tit01").innerText|. > * > * > *RATIONALE*: reuse content, avoiding waste, errors or malicious > changes... And it is not only reuse, many legal applications (for > Internet or digital preservation scope), in Science and Justice, need > document transparency and*integrity guarantee*. Examples: JATS > <https://en.wikipedia.org/wiki/Journal_Article_Tag_Suite>, > SchemaOrg/Legislation <https://schema.org/Legislation>, > SchemaOrg/ScholarlyArticle <https://schema.org/ScholarlyArticle>, and > other official documents. I sympathize for this rationale, but I believe it could be addressed with some additional mechanisms /on top/ of the existing spec, rather than by changing the spec. You could define a dedicated property ex:innerTextOf. The semantics of this property would be as follow: its subject (typically a blank node) must be interpreted as semantically equivalent (as with owl:sameAs) to the literal retrieved from applying innerText to the IRI object (assumed to be an IRI with a fragment identifier, resolving to some HTML fragment). With the appropriate context, your snipper above would become: [ { "@id":"http://purl.oreilly.com/works/45U8QJGZSQKDH8N", "@type":"http://purl.org/vocab/frbr/core#Work <http://purl..org/vocab/frbr/core#Work>", "http://purl.org/dc/elements/1.1/title": {"innerTextOf":"#tit01"}, "http://purl.org/dc/elements/1.1/creator":"Wil Wheaton", "http://purl.org/vocab/frbr/core#realization": [...] },... ] It would still requite some "innerTextOf-aware" post-processing to produce the expected result... (i.e. replace the blank node with the corresponding literal). Would that be satisfactory? pa
Attachments
- application/pgp-keys attachment: OpenPGP public key
Received on Monday, 8 November 2021 08:26:38 UTC