У меня есть графики RDF, многие из которых имеют свойство схемы классов: SoftwareSourceCode Я хотел бы найти все классы схемы типов: Person, которые находятся внутри этого свойства.SPARQL Найти определенные классы в классе
Пример источника в yaml, который преобразуется в RDF.
class: schema:SoftwareSourceCode
schema:publication:
- class: schema:ScholarlyArticle
id: urn:pmid:24371156
schema:name: "ALEA: a toolbox for allele-specific epigenomics analysis Bioinformatics (2014) 30 (8): 1172-1174."
schema:author:
- class: schema:Person
schema:name: "Hamid Younesy"
- class: schema:Person
schema:name: "Torsten Moller"
- class: schema:Person
schema:name: "Alireza Heravi-Moussavi"
- class: schema:Person
schema:name: "Jeffrey B. Cheng"
- class: schema:Person
schema:name: "Joseph F. Costello"
- class: schema:Person
schema:name: "Matthew C. Lorincz"
- class: schema:Person
id: mailto:[email protected]
- class: schema:Person
schema:name: "Steven J. M. Jones"
schema:sameAs:
- http://dx.doi.org/10.1093/bioinformatics/btt744
- http://bioinformatics.oxfordjournals.org/content/30/8/1172.long
schema:author:
- class: schema:Person
id: mailto:[email protected]
schema:name: "Mohammad Karimi"
schema:email: mailto:[email protected]
schema:url: http://www.bcgsc.ca/author/mkarimi
schema:worksFor:
- class: schema:Organization
schema:name: "Canada's Michael Smith Genome Sciences Centre, BC Cancer Agency, Vancouver, British Columbia, V5Z 4S6, Canada"
- class: schema:Organization
schema:name: "Department of Medical Genetics, Life Sciences Institute, The University of British Columbia, Vancouver, British Columbia, V6T 1Z3, Canada"
я застрял со следующим запросом. Он может найти класс схемы: Человек в прямой схеме собственности: автор, но не в схеме: публикация
PREFIX schema: <http://schema.org/>
SELECT ?file ?SC ?name
WHERE {
graph ?file {
?SC a schema:SoftwareSourceCode .
?Person a schema:Person;
schema:name ?name .
?SC ?p ?Person .
}
}
#LIMIT 25
Детская площадка для запроса https://sparql-test.commonwl.org/
Я просто новый для SPARQL и RDF. Поэтому я сделал несколько примеров с foaf/doap/adms/schema. Теперь, я пытаюсь выяснить, использую ли я схему, насколько гибким может быть все. На schema.org говорят, что схема: автор и схема: создатели одинаковы. Поэтому я просто использовал оба файла в разных файлах. –
Итак, чтобы перевести на язык, я хотел бы найти всех Лица, которые участвуют в SoftwareCodeContribution. Это может быть список авторов, вкладчиков, разработчиков, а также тех, кто участвует в публикации. Таким образом, единственный ключ, чтобы найти все из них - это схема классов: Person используется. –