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?
Respuesta
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
}
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. –
¿Dónde está ese archivo OWL? ¿Cómo puedo acceder para investigar más? –
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 . –
- 1. Forma de extraer Google Sinónimos
- 2. Lectura en Mesh Algorithm and Mesh Library
- 3. ¿Cómo extraer RDF se triplica desde un archivo XML utilizando una ontología existente?
- 4. Mesh Grid Simplification
- 5. Clases/instancias en Ontología
- 6. Cómo consultar la ontología de recursos de dbpedia 'wikiPageExternalLink'
- 7. ¿Cómo crear una ontología en Java?
- 8. ¿Cómo crear una ontología en python?
- 9. ¿Cómo funcionan exactamente los sinónimos de tipo?
- 10. Lista :: Función MoreUtils mesh o 'zip'
- 11. Sugerencia de sinónimos en LyX
- 12. Biblioteca para Mesh Generation en .Net?
- 13. Uso de la ontología Protege owl en Android
- 14. ¿Hay una ontología RDF para blogs?
- 15. Ontología: BÚHO - Creando conexiones entre las clases
- 16. Lista completa de sinónimos para reducir
- 17. Cómo depurar ORA-01775: cadena de bucle de sinónimos?
- 18. explicación de "tipo ilegal de sinónimos familia"
- 19. ¿Cuándo deberían utilizarse los sinónimos de la base de datos?
- 20. cómo extraer de dispatch.json.JsObject
- 21. Declarando instancias de sinónimos de tipo parametrizado
- 22. Necesita una base de datos de sinónimos
- 23. búsqueda de sinónimos usando apache solr
- 24. SQL Server Tabla de sinónimos con índices
- 25. Cómo hacer que los sinónimos de solr funcionen
- 26. SQL Server - Consejos y trucos de sinónimos?
- 27. Reemplazar una palabra por sinónimos en Haskell
- 28. Solr - sinónimos que contienen varias palabras
- 29. ¿Cómo extraer la clave pública usando OpenSSL?
- 30. ¿Cómo extraer la estructura de árbol de la función ctree?
@ 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
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. –
@ 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