- From: Miles, AJ \(Alistair\) <A.J.Miles@rl.ac.uk>
- Date: Mon, 11 Jul 2005 19:39:41 +0100
- To: "Robert Watkins" <rwatkins@foo-bar.org>, "Leonard Will" <L.Will@willpowerinfo.co.uk>
- Cc: <public-esw-thes@w3.org>
I think I understand the problem (please correct me if I haven't), how about this for a solution ... The fundamental statement that is being made in document metadata is something like, 'the subject of document X is (concept Y qualified by concept Z)'. The crucial bit is the parentheses. This could be represented in RDF with some invented SKOS extensions, e.g. (remembering that all QNames e.g. 'md:Calcimycin' are abbreviations of URIs e.g. 'http://www.nlm.nig.gov/mesh/descriptors#Calcimycin') ... --- Notation3 @prefix skos: <http://www.w3.org/2004/02/skos/core#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix mesh: <http://www.nlm.nig.gov/mesh/schema#> . @prefix md: <http://www.nlm.nig.gov/mesh/descriptors#> . @prefix mq: <http://www.nlm.nig.gov/mesh/qualifiers#> . <http://www.example.com/someDocument> skos:subject [ a mesh:CompoundConcept; mesh:main md:Calcimycin; mesh:qualifier mq:standards; ]; skos:subject [ a mesh:CompoundConcept; mesh:main md:Leukemia; mesh:qualifier mq:complications; ]; . --- Now if you asked the question ... --- SPARQL SELECT ?x WHERE { ?x skos:subject [ mesh:main md:Calcimycin; mesh:qualifier mq:complications; ]. } --- ... you *would not* get <http://www.example.com/someDocument> as a binding for ?x. I.e. you would not get false hits. This needs a bit more explanation. The invented vocab in the example above would be described as ... --- Notation3 (same prefixes) mesh:CompoundConcept a rdfs:Class; rdfs:subClassOf skos:Concept; . mesh:main a rdf:Property; a owl:FunctionalProperty; rdfs:subPropertyOf skos:broader; rdfs:domain mesh:CompoundConcept; . mesh:qualifier a rdf:Property; a owl:FunctionalProperty; rdfs:subPropertyOf skos:broader; rdfs:domain mesh:CompoundConcept; . --- The really sneaky bit here is to make the properties mesh:qualifier and mesh:main sub-properties of skos:broader. What this means is that a *generic* query expansion algorithm working over the skos:broader property could cope with a subject index with compound concepts (i.e. a pre-coordinate index). E.g. a query expansion rule like ... --- (Jena rule) (?i skos:subject ?x) (?x skos:broader ?y) -> (?i skos:subject ?y) --- ... would mean that the query ... --- SPARQL SELECT ?x WHERE { ?x skos:subject md:Calcimycin . } --- ... *would* return <http://www.example.com/someDocument> as a binding for ?x given only the initial statements made at the top of this mail. Crucially, the search interface must help the user to construct the query, and capture the true semantics of the query, and the database where the index is stored must also capture the true semantics of the indexing statements. Sorry this is full of code syntax, I'd be happy to explain in prose too. Am I heading in the right sort of direction? Cheers, Al. > -----Original Message----- > From: public-esw-thes-request@w3.org > [mailto:public-esw-thes-request@w3.org]On Behalf Of Robert Watkins > Sent: 11 July 2005 16:48 > To: Leonard Will > Cc: public-esw-thes@w3.org > Subject: Re: SKOS and MeSH qualifiers > > > > On Mon, 11 Jul 2005, Leonard Will wrote: > > > A complication is that many terms which exist as MeSH > qualifiers also > > exist as MeSH descriptors (e.g. economics, education, drug > therapy, ... > > ). Some concepts (e.g. adverse effects) exist only as qualifiers. > > > > I think that it is undesirable to have the same concept > occurring twice > > in a scheme, once as a descriptor and once as a qualifier. Do we > > therefore have to have an additional property attached to > those which > > are only to be used as qualifiers, specifying something > like "do not use > > as the first-cited, or only, term in a string". > > > Would it not be possible/appropriate to use (borrowing heavily from > Alistair Miles' earlier example): > > @prefix skos: <http://www.w3.org/2004/02/skos/core#> . > @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . > @prefix mesh: <http://www.nlm.nig.gov/mesh/schema#> . > @prefix md: <http://www.nlm.nig.gov/mesh/descriptors#> . > @prefix mq: <http://www.nlm.nig.gov/mesh/qualifiers#> . > > mesh:descriptor a rdf:Class; > rdfs:subClassOf skos:Concept; > > mesh:qualifier a rdf:Class; > rdfs:subClassOf skos:Concept; > > md:economics a skos:Concept; > rdf:type mesh:descriptor; > rdf:type mesh:qualifier; > > mq:"adverse effects" a skos:Concept; > rdf:type mesh:qualifier; > > or possibly: > > md:economics a mesh:descriptor; > rdf:type mesh:qualifier; > > mq:"adverse effects" a mesh:qualifier; > > -- Robert > > -------------------- > Robert Watkins > rwatkins@foo-bar.org > -------------------- > > >
Received on Monday, 11 July 2005 18:39:47 UTC