vcfr:VCFFileShape

SHACL NodeShapeReferenced in SHACL
IRI: https://w3id.org/vcf-rdfizer/vocab#VCFFileShape
Label: -
Description: No ontology comment available.

Ontology Relationships

This term is not declared as an ontology term in the current graph export.

Outgoing
RelationPredicateTarget
None
Incoming
RelationPredicateSource
None

Repository Usage

References to vcfr:VCFFileShape across tracked repo files.

Source FileHitsPages View
docs/assets/vcf-rdfizer-vocabulary.shacl.ttl 1 Open
docs/ontology-reference.html 1 Open
shacl/vcf-rdfizer-vocabulary.shacl.ttl 1 Open

SHACL Snippet

vcfr:VCFFileShape a sh:NodeShape ;
  sh:targetClass vcfr:VCFFile ;

  sh:property [
    sh:path vcfr:hasHeader ;
    sh:minCount 1 ;
    sh:maxCount 1 ;
    sh:class vcfr:VCFHeader ;
  ] ;

  sh:property [
    sh:path vcfr:fileFormat ;
    sh:minCount 1 ;
    sh:datatype xsd:string ;
  ] ;

  sh:property [
    sh:path vcfr:referenceGenome ;
    sh:minCount 0 ;
    sh:datatype xsd:string ;
  ] ;

  sh:property [
    sh:path vcfr:fileDate ;
    sh:minCount 0 ;
    sh:datatype xsd:date ;
  ] ;

  sh:property [
    sh:path vcfr:hasRecord ;
    sh:minCount 0 ;
    sh:class vcfr:VCFRecord ;
  ] .

#################################################################
# Header shape
#################################################################

vcfr:VCFHeaderShape a sh:NodeShape ;
  sh:targetClass vcfr:VCFHeader ;

  sh:property [
    sh:path vcfr:hasHeaderLine ;
    sh:minCount 1 ;
    sh:class vcfr:HeaderLine ;
  ] .

#################################################################
# INFO/FORMAT definition shapes (coverage of key attributes)
#################################################################

vcfr:InfoFieldDefinitionShape a sh:NodeShape ;
  sh:targetClass vcfr:InfoFieldDefinition ;

  sh:property [ sh:path vcfr:fieldId ; sh:minCount 1 ; sh:datatype xsd:string ] ;
  sh:property [ sh:path vcfr:fieldNumber ; sh:minCount 1 ; sh:datatype xsd:string ] ;
  sh:property [ sh:path vcfr:fieldDescription ; sh:minCount 1 ; sh:datatype xsd:string ] .

vcfr:FormatFieldDefinitionShape a sh:NodeShape ;
  sh:targetClass vcfr:FormatFieldDefinition ;

  sh:property [ sh:path vcfr:fieldId ; sh:minCount 1 ; sh:datatype xsd:string ] ;
  sh:property [ sh:path vcfr:fieldNumber ; sh:minCount 1 ; sh:datatype xsd:string ] ;
  sh:property [ sh:path vcfr:fieldDescription ; sh:minCount 1 ; sh:datatype xsd:string ] .

#################################################################
# VCFRecord + VariantCall shapes
#################################################################

vcfr:VCFRecordShape a sh:NodeShape ;
  sh:targetClass vcfr:VCFRecord ;

  sh:property [ sh:path vcfr:chrom ; sh:minCount 1 ; sh:datatype xsd:string ] ;
  sh:property [ sh:path vcfr:pos ; sh:minCount 1 ; sh:datatype xsd:integer ] ;
  sh:property [ sh:path vcfr:ref ; sh:minCount 1 ; sh:datatype xsd:string ] ;
  sh:property [ sh:path vcfr:alt ; sh:minCount 1 ; sh:datatype xsd:string ] ;

  sh:property [
    sh:path vcfr:hasCall ;
    sh:minCount 0 ;
    sh:class vcfr:VariantCall ;
  ] ;

  sh:property [
    sh:path vcfr:asSequenceAlteration ;
    sh:minCount 0 ;
    sh:class so:0001059 ;
  ] .

vcfr:VariantCallShape a sh:NodeShape ;
  sh:targetClass vcfr:VariantCall ;

  sh:property [
    sh:path vcfr:qual ;
    sh:minCount 0 ;
    sh:or (
      [ sh:datatype xsd:decimal ]
      [ sh:datatype vcfr:Null ]
    ) ;
  ] ;

  sh:property [
    sh:path vcfr:filter ;
    sh:minCount 0 ;
    sh:or (
      [ sh:datatype xsd:string ]
      [ sh:datatype vcfr:Null ]
    ) ;
  ] ;

  sh:property [
    sh:path vcfr:hasInfoValue ;
    sh:minCount 0 ;
    sh:class vcfr:InfoFieldValue ;
  ] ;

  sh:property [
    sh:path vcfr:hasSampleCall ;
    sh:minCount 0 ;
    sh:class vcfr:SampleCall ;
  ] .

#################################################################
# SampleCall shape
#################################################################

vcfr:SampleCallShape a sh:NodeShape ;
  sh:targetClass vcfr:SampleCall ;

  sh:property [ sh:path vcfr:sampleId ; sh:minCount 1 ; sh:datatype xsd:string ] ;
  sh:property [ sh:path vcfr:hasFormatValue ; sh:minCount 0 ; sh:class vcfr:FormatFieldValue ] .

#################################################################
# INFO/FORMAT value shapes
#################################################################

vcfr:InfoFieldValueShape a sh:NodeShape ;
  sh:targetClass vcfr:InfoFieldValue ;

  sh:property [
    sh:path vcfr:fieldValue ;
    sh:minCount 0 ;
    sh:or (
      [ sh:datatype xsd:string ]
      [ sh:datatype vcfr:Null ]
    ) ;
  ] ;
  sh:property [ sh:path vcfr:declaredBy ; sh:minCount 0 ; sh:class vcfr:InfoFieldDefinition ] .

vcfr:FormatFieldValueShape a sh:NodeShape ;
  sh:targetClass vcfr:FormatFieldValue ;

  sh:property [
    sh:path vcfr:fieldValue ;
    sh:minCount 0 ;
    sh:or (
      [ sh:datatype xsd:string ]
      [ sh:datatype vcfr:Null ]
    ) ;
  ] ;
  sh:property [ sh:path vcfr:declaredBy ; sh:minCount 0 ; sh:class vcfr:FormatFieldDefinition ] .