- From: Pat McBennett <patm@inrupt.com>
- Date: Wed, 12 Oct 2022 13:50:37 +0100
- To: Christian Chiarcos <christian.chiarcos@web.de>
- Cc: Pierre-Antoine Champin <pierre-antoine@w3.org>, semantic-web@w3.org
- Message-ID: <CABgQ8mJTo2hWuQGHXQjQZTmLDvVyhOOpHKdZUHxCD3R_DUV8vg@mail.gmail.com>
Hi Christian, On Tue, Oct 11, 2022 at 3:46 PM Christian Chiarcos < christian.chiarcos@web.de> wrote: > > [PMcB] Well, as I stated in my response to Pierre-Antoine, I consider it a >> fundamental principle of Linked Data that you can never fully know the >> 'intended use case' for any shared vocabulary - as literally anyone should >> be able to reuse that vocab, even within the confines of a closed >> Enterprise (e.g., via mergers or acquisitions in the future). >> > > True, but the creator of a vocabulary typically does. For vocabularies > whose usage of slash or hash really presents a problem, natural selection > will kick in in the end. But I actually think this is a minor concern. > > [PMcB] Yeah, I absolutely agree - "For vocabularies whose usage of slash or hash really presents a problem..." - yep, then clearly you have viable grounds for breaking with Best Practice, so off you go (and use hash!). > the other Best Practice of providing `rdfs:isDefinedBy` triples per >> term. >> > > I actually have a bit of an issue with this as a best practice, because it > doesn't have to refer to the full RDF vocabulary. It may be used for this > purpose, but in fact, I've been frequently using it to link concepts with > the URIs of the *unstructured documents* that define them. And these are > unstructured because there just is no normative RDF vocabulary for that > particular domain. Think of language identifiers. ISO 639-1 and -2 are > available as RDF, but ISO 639-3 is not, so the normative reference for any > language not covered by ISO 639-1 or -2 is a bunch of human-readable tables > on a website, and if I wanted to provide the "is defined by" context of, > say my:EgyptianArabic, that would not be the my:-ontology, but > https://iso639-3.sil.org/code/arz. I don't think there is another RDF(S) > property to serve that purpose (not within the RDF[S] namespace, but we > could go with dc:source, but that has somewhat different semantics; > similarly, owl:sameAs would be wrong because it comes without an RDF > formalization, and we cannot really be sure whether > https://iso639-3.sil.org/code/arz is meant to be a class or an instance, > whereas my:EgyptianArabic if it is proper OWL2/DL, should be one or the > other). > > [PMcB] Interesting! I wouldn't really mind which predicate becomes the Best Practice - I just like 'rdfs:isDefinedBy' because it feels so intuitive, and it exists in one of the 'core' RDF vocabs already (and it seems to be the most commonly used in practice - not that that's a particularly strong justification!) But I'd still suggest that your use of 'rdfs:isDefinedBy' to point to the URIs of *unstructured documents* might not be strictly correct. I mean, here's the actual complete definition of that term (complete with typo in the value of the 'rdfs:comment' triple :) !): rdfs:isDefinedBy a rdf:Property; rdfs:isDefinedBy <http://www.w3.org/2000/01/rdf-schema#>; rdfs:label "isDefinedBy"; rdfs:comment "The defininition of the subject resource."; rdfs:range rdfs:Resource; rdfs:domain rdfs:Resource; rdfs:subPropertyOf rdfs:seeAlso. So that is clearly communicating that the 'rdfs:range' should be RDF. So yeah, I probably would have suggested 'dcterms:source' too (which has no `rdfs:range`), or prehaps 'prov_o:wasDerivedFrom' (but that has the range 'prov_o:Entity'). I'm not sure why you suggest 'dcterms:source' has different or inappropriate semantics for you, as it's 'dcterms:description' seems to fit your use case pretty well to me - i.e., "This property is intended to be used with non-literal values. The described resource may be derived from the related resource in whole or in part. Best practice is to identify the related resource by means of a URI or a string conforming to a formal identification system.". Anyways, I'd certainly be open to suggestions for a different/better predicate to use as Best Practice guidance for linking a vocab term back to its defining/containing/describing vocab. But that would be a separate issue/thread though! > If we make *that* a best practice recommendation, we should also propose > another property for the other use case (pointing to the defining resource > if it is not an RDF vocabulary). > > >> If a vocabulary provider relies massively on OWL2 inferences to >>> pre-populate the ontology with, say, static values for properties of >>> individuals of a particular type, then these will not be found (or need to >>> be explicitly searched for) if only the local URI and its immediate context >>> is returned. In other words, defaulting to shlashes might be a possible >>> strategy for ontologies *only if they don't make use of implicit triples*. >>> >> >> [PMcB] I might be missing something here, but would simply dereferencing >> the vocab namespace IRI not solve this issue? >> > > Yes. > > >> In other words, if this community came to agreement on the Best Practices >> of [use-slashes + provide-`rdfs:isDefinedBy`-triple-per-term + >> dereferencing-vocab-namespace-IRI-gives-full-vocab-metadata], then vocabs >> that followed that Best Practice wouldn't have any problem here - client's >> could just dereference the namespace IRI and get everything they need in a >> single server repsonse, right? >> > > Yes -- if we agree on that best practice ... not 100% sure we will, mostly > because the semantics of rdfs:isDefinedBy are actually broader than this > use case. This is one use case it covers, and it is mentioned as such > ("may") in the spec, but it is not the only one. > > [PMcB] Yep, I agree. As above, I'd certainly be open to suggestions (but I still feel 'rdfs:isDefinedBy' is 'fine' too!), but yeah, discussion for a separate thread... > The alternative thing to do would be to create/resort to a designated > property to provide the full vocab. That could be dct:isPartOf ("A related > resource in which the described resource is physically or logically > included.") Wrt. a best practice for pointing to the containing vocabulary, > I would prefer that over rdfs:isDefinedBy, and it's already an established > property from an established vocabulary. > > [PMcB] Yep, 'dcterms:isPartOf' definitely seems a worthy contender! As above, discussion for a separate thread I think... > But I'm all for a best practice recommendation of that kind for slash URIs. > > Best, > Christian > -- This e-mail, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged, confidential and/or proprietary information. If you are not the intended recipient of this e-mail (or the person responsible for delivering this document to the intended recipient), please do not disseminate, distribute, print or copy this e-mail, or any attachment thereto. If you have received this e-mail in error, please respond to the individual sending the message, and permanently delete the email.
Received on Wednesday, 12 October 2022 12:51:02 UTC