1

I am trying to get all synonyms for anatomical terms from NCBI's MeSH, but it seems like the low(est?) level terms are being omitted.

"NK cell" is definitely a synonym for "Killer Cells, Natural", http://purl.bioontology.org/ontology/MESH/D007694, which is a descendant of the MeSH "Anatomy Category" http://purl.bioontology.org/ontology/MESH/U000002

http://www.ncbi.nlm.nih.gov/mesh/68007694

I have loaded the triples from http://bioportal.bioontology.org/ontologies/MESH into a Virtuoso server in AWS/EC2.

"NK cell" does not appear in a query of all subclasses from mesh:U000002:

PREFIX mesh: <http://purl.bioontology.org/ontology/MESH/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
select ?s ?o where {
    ?s skos:altLabel ?o
    { select ?s
    where {
            { ?s rdfs:subClassOf* mesh:U000002  } .
        }
    }
}

Could there be

  • some recursion limits or max # rows limits in Virtuoso?
  • something peculiar about MeSH ?

"NK cell" does appear in a query starting just one level lower, "Cells", http://purl.bioontology.org/ontology/MESH/D002477.

PREFIX mesh: <http://purl.bioontology.org/ontology/MESH/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
select ?s ?o where {
    ?s skos:altLabel ?o
    { select ?s
    where {
            { ?s rdfs:subClassOf* mesh:D002477  } .
        }
    }
}
scotthenninger
  • 3,921
  • 1
  • 15
  • 24
Mark Miller
  • 3,011
  • 1
  • 14
  • 34

1 Answers1

2

I increased ResultSetMaxRows in the [SPARQL] section of virtuoso.ini from 10,000 to 100,000.

My query for all anatomical synonyms is now roughly 35,000 rows long and includes "NK cell"

There were several virtuoso.ini files in my system. I edited /opt/virtuoso-opensource/var/lib/virtuoso/db/virtuoso.ini

Mark Miller
  • 3,011
  • 1
  • 14
  • 34