IVOA Thesaurus
Douglas Burke
dburke at cfa.harvard.edu
Tue Oct 30 13:35:05 PDT 2007
Frederic V. Hessman wrote:
>
>> My second issue is to do with maintenance. In going through the
>> vocabulary I have found quite a few errors that have crept in due to
>> the editing process. (The list can be found at the bottom of this
>> email.) Some of these are simple typos but others are where
>> identifiers have been changed for a concept and the subsequent edits
>> have not been made for all of the relationships involving that edit.
>> Others make the vocabulary poly-hierarchy inconsistent, e.g.
>> acceleration of gravity has gravity as a broader term but the inverse
>> relation is not present in gravity. I think that we need to develop
>> scripts that can check that the inverses of all of the relationships
>> that are declared in the hierarchy are present. This would be based on
>> the related relationship being symmetrical and the broader/narrower
>> being inverses of each other.
>>
> I have made very little effort to correct the consistency of BT's and
> NT's, thinking like Alasdair, that someone will use a much fancier tool
> which spits out the correct list.
>
> Note, however, that total consitency is only really important when the
> thesaurus is more-or-less finished in it's final working-draft form.
In the spirit of "why not use a sledge hammer to crack a walnut", I've
just tried automatically adding skos:broader/narrower terms for those
that are missing, using cwm and assuming that the terms are inverses of
each other.
The magic - once you have cwm installed [1,2] - is
% cwm
http://www.astro.physik.uni-goettingen.de/~hessman/rdf/IVOAT/IVOAT.rdf
--think=http://hea-www.harvard.edu/~dburke/playground/infer.n3 --rdf >
ivoa.infer.rdf
or
% cwm
http://www.astro.physik.uni-goettingen.de/~hessman/rdf/IVOAT/IVOAT.rdf
--filter=http://hea-www.harvard.edu/~dburke/playground/infer.n3 --rdf >
ivoa.additions.rdf
and the output files are at
http://hea-www.harvard.edu/~dburke/playground/ivoa.infer.rdf
http://hea-www.harvard.edu/~dburke/playground/ivoa.additions.rdf
where the first version is the full set of terms (ie Rick's "Tue Oct 30
09:44:06 2007" version with my additions) and the second one is just the
set of additions made.
The rules I used for this are shown below. Not exactly rocket science ;-)
Doug
[1] http://www.w3.org/2000/10/swap/doc/CwmInstall
[2] http://dig.csail.mit.edu/2007/Talks/0110-rules-tbl/
--- infer.n3 ---
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix : <http://www.Astro.physik.Uni-Goettingen.DE/~hessman/rdf/IVOAT#> .
@prefix string: <http://www.w3.org/2000/10/swap/string#>.
{
?x skos:narrower ?y .
("DJB: added skos:broader term for '" ?x.skos:prefLabel "'
(2007-OCT-30)")
string:concatenation ?s.
}
=>
{
?y skos:broader ?x ;
skos:changeNote ?s .
} .
{
?x skos:broader ?y .
("DJB: added skos:narrower term for '" ?x.skos:prefLabel "'
(2007-OCT-30)")
string:concatenation ?s.
}
=>
{
?y skos:narrower ?x ;
skos:changeNote ?s .
} .
More information about the semantics
mailing list