2011-05-18 28 views
6

En este nivel de mi trabajo, necesito extraer sinónimos de clase de la ontología MeSH. Estoy buscando la sintaxis correcta para la consulta SPARQL: ¿cómo se almacenan los sinónimos en MeSH? y ¿cómo puedo extraerlos?cómo extraer sinónimos de la ontología MeSH?

+1

@ safé: ¿A qué se refiere exactamente por "class synonyms"? las clases equivalentes OWL? Además, sería útil agregar a su pregunta una parte de la ontología con la que está trabajando y un ejemplo de lo que está tratando de extraer: esto ayudará a comprender lo que está haciendo y a sugerir soluciones. . – MarcoS

+0

No sé exactamente cómo se clasifican esas clases en OWL, pero estoy seguro de que no son equivalentes. Por ejemplo, cuando se usa el navegador MeSH y se agrega "cáncer" como consulta, toda la información devuelta es sobre "neoplasma" porque en MeSH "cáncer" y "neoplasia" son sinónimos [enlace] (http: //www.nlm.nih. gov/cgi/mesh/2011/MB_cgi? mode = & index = 8969 & view = concept) (ver los conceptos relacionados). Sin embargo, no sé cómo se describe esta relación en OWL y cómo extraerla usando sparql. –

+0

@ safé: me temo que no puedo ayudarte. Para escribir una consulta SPARQL debe conocer la estructura del gráfico RDF que desea consultar. Puede consultar una ontología OWL, siempre que sepa cómo está organizada (y, por lo tanto, cómo se ve su serialización RDF). Recomiendo que descubra la estructura de la ontología "MeSH" y luego vuelva a formular su pregunta. Como es en este momento es como preguntar "¿cómo puedo extraer información de una base de datos que no sé cómo se hace"? ... imposible :) – MarcoS

Respuesta

8

No estoy seguro de lo que quiere decir con sinónimos. Pero después de mirar la ontología MeSH (descargada de here). Funciono con la siguiente consulta para enumerar todos los diferentes predicados:

SELECT DISTINCT ?p where { ?s ?p ?o } 

... y me sale ...

<http://www.w3.org/2004/02/skos/core#historyNote> 
<http://www.nlm.nih.gov/mesh/2006#considerAlso> 
<http://www.nlm.nih.gov/mesh/2006#recordAuthorizer> 
<http://www.nlm.nih.gov/mesh/2006#dateEstablished> 
<http://www.nlm.nih.gov/mesh/2006#dateCreated> 
<http://www.nlm.nih.gov/mesh/2006#onlineNote> 
<http://www.nlm.nih.gov/mesh/2006#activeMeSHYear> 
<http://www.nlm.nih.gov/mesh/2006#historyNote> 
<http://www.w3.org/2004/02/skos/core#related> <<<--- 
<http://www.w3.org/2004/02/skos/core#broader> <<<--- 
<http://www.nlm.nih.gov/mesh/2006#recordMaintainer> 
<http://www.w3.org/2004/02/skos/core#scopeNote> 
<http://www.w3.org/2004/02/skos/core#altLabel> 
<http://www.w3.org/2004/02/skos/core#prefLabel> 
<http://www.nlm.nih.gov/mesh/2006#preferredCombination> <<<--- 
<http://www.nlm.nih.gov/mesh/2006#publicMeSHNote> 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 
<http://www.w3.org/2004/02/skos/core#annotation> 
<http://www.w3.org/2004/02/skos/core#hiddenLabel> 
<http://www.nlm.nih.gov/mesh/2006#recordOriginator> 
<http://www.nlm.nih.gov/mesh/2006#runningHead> 
<http://www.nlm.nih.gov/mesh/2006#dateRevised> 

... los predicados con <<<--- me hacen supongo algún tipo de relación entre los recursos especie .

Por ejemplo si tratamos skos:related con la siguiente consulta:

PREFIX skos: <http://www.w3.org/2004/02/skos/core#> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 

SELECT ?slabel ?olabel 
WHERE { 
    ?s skos:related ?o . 
    ?s skos:prefLabel ?slabel . 
    ?o skos:prefLabel ?olabel . 
} 

tenemos cosas por el estilo ...

"Anesthetics" "Adjuvants, Anesthesia" 
"Prostatic Neoplasms" "Prostate-Specific Antigen" 
"Elbow" "Tennis Elbow" 
"Uterine Hemorrhage" "Menorrhagia" 
"Ecology" "Environmental Health" 
"Endocarditis, Bacterial" "Aneurysm, Infected" 
(.... and many more) 

Si intenta skos:broader con la siguiente consulta (prefijos omitidas). Observe que skos:broader se utiliza para definir jerarquías de conceptos, por lo que tiene una semántica diferente de skos:related

SELECT ?slabel ?olabel 
WHERE { 
    ?s skos:broader ?o . 
    ?s skos:prefLabel ?slabel . 
    ?o skos:prefLabel ?olabel . 
} 

se obtiene ...

"Healthy People Programs" "Health Promotion" 
"Suggestion" "Hypnosis" 
"Sodium Iodide" "Iodides" 
"Unnecessary Procedures" "Health Services Misuse" 
"Bornanes" "Norbornanes" 
"Prajmaline" "Ajmaline" 
"Vestibular Nerve" "Vestibulocochlear Nerve" 
"Adenolymphoma" "Neoplasms, Complex and Mixed" 
"Child, Gifted" "Child, Exceptional" 
"Tooth Germ" "Tooth Components" 
"Breast Self-Examination" "Self-Examination" 
(... and many more) 

En pocas palabras, si usted no sabe la carrera esquema some exploratory queries y tratar de ver lo que hay allí.

Editar: Oferta de los archivos OWL

@ segura creo que tiene razón, no hay este tipo de relaciones entre las clases del archivo OWL está utilizando.

La siguiente consulta le da todas las clases de OWL:

SELECT DISTINCT ?p WHERE { ?s a <http://www.w3.org/2002/07/owl#Class> . } 

... y este otro da todos los predicados utilizados en cualquier clase:

SELECT DISTINCT ?p WHERE { 
    ?s a <http://www.w3.org/2002/07/owl#Class> . 
    ?s ?p ?o } 

... esta última consulta solamente devuelve:

<http://www.w3.org/2000/01/rdf-schema#subClassOf> 
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type> 

en realidad, en ese archivo OWL sólo tienen cosas como:

<http://org.snu.bike/MeSH#antimony_sodium_gluconate> rdf:type owl:Class . 

y ...

<http://org.snu.bike/MeSH#antimony_sodium_gluconate> rdfs:subClassOf <http://org.snu.bike/MeSH#gluconate>. 

Esto significa que la única cosa que se declara en ese archivo OWL es una jerarquía de clases y hay sinónimos son declarados.

Si de alguna manera desea extraer todas las subclases, haga ...

SELECT * WHERE { 
?subClass <http://www.w3.org/2000/01/rdf-schema#subClassOf> ?upperClass 
} 
+0

Lo que escribe aquí es interesante, sin embargo, la ontología que utilizó está guardada en un archivo rdf, mientras que necesito usar un archivo OWL porque también estoy extrayendo clases y subclases. –

+0

¿Dónde está ese archivo OWL? ¿Cómo puedo acceder para investigar más? –

+0

Aquí está el archivo OWL que estoy usando [link] (http://bike.snu.ac.kr/sites/default/files/meshonto.owl) pero no creo que esto contenga las relaciones que estoy buscando . –

Cuestiones relacionadas