Closed mgifford closed 2 years ago
If you look at the FOAF spec, you'll find the following sentence:
The FOAF vocabulary is identified by the namespace URI 'http://xmlns.com/foaf/0.1/'
Thus, http://xmlns.com/foaf/0.1/Person is the proper IRI.
The reason it is foaf/0.1/, and not something else, goes way back to the beginning of RDF. DanBri talks more about it here. But, basically, once a namespace IRI is created, it ends up that you can't really replace it as you then make all previous data invalid. (Although, they're essentially doing this at schema.org now, changing from http://schema.org/ to https://schema.org).
What @gkellogg just said. In addition:
Not sure how this all fits together and if this is
"name": "http://xmlns.com/foaf/0.1/name",
is essentially documentation or function.
Not sure what you mean by "documentation" vs "function"... But the important point is that JSON-LD (Linked Data in general, for that matter) uses IRIs primarily as identifiers (and only secondarily as links). Two different IRIs are considered as different identifiers, even if they happen to link to the same content.
Actually, this decoupling of identification and linking is a key enabler in linked data:
foaf:Person
)Following the principles of linked data, looking up an IRI (i.e. using it as a link) should provide useful information about the thing identified by that IRI. The documentation of the FOAF vocabulary happens to provide useful information about itself and about the concept of Person as defined in FOAF. So it makes sense that these two different identifiers link to the same content.
The https://json-ld.org/contexts/person.jsonld. example links to a foaf specification that seems to no longer be supported.
I am trying to learn more about JSON-LD but don't think this is right. Not sure if it should link to http://xmlns.com/foaf/spec/ or http://xmlns.com/foaf/spec/#term_name
Not sure how this all fits together and if this is
"name": "http://xmlns.com/foaf/0.1/name",
is essentially documentation or function.