Skip to content
This repository has been archived by the owner on Sep 24, 2019. It is now read-only.

RDF Conversion for BEL Script Internal Annotations #106

Open
juliakozlovsky opened this issue Feb 16, 2016 · 2 comments
Open

RDF Conversion for BEL Script Internal Annotations #106

juliakozlovsky opened this issue Feb 16, 2016 · 2 comments
Milestone

Comments

@juliakozlovsky
Copy link

juliakozlovsky commented Feb 16, 2016

Conversion to RDF for internal annotations (PATTERN and LIST annotations) was never implemented. As a result, those annotations can be in the source BEL file, but not in the converted RDF.

Question to discuss: how should those annotations be represented/modeled in RDF?

Example:

DEFINE ANNOTATION ExternalID AS LIST {"-12345","6789"}
SET ExternalID = "-12345"
SET Evidence = "Some Evidence String"
SET Citation = {"PubMed","12-O-tetradecanoyl-phorbol-13-acetate-induced ACTH secretion in pituitary tumor cells.","6325215","","Heisler S","European journal of pharmacology 1984 Feb 17;98(2):177-83"}

@abargnesi
Copy link
Member

For LIST we could model as a skos:ConceptScheme. This annotation resource could even be a blank node, document relative, or UUID URI since it is internal to the document.

In RDF turtle we might say:

@prefix skos: <http://www.w3.org/2004/02/skos/core#> .

# Document relative URI for ExternalID concept scheme.
<#annotations-externalID>
        a               belv:AnnotationConceptScheme , skos:ConceptScheme ;
        belv:prefix     "ExternalID" ;
        skos:prefLabel  "External Identifiers" .

# Blank node representing the -12345 value as a concept.
_:externalID_1  a           belv:AnnotationConcept , skos:Concept , rdfs:Resource ;
        skos:inScheme       <#annotations-externalID> ;
        dcterms:identifier  "-12345" ;
        skos:prefLabel      "-12345" .

# Blank node representing the 6789 value as a concept.
_:externalID_2  a           belv:AnnotationConcept , skos:Concept , rdfs:Resource ;
        skos:inScheme       <#annotations-externalID> ;
        dcterms:identifier  "6789" ;
        skos:prefLabel      "6789" .

It starts to look the same as how we model external namespaces and annotation as SKOS Concept Schemes apart from the anonymous vs well-known resource URIs.


For PATTERN annotation it does not seem to fit in as a SKOS thesaurus. It feels like a type of belv Annotation but with a regular expression literal. For example identifiers.org created their own RDF property to convey a regular expression pattern:

@prefix dcat:    <http://www.w3.org/ns/dcat#> .
@prefix dcterms:  <http://purl.org/dc/terms/> .
@prefix idot:    <http://identifiers.org/terms#> .

<http://www.ebi.ac.uk/miriam/main/collections/MIR:00000022>
      a                                   dcat:CatalogRecord ;
      idot:idRegexPattern     "^GO:\\d{7}$"^^<http://www.w3.org/2001/XMLSchema#string> ;
      idot:namespace           "go"^^<http://www.w3.org/2001/XMLSchema#string> ;
      dcterms:alternative      "GO"^^<http://www.w3.org/2001/XMLSchema#string> ;
      dcat:title                       "Gene Ontology"^^<http://www.w3.org/2001/XMLSchema#string> .

The idRegexPattern name alone conveys the regular expression type since XML Schema doesn't offer a regular expression type.

Maybe there are other vocabularies that can represent regular expressions directly?

@abargnesi abargnesi added the RDF label Feb 23, 2016
@mhsano
Copy link

mhsano commented Feb 26, 2016

We have BEL content where we do not have these custom annotations defined in a LIST
It would be essential to link custom annotations to a statemente. e.g.

http://www.openbel.org/bel/A_increases_B http://www.openbel.org/vocabulary/hasAnnotation
http://www.openbel.org/bel/annotation/ExternalID/-12345.

this would be similar to e.g. Species or Cell-Line annotations.

@abargnesi abargnesi modified the milestones: 0.6.1, 0.7.0 Mar 16, 2016
@abargnesi abargnesi added the ready label May 3, 2016
@abargnesi abargnesi modified the milestones: 0.7.0, 1.0.0 May 18, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants