I'm new to SPARQL. I would like to get the preferred name of classes and their one top level upper classes and also their synonyms in the Radlex ontology, as hosted at BioPortal.
And The Output I want to see: output
Term: equal density subClassOf: density descriptor Synonym: isodens, equal-density,isodense
It looks like, the code below solved my problem, but still requires some modification. Because, it brings all off the upper classes but I only want one level upper class.
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?concept ?subClassOf
WHERE
{ GRAPH <http://bioportal.bioontology.org/ontologies/RADLEX_OWL>
{ ?term a <http://bioontology.org/projects/ontologies/radlex/radlexOwl#radlex_metaclass> ;
<http://bioontology.org/projects/ontologies/radlex/radlexOwl#Preferred_name> ?concept
}
?term rdfs:subClassOf ?upperClass.
?upperClass <http://bioontology.org/projects/ontologies/radlex/radlexOwl#Preferred_name> ?subClassOf.
} LIMIT 10 OFFSET 10
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX radlex: <http://bioontology.org/projects/ontologies/radlex/radlexOwlDlComponent#>
SELECT DISTINCT ?term ?name ?synonym ?subClassOf ?subClassOf_name
FROM <http://bioportal.bioontology.org/ontologies/RID>
WHERE
{
?term radlex:Preferred_name ?name .
?term radlex:Synonym ?synonym .
?term rdfs:subClassOf ?subClassOf .
?subClassOf radlex:Preferred_name ?subClassOf_name
} LIMIT 10