Re: WebID-JSON-LD Spec

On Wed, 08 Nov 2023 20:01:53 +0100 Jacopo Scazzosi <jacopo@scazzosi.com> wrote:
> > I personally simply can't see what else is needed tbh
> Perhaps nothing else is needed but, IMHO, we still need to give the
> GitHub side of the WebID community a chance to join the conversation.
> And, I think a PR should be the way we change the current version of
> the spec anyway, given that the spec lives on GitHub.


Perhaps WebID-JSON-LD need to decide if is for semantics (and can be
expanded) or a lightweight JSON document for navigation purposes only
(which may just happen to be parsable as JSON-LD but is less
extensible).


If we're talking about a navigational document to other personal profile
documents, then perhaps that should rather be solved with just
Signposting <https://signposting.org/> and not need any fixed content
representation at all?  

The signposting can link to any "classic" FOAF documents etc and have
explicit formats and profiles:

$ pip install signposting

$ signposting http://soiland-reyes.com/stian/#me
Signposting for https://soiland-reyes.com/stian/
CiteAs: <http://soiland-reyes.com/stian/#me>
Type: <https://schema.org/Person>
DescribedBy: <https://soiland-reyes.com/stian/foaf.rdf> application/rdf+xml
             <https://soiland-reyes.com/stian/foaf.ttl> text/turtle
             <https://soiland-reyes.com/stian/foaf.nt> text/ntriples
             <https://soiland-reyes.com/stian/foaf.jsonld> application/ld+json
             <https://soiland-reyes.com/stian/foaf.html> text/html
             <https://www.wikidata.org/wiki/Special:EntityData/Q34388171.jsonld> application/ld+json
             <https://www.wikidata.org/wiki/Special:EntityData/Q34388171.ttl> text/turtle
             <https://www.wikidata.org/wiki/Special:EntityData/Q34388171.nt> application/n-triples
             <https://www.wikidata.org/wiki/Special:EntityData/Q34388171.rdf> application/rdf+xml
             <https://dblp.org/pid/36/354.nt> application/n-triples
             <https://dblp.org/pid/36/354.rdf> application/rdf+xml
             <https://dblp.org/pid/36/354.ttl> text/turtle
             <https://dblp.org/pid/36/354.xml> application/xml
             <https://orcid.org/0000-0001-9842-9718> application/n-triples
             <https://orcid.org/0000-0001-9842-9718> application/vnd.orcid+json
             <https://orcid.org/0000-0001-9842-9718> application/xml
             <https://orcid.org/0000-0001-9842-9718> application/rdf+xml
             <https://orcid.org/0000-0001-9842-9718> text/turtle
             <https://orcid.org/0000-0001-9842-9718> application/ld+json
             <https://orcid.org/0000-0001-9842-9718> application/vnd.orcid+xml
      

You can now find any of your favourites, even externally in different
vocabularies and formats. 

Note that agreement/convention will be needed on the profile URLs, but
that doesn't have to come from that identity provider, as examplified
in the full headers below:


$ curl --head --location https://soiland-reyes.com/stian/

HTTP/2 200
date: Thu, 09 Nov 2023 00:35:34 GMT
content-location: foaf.ttl
vary: negotiate,accept
link: <http://soiland-reyes.com/stian/#me>;rel=cite-as
link: <https://soiland-reyes.com/stian/foaf>rel=canonical
link: <https://schema.org/Person>;rel=type
link: <https://soiland-reyes.com/stian/foaf.ttl>;rel=describedby;type="text/turtle";profile="https://www.w3.org/2005/Incubator/webid/spec/identity/ https://schema.org/"
link: <https://soiland-reyes.com/stian/foaf.nt>;rel=describedby;type="text/ntriples";profile="https://www.w3.org/2005/Incubator/webid/spec/identity/ https://schema.org/"
link: <https://soiland-reyes.com/stian/foaf.rdf>;rel=describedby;type="application/rdf+xml";profile="https://www.w3.org/2005/Incubator/webid/spec/identity/ https://schema.org/"
link: <https://soiland-reyes.com/stian/foaf.jsonld>;rel=describedby;type="application/ld+json";profile="https://www.w3.org/2005/Incubator/webid/spec/identity/ https://schema.org/"
link: <https://soiland-reyes.com/stian/foaf.html>;rel=describedby;type="text/html";profile="https://www.w3.org/2005/Incubator/webid/spec/identity/ https://schema.org/"
link: <https://orcid.org/0000-0001-9842-9718>;rel=related
link: <https://orcid.org/0000-0001-9842-9718>;rel=describedby;type="application/ld+json";profile="https://schema.org/"
link: <https://orcid.org/0000-0001-9842-9718>;rel=describedby;type="text/turtle";profile="https://www.w3.org/2005/Incubator/webid/spec/identity/"
link: <https://orcid.org/0000-0001-9842-9718>;rel=describedby;type="application/rdf+xml";profile="https://www.w3.org/2005/Incubator/webid/spec/identity/"
link: <https://orcid.org/0000-0001-9842-9718>;rel=describedby;type="application/n-triples";profile="https://www.w3.org/2005/Incubator/webid/spec/identity/"
link: <https://orcid.org/0000-0001-9842-9718>;rel=describedby;type="application/xml";profile="https://github.com/ORCID/orcid-model/tree/master/src/main/resources/record_3.0"
link: <https://orcid.org/0000-0001-9842-9718>;rel=describedby;type="application/vnd.orcid+xml"
link: <https://orcid.org/0000-0001-9842-9718>;rel=describedby;type="application/vnd.orcid+json"
link: <https://dblp.org/pid/36/354>;rel=related
link: <https://dblp.org/pid/36/354.ttl>;rel=describedby;type="text/turtle";profile="https://dblp.org/rdf/schema#"
link: <https://dblp.org/pid/36/354.nt>;rel=describedby;type="application/n-triples";profile="https://dblp.org/rdf/schema#"
link: <https://dblp.org/pid/36/354.rdf>;rel=describedby;type="application/rdf+xml";profile="https://dblp.org/rdf/schema#"
link: <https://dblp.org/pid/36/354.xml>;rel=describedby;type="application/xml";profile="https://dblp.org/xml/"
link: <https://www.wikidata.org/entity/Q34388171>;rel=related
link: <https://www.wikidata.org/wiki/Special:EntityData/Q34388171.ttl>;rel=describedby;type="text/turtle";profile="https://www.wikidata.org/wiki/Wikidata:RDF"
link: <https://www.wikidata.org/wiki/Special:EntityData/Q34388171.nt>;rel=describedby;type="application/n-triples";profile="https://www.wikidata.org/wiki/Wikidata:RDF"
link: <https://www.wikidata.org/wiki/Special:EntityData/Q34388171.rdf>;rel=describedby;type="application/rdf+xml";profile="https://www.wikidata.org/wiki/Wikidata:RDF"
link: <https://www.wikidata.org/wiki/Special:EntityData/Q34388171.jsonld>;rel=describedby;type="application/ld+json";profile="https://www.wikidata.org/wiki/Wikidata:RDF"


Note that signposting is not semantic (don't infer owl:sameAs etc), but
naigational, so there is no big problem with being both a document and a
person here..

The multiple describedby here also makes any needed content-negotiation
options explicit -- which is important as ORCID use different semenatic
profiles depending on requesting JSON-LD or RDF/XML.


Signposting use regular Link headers (rfc8288), so it can also be
applied in HTML <link> documents and in dedicated linkset.json documents
(rfc9264) that you find with rel=linkset.

-- 
Stian Soiland-Reyes, The University of Manchester
https://www.esciencelab.org.uk/
https://orcid.org/0000-0001-9842-9718
 Please note that I may work flexibly - whilst it suits me to email now,
 I do not expect a response or action outside of your own working hours.

Received on Thursday, 9 November 2023 01:04:11 UTC