Как автоматически извлекать выражения формы из троек RDF?

#rdf #turtle-rdf #shex

#rdf #turtle-rdf #shex

Вопрос:

Я начал использовать выражения формы для описания моделей Resource Description Framework (RDF). Как я могу извлечь черновик ShEx из образца RDF, например:

 <http://identifiers.org/ensembl/ENSG00000174358>
        a                   wp:DataNode , wp:GeneProduct ;
        rdfs:label          "SLC6A19"^^xsd:string ;
        dc:identifier       <http://identifiers.org/ensembl/ENSG00000174358> ;
        dc:source           "Ensembl"^^xsd:string ;
        dcterms:identifier  "ENSG00000174358"^^xsd:string ;
        dcterms:isPartOf    <http://rdf.wikipathways.org/Pathway/WP4846_r111364/Complex/dca52> , <http://identifiers.org/wikipathways/WP4846_r111364> ;
        wp:bdbEnsembl       <http://identifiers.org/ensembl/ENSG00000174358> ;
        wp:bdbEntrezGene    <http://identifiers.org/ncbigene/340024> ;
        wp:bdbHgncSymbol    <http://identifiers.org/hgnc.symbol/SLC6A19> ;
        wp:bdbUniprot       <http://identifiers.org/uniprot/E9PD72> , <http://identifiers.org/uniprot/Q695T7> ;
        wp:isAbout          <http://rdf.wikipathways.org/Pathway/WP4846_r111364/DataNode/b57e7> 
  

Ответ №1:

Вы могли бы использовать sheXer. Онлайн-демонстрация доступна по адресуhttp://shexer.weso.es /. Ваш пример не будет работать из-за неопределенных префиксов, но он должен работать после добавления объявлений префиксов.

sheXer, по умолчанию, строит форму для каждого класса на предоставленном графике. Если вы хотите получить форму одного узла, вы можете отметить «Shape map» в разделе «Целевые фигуры» и предоставить что-то вроде этого: <http://identifiers.org/ensembl/ENSG00000174358 >@<ShapeLabelForYourNode>.

Вы можете найти инструкции внизу страницы. Библиотеку python, которая используется в демо, можно найти в репозитории sheXer. Я являюсь основным разработчиком и сопровождающим. Пожалуйста, свяжитесь со мной, если обнаружите какую-либо проблему.