- From: Harshvardhan J. Pandit <me@harshp.com>
- Date: Fri, 12 Aug 2022 13:51:06 +0100
- To: ghislain.atemezing@gmail.com
- Cc: semantic-web@w3.org
Hi. Thanks both (Ghislain and Anelia) for sharing your thoughts. @Ghislaine I think your approach would require duplicating / redefining the concept within the new vocabulary, whereas my thoughts are about using the original IRI for the concept, and just adding annotations in the new vocabulary. Like this: graph <http://example.com/A> { <http://example.com/A/Concept> a rdfs:Class . } graph <http://example.com/B> { <http://example.com/A/Concept> a rdfs:Class . <http://example.com/A/Concept> rdfs:isDefinedBy <http://example.com/A> . <http://example.com/vocab/A/Concept> rdfs:comment "Use this for..." . } Also, dct:source may be used to indicate the origin of the concept e.g. in some document, so it wouldn't be consistent to use to indicate a concept comes from another vocabulary. I tried looking at some well-known vocabularies that reuse concepts, but couldn't see any such documentation of reused terms within the RDF itself, just in the HTML. Regards, Harsh On 12/08/2022 11:34, Ghislain ATEMEZING wrote: > Hi, > I don't know if there is a clear recommendation regarding the approaches > for documenting reuse concepts. > One could harvest vocabulary catalogs (e.g., Linked Open Vocabularies) > to check what emerges from ontology creators' practices. > > There could be yet another different approach. > Here all the concepts of the ontology use rdfs:isDefinedBy to point to > the ontology's URI and dcterms:source is used for the provenance of the > original concept in the new ontology. > > <original ontology ex:A> > exo:Concept a rdfs:Class ; > rdfs:label "Concept in original ontology" ; > *rdfs:isDefinedBy exo: ;* > *. > * > <new ontology ex:B> > ex:Concept a rdfs:Class ; > rdfs:label "New Concept " ; > *dcterms:source exo:Concept* ; > *rdfs:isDefinedBy ex: ;* > rdfs:comment "We use Concept to do ..." ; > . > > Does that also make sense? > > Best, > Ghislain > > On Thu, Aug 11, 2022 at 5:57 PM Harshvardhan J. Pandit <me@harshp.com > <mailto:me@harshp.com>> wrote: > > 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 > <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/ <https://harshp.com/> > > > > --- > Ghislain Atemezing, Ph.D > R&D Director, MONDECA > Paris, France www.mondeca.com <http://www.mondeca.com/> > > -- --- Harshvardhan J. Pandit, Ph.D Research Fellow ADAPT Centre, Trinity College Dublin https://harshp.com/
Received on Friday, 12 August 2022 12:51:23 UTC