# jPOSTdb https://globe.jpostdb.org/

sparql:
  endpoint: https://tools.jpostdb.org/proxy/sparql

prefixes:
  rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
  rdfs: http://www.w3.org/2000/01/rdf-schema#
  xsd: http://www.w3.org/2001/XMLSchema#
  obo: http://purl.obolibrary.org/obo/
  sio: http://semanticscience.org/resource/
  faldo: http://biohackathon.org/resource/faldo#
  skos: http://www.w3.org/2004/02/skos/core#
  uniprot: http://purl.uniprot.org/core/
  taxonomy: http://identifiers.org/taxonomy/
  jpost: http://rdf.jpostdb.org/ontology/jpost.owl#


subjects:
  jpost:Project:
    attributes:
      type: jpost:Project
      label: "jPOST project"
    predicates:
      jpost:hasDataset:
        object:
          type: jpost:Dataset
          example: "jPOST dataset"
      dct:identifier:
        object:
          type: xsd:string
          example: "A project identifier"
          index: true
      dct:description:
        object:
          type: xsd:string
          example: "A project description"
          index: true
      dct:title:
        object:
          type: xsd:string
          example: "A project title"
          index: true
      rdfs:seeAlso:
        object:
          type: a ProteomeXchange dataset URI
          example: "A ProteomeXchange dataset URI"
  jpost:Dataset:
    attributes:
      type: jpost:Dataset
      label: "jPOST dataset"
    predicates:
      dct:identifier:
        object:
          type: xsd:string
          example: "A dataset identifier"
          index: true
      jpost:hasProfile:
        object:
          type: jpost:Profile
          example: "An experiment profile"
      jpost:hasPeptide:
        object:
          type: jpost:Peptide
          example: "An identified peptide"
      jpost:hasProtein:
        object:
          type: jpost:Protein
          example: "An identified protein"
      sio:SIO_000216:
        object:
          type: jpost:NumOfRawData or jpost:NumOfSpectra or jpost:NumOfPrms or jpost:NumOfPeptides or jpost:NumOfMatchedProteins or jpost:NumOfLeadingProtein or jpost:NumOfProteinsWithUniquePeptide
          example: "A measurement value"
  jpost:Peptide:
    attributes:
      type: jpost:Peptide
      label: "peptide"
    predicates:
      dct:identifier:
        object:
          type: xsd:string
          example: "A peptide identifier"
      jpost:hasSequence:
        object:
          type: obo:MS_1001344
          example: "An amino acids sequence"
      jpost:hasPsm:
        object:
          type: jpost:PeptideSpectrumMatch
          example: "A peptide spectrum match"
      jpost:hasMatchingType:
        object:
          type: jpost:MatchingType
          example: "A matching type of peptide spectrum match"
  jpost:Modification:
    attributes:
      type: jpost:Modification
      example: "A sequence modification"
    predicates:
      jpost:modificationSite:
        object:
          type: xsd:string
          example: "A sequence site"
      faldo:location:
        object:
          type: faldo:ExactPotison
          example: "A position of modification"
  jpost:PeptideSpectrumMatch:
    attributes:
      type: jpost:PeptideSpectrumMatch
      label: "peptide spectrum match"
    predicates:
      dct:identifier:
        object:
          type: xsd:string
          example: "A PSM identifier"
      jpost:hasSpectrum:
        object:
          type: jpost:Spectrum
          example: "A spectrum"
      jpost:hasModification:
        object:
          type: jpost:Modification
          example: "A modification"
      sio:SIO_000216:
        object:
          type: jpost:JpostScore or jpost:CalculatedMassToCharge or jpost:ExperimentalMassToCharge or jpost:RelativeQuantitativeValue or jpost:AbsoluteQuantitativeValue or obo:MS_1001171 or obo:MS_1000041
          example: "A measurement value"
  jpost:Protein:
    attributes:
      type: jpost:Protein
      label: "protein"
    predicates:
      dct:identifier:
        object:
          type: xsd:string
          example: "A protein identifier"
      rdfs:label:
        object:
          type: xsd:string
          example: "A protein label (UniProt accession)"
      jpost:hasIsoform:
        object:
          type: jpost:ProteinIsoform
          example: "A protein isoform"
      jpost:hasPeptideEvidence:
        object:
          type: jpost:PeptideEvidence
          example: "A peptide evidence"
      rdfs:seeAlso:
        object:
          type: uniprot:Protein
          example: "An UniProt entry"
  jpost:PeptideEvidence:
    attributes:
      type: jpost:PeptideEvidence
      label: "peptide evidence"
    predicates:
      jpost:hasPeptide:
        object:
          type: jpost:Peptide
          example: "An identified peptide"
      faldo:location:
        object:
          type: faldo:Reagion
          example: "peptide mapped reagion within the protein"
  jpost:Profile:
    attributes:
      type: jpost:Profile
      label: "profile"
    predicates:
      jpost:hasSample:
        object:
          type: jpost:Sample
          example: "A dataset sample preset"
      jpost:hasFractionation:
        object:
          type: jpost:Fractionation
          example: "A dataset fractionation preset"
      jpost:hasEnzymeAndModification:
        object:
          type: jpost:EnzymeAndModification
          example: "A cleavage enzymes and modifications for database search preset"
      jpost:hasMsMode:
        object:
          type: jpost:MsMode
          example: "A experiment MS mode preset"
      jpost:hasRawData:
        object:
          type: jpost:RawData
          example: "A raw data"
      jpost:hasPlex:
        object:
          type: jpost:Plex
          example: "A plex"
  jpost:Sample:
    attributes:
      type: jpost:Sample
    predicates:
      jpost:species:
        object:
          example: "A taxonomy identifier"
      jpost:sampleType:
        object:
          example: "A sample type"
      jpost:cellLine:
        object:
          example: "A cell line"
      jpost:organ:
        object:
          example: "An organ"
      jpost:diseaseClass:
        object:
          example: "A disease class"
      jpost:disease:
        object:
          example: "A disease"
#   jpost:Fractionation:
  jpost:EnzymeAndModification:
    attributes:
      type: jpost:EnzymeAndModification
      label: "enzyme and modification"
    predicates:
      jpost:species:
        object:
          example: "A taxonomy identifier"
      jpost:enzyme:
        object:
          example: "A protein cleavage enzyme"
      jpost:fixedModification:
        object:
          type: jpost:FixedModification
          example: "A fixed modification for database search"
      jpost:variableModification:
        object:
          type: jpost:VariableModification
          example: "A variable modification for database search"
  jpost:MsMode:
    attributes:
      type: jpost:MsMode
      label: "MS mode"
    predicates:
      jpost:instrument:
        object:
          exmaple: "An instrument for mass spetrometry"
      jpost:instrumentMode:
        object:
          type: jpost:InstrumentMode
          example: "An instrument mode"
      jpost:instrumentPurpose:
        object:
          type: jpost:InstrumentPurpose
          example: "An instrument purpose"
      jpost:quantificationPlatform:
        object:
          type: jpost:QuantificationPlatform
          example: "A quntification platform"
      jpost:quantificationMethod:
        object:
          example: "A quantification method"
      jpost:plexNumber:
        object:
          type: xsd:integer
          example: "Number of experiment plex"
  jpost:RawData:
    attributes:
      type: jpost:RawData
      label: "raw data"
    predicates:
      rdfs:label:
        object:
          type: xsd:string
          example: "A MS raw file name"
      foaf:page:
        object:
          examle: "A page about a MS raw data"
  jpost:Plex:
    attribules:
      type: jpost:Plex
      label: "plex"
    predicates:
      rdfs:label:
        object:
          type: xsd:string
          example: "A label of plex"
      dct:description:
        object:
          type: xsd:string
          example: "A description of plex"
