同じpredicateで違うタイプのオブジェクトがぶら下がるタイプのクエリが生成できない
inutano opened this issue · 0 comments
inutano commented
こういうモデルがあり
- BioSample idorg_biosample:SAMD00222921:
- a: biosample_ont:BioSampleRecord
- rdfs:seeAlso+:
- sra_study: SRAStudy
- rdfs:seeAlso+:
- sra_experiment: SRAExperiment
- SRAStudy idorg_sra:DRP006105:
- a: dra_ont:Study
- SRAExperiment idorg_sra:DRX216152:
- a: dra_ont:Experiment
こういうSPARQLを生成してほしい
SELECT ?BioSample ?SRAStudy ?SRAExperiment
WHERE {
?BioSample a biosample_ont:BioSampleRecord ;
rdfs:seeAlso ?SRAStudy ;
rdfs:seeAlso ?SRAExperiment .
?SRAStudy a dra_ont:Study .
?SRAExperiment a dra_ont:Experiment .
}
なのでこういうconfigを書いて
get_object_relation:
description: Get related SRA data objects
variables: [BioSample, sra_study, sra_experiment]
docker run --rm -it -v $(pwd):/config dbcls/rdf-config:snapshot-532ad10 rdf-config --config /config --sparql get_object_relation
してみたところ
SELECT ?BioSample ?SRAStudy ?SRAExperiment
WHERE {
?BioSample a biosample_ont:BioSampleRecord ;
rdfs:seeAlso ?SRAStudy ;
rdfs:seeAlso ?SRAExperiment .
}
こうなってしまってタイプが指定されないので意図した結果になりません。