- From: Harshvardhan J. Pandit <me@harshp.com>
- Date: Thu, 11 Aug 2022 16:51:57 +0100
- To: semantic-web@w3.org
Hi. tldr; How to document external concepts (e.g. external:Concept) being reused in a separate vocabulary (e.g. vocab A) ? Is there any existing "good practices" that have been around for this use-case? The semantic web good practices suggest we utilise existing vocabularies where viable and available, and to avoid "redefining" them within the new vocabulary. However, I'm not aware of any guidance on how such reuses are to be documented within (newer) vocabularies and ontologies. --- # First Approach - using rdfs:isDefinedBy I've noticed Protege's outputs contain (externally) defined classes and annotations within an ontology - and I haven't come across any annotations over external concepts. There is nothing in the output that indicates the terms are "external", other than manually comparing ontology IRI with term IRI. WIDOCO's best practices (https://w3id.org/widoco/bestPractices) suggests using rdfs:isDefinedBy to indicate the origin of the term, so this can be utilised to document the original vocabulary the term came from. Using this, perhaps it is possible to provide labels, definitions, etc. as needed - with rdfs:isDefinedBy indicating the terms is being reused from an external source. <original ontology ex:A> :Concept a rdfs:Class ; rdfs:label "Concept" . <new ontology ex:B> :Concept a rdfs:Class ; rdfs:label "New Concept" ; rdfs:isDefinedBy ex:A ; rdfs:comment "We use Concept to do ..." . --- # Second Approach: simple comment using skos:scopeNote So my attempt at a simple solution is to just use skos:scopeNote over the concept explaining how that concept is expected to be used. <new ontology A> external:Concept skos:scopeNote "We use this Concept as ..." . --- Problems: what happens the original and new ontologies are combined in one graph - there will be duplicate labels, comments, etc. Would this be a problem? I don't think so, since they both are documentations from respective ontologies, but I'm not sure if this may cause a problem in some other use-case. Since I'm not aware of any examples of tooling supporting the use of either skos:scopeNote or rdfs:isDefinedBy to distinguish between external and current concepts, I'm unsure which option is better. I prefer the first one since it explicitly indicates the external source of a concept, but thought I'd ask the community before rushing ahead and using it in code. Regards, -- --- Harshvardhan J. Pandit, Ph.D Research Fellow ADAPT Centre, Trinity College Dublin https://harshp.com/
Received on Thursday, 11 August 2022 15:50:46 UTC