#sparql #owl #graphdb
#sparql #owl #graphdb
Вопрос:
Я хотел бы использовать ChEBI, чтобы определить, какие молекулярные образования можно считать «таксанами» на неофициальном языке, который используют врачи.
Анатомическая и терапевтическая классификация относит как доцетаксел, так и паклитаксел к классу L01CD «Таксаны», но в ChEBI пути включают как отношения подклассов 'has parent hydride' some 'taxane'
, так и отношения, с точки зрения OWL. Следующий SPARQL находит как docetaxel, так и paclitaxel
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
select * where {
?drug (rdfs:subClassOf|owl:someValuesFrom)*
<http://purl.obolibrary.org/obo/CHEBI_36064> .
optional {
?drug rdfs:label ?l .
}
}
order by ?l
Я явно не требую здесь, чтобы owl:someValuesFrom
предикат применялся к an owl:Restiction
в rdfs:subClassOf
пути. Как я могу ограничить этот запрос, чтобы только определенные owl:onProperty
s (например, «имеет родительский гидрид») разрешались в сочетании с этим неявным owl:Restriction
?
Я боюсь, что этот запрос опасно не указан, как он есть.
Комментарии:
1. Вы имеете в виду что-то вроде:
?x rdfs:subClassOf [ owl:onProperty <aCertainProperty>; owl:someValuesFrom ?y ] .
но где someValueFrom может быть вложенностью ограничений, которая в конечном итоге заканчивается:CHEBI_36064
?2. @AntoineZimmermann это звучит правильно. Я знаю, что пути ChEBI от docetaxel или paclitaxel до taxane просто включают
rdfs:subClassOf
owl:someValuesFrom
отношения и . Я хотел бы обобщить этот шаблон (и, возможноowl:intersection
, также обойти s).) Я уверен, что атрибуты таксанов являются транзитивными по отношению к ограничениям «имеет родительский гидрид»owl:onProperty
, но я хотел бы отфильтровать или, по крайней мере, сообщить обо всех другихowl:onProperty
свойствах, которые могут быть вложены / соединены вместе. Вероятноowl:onProperty
, есть s, по которым свойства taxane не будут унаследованы.