schema

package
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 1, 2021 License: BSD-2-Clause Imports: 0 Imported by: 0

Documentation

Overview

Package schema provides type definitions for decoding OBO Graphs in JSON format

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type JSONDefintion

type JSONDefintion struct {
	Val   string   `json:"val"`
	Xrefs []string `json:"xrefs"`
}

JSONDefintion models the definition subsection of meta section

type JSONEdge

type JSONEdge struct {
	Obj  string `json:"obj"`
	Pred string `json:"pred"`
	Sub  string `json:"sub"`
}

JSONEdge models the edges of OBO graph

type JSONMeta

type JSONMeta struct {
	BasicPropertyValues []*JSONProperty `json:"basicPropertyValues"`
	Synonyms            []*JSONSynonym  `json:"synonyms"`
	Subsets             []string        `json:"subsets"`
	Comments            []string        `json:"comments"`
	Definition          *JSONDefintion  `json:"definition"`
	Version             string          `json:"version"`
	Xrefs               []struct {
		Val string `json:"val"`
	} `json:"xrefs"`
}

JSONMeta models the meta section of OBO graph

type JSONNode

type JSONNode struct {
	ID       string    `json:"id"`
	Lbl      string    `json:"lbl"`
	Meta     *JSONMeta `json:"meta"`
	JSONType string    `json:"type"`
}

JSONNode models the nodes of OBO graph

type JSONProperty

type JSONProperty struct {
	Pred string `json:"pred"`
	Val  string `json:"val"`
}

JSONProperty models the properties of the nodes

type JSONSynonym

type JSONSynonym struct {
	Pred  string   `json:"pred"`
	Val   string   `json:"val"`
	Xrefs []string `json:"xrefs"`
}

JSONSynonym models the synonyms of the nodes

type OboJSON

type OboJSON struct {
	Graphs []*OboJSONGraph `json:"graphs"`
}

OboJSON models the entire JSON schema of OBO Graph

type OboJSONGraph

type OboJSONGraph struct {
	ID                  string        `json:"id"`
	Edges               []*JSONEdge   `json:"edges"`
	Nodes               []*JSONNode   `json:"nodes"`
	Meta                *JSONMeta     `json:"meta"`
	EquivalentNodesSets []interface{} `json:"equivalentNodesSets"`
	DomainRangeAxioms   []interface{} `json:"domainRangeAxioms"`
	PropertyChainAxioms []struct {
		ChainPredicateIds []string `json:"chainPredicateIds"`
		PredicateID       string   `json:"predicateId"`
	} `json:"propertyChainAxioms"`
	LogicalDefinitionAxioms []struct {
		DefinedClassID string   `json:"definedClassId"`
		GenusIds       []string `json:"genusIds"`
		Restrictions   []struct {
			FillerID   string `json:"fillerId"`
			PropertyID string `json:"propertyId"`
		} `json:"restrictions"`
	} `json:"logicalDefinitionAxioms"`
}

OboJSONGraph models the graph section of OBO graph

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL