diff --git a/shapes/gpad-shapes.shapeMap b/shapes/gpad-shapes.shapeMap new file mode 100644 index 0000000..8b7087c --- /dev/null +++ b/shapes/gpad-shapes.shapeMap @@ -0,0 +1 @@ +{ FOCUS }@ \ No newline at end of file diff --git a/shapes/gpad-shapes.shex b/shapes/gpad-shapes.shex new file mode 100644 index 0000000..060efdf --- /dev/null +++ b/shapes/gpad-shapes.shex @@ -0,0 +1,464 @@ +BASE +PREFIX obo: +PREFIX rdf: +PREFIX rdfs: +PREFIX owl: +PREFIX xsd: +PREFIX skos: +PREFIX prov: +PREFIX GO: +PREFIX ECO: +#metadata +PREFIX bl: +PREFIX contributor: +PREFIX provided_by: +PREFIX modification_date: +PREFIX creation_date: +PREFIX import_date: +PREFIX xref: +PREFIX exact_match: +PREFIX source: +PREFIX evidence: +PREFIX with: +PREFIX x: +PREFIX y: +#model level annotations +PREFIX ontology: +PREFIX taxon: +PREFIX modelstate: +PREFIX templatestate: +PREFIX oboinowlid: +###contributor, date, providedBy reused +PREFIX title: +PREFIX imports: +# always limit imports to? ; +PREFIX in_taxon: +#semantic: classes +PREFIX GoInformationBiomacromolecule: +PREFIX GoProtein: +PREFIX GoProteinContainingComplex: +PREFIX GoCellularComponent: +PREFIX GoBiologicalProcess: +PREFIX GoAnatomicalStructureDevelopment: +PREFIX GoAnatomicalStructureFormationInvolvedInMorphogenesis: +PREFIX GoAnatomicalStructureMorphogenesis: +PREFIX GoCellDifferentiation: +PREFIX GoCellDivision: +PREFIX GoCellFateCommitment: +PREFIX GoCellFateDetermination: +PREFIX GoCellFateSpecification: +PREFIX GoCellularComponentAssembly: +PREFIX GoCellularComponentDisassembly: +PREFIX GoCellularComponentOrganization: +PREFIX GoDevelopmentalMaturation: +PREFIX GoGrowth: +PREFIX GoLocalization: +PREFIX GoLocomotion: +PREFIX GoProteinContainingComplexRemodeling: +PREFIX GoPatternSpecificationProcess: +PREFIX GoMetabolicProcess: +PREFIX GoTransport: +PREFIX GoMolecularFunction: +prefix GoMolecularEvent: +PREFIX GoTransporterActivity: +PREFIX GoChemicalEntity: +PREFIX GoEvidence: +PREFIX GoAnatomicalEntity: +PREFIX GoCell: +PREFIX GoOrganism: +PREFIX GoBiologicalPhase: +PREFIX GoLifeCycleStage: +PREFIX GoPlantStructureDevelopmentStage: +#semantic: relations +PREFIX part_of: +PREFIX has_part: +PREFIX occurs_in: +PREFIX adjacent_to: +PREFIX overlaps: +PREFIX existence_overlaps: +PREFIX existence_starts_and_ends_during: +PREFIX enabled_by: +PREFIX contributes_to: +PREFIX has_input: +PREFIX has_output: +PREFIX has_primary_input: +PREFIX has_primary_output: +PREFIX has_target_end_location: +PREFIX has_target_start_location: +PREFIX transports_or_maintains_localization_of: +PREFIX directly_provides_input_for: +PREFIX directly_positively_regulates: +PREFIX has_small_molecule_regulator: +PREFIX has_small_molecule_activator: +PREFIX has_small_molecule_inhibitor: +PREFIX is_small_molecule_regulator_of: +PREFIX is_small_molecule_activator_of: +PREFIX is_small_molecule_inhibitor_of: +PREFIX located_in: +PREFIX location_of: +PREFIX is_active_in: +PREFIX happens_during: +PREFIX regulates: +PREFIX negatively_regulates: +PREFIX positively_regulates: +PREFIX directly_regulates: +PREFIX directly_negatively_regulates: +PREFIX directly_activates: +PREFIX indirectly_regulates: +PREFIX indirectly_positively_regulates: +PREFIX indirectly_negatively_regulates: +PREFIX constitutively_upstream_of: +PREFIX removes_input_for: +PREFIX causally_upstream_of_or_within: +PREFIX causally_upstream_of_or_within_negative_effect: +PREFIX causally_upstream_of_or_within_positive_effect: +PREFIX causally_upstream_of: +PREFIX causally_upstream_of_negative_effect: +PREFIX causally_upstream_of_positive_effect: +PREFIX acts_on_population_of: +PREFIX results_in_development_of: +PREFIX results_in_formation_of: +PREFIX results_in_morphogenesis_of: +PREFIX results_in_acquisition_of_features_of: +PREFIX results_in_commitment_to: +PREFIX results_in_determination_of: +PREFIX results_in_specification_of: +PREFIX results_in_assembly_of: +PREFIX results_in_disassembly_of: +PREFIX results_in_organization_of: +PREFIX results_in_maturation_of: +PREFIX results_in_growth_of: +PREFIX results_in_movement_of: +PREFIX results_in_remodeling_of: + + { + a [owl:Ontology] + ; + contributor: xsd:string +; #TODO would be better as an IRI + modification_date: xsd:string {1}; #Use ISO 8601 as a standard. + creation_date: xsd:string {0,1}; #Use ISO 8601 as a standard. + import_date: xsd:string {0,1}; #Use ISO 8601 as a standard. + provided_by: xsd:string +; #TODO would be better as an IRI + rdfs:comment xsd:string *; + modelstate: xsd:string {1}; #TODO would be better as an IRI + templatestate: xsd:string {0,1}; #TODO should be modeled as xsd:boolean but currently a string. No value means false. + in_taxon: . *; + title: xsd:string {1}; + imports: . *; + oboinowlid: . *; #TODO not sure if we really want this? + owl:versionIRI . *; + prov:wasDerivedFrom IRI {0,1}; # for model copy +} + + { + $ ( + contributor: xsd:string +; #TODO would be better as an IRI + modification_date: xsd:string {1}; #Use ISO 8601 as a standard. + creation_date: xsd:string {0,1}; #Use ISO 8601 as a standard. + import_date: xsd:string {0,1}; #Use ISO 8601 as a standard. + provided_by: xsd:string *; #TODO would be better as an IRI + rdfs:comment xsd:string *; + skos:note xsd:string * + ) ; +} + + IRI and EXTRA a { + $ ( + a [owl:NamedIndividual] // rdfs:comment "Every entity we care about is a named individual"; + xref: . * // rdfs:comment "mappings for the entity. Value is typically a CURIE string. Currently this is only used for Reactome-derived models." ; + rdfs:label . {0,1} // rdfs:comment "the name of the entity. Currently this is only used for Reactome-derived models." ; + exact_match: . *; + x: . {0,1} // rdfs:comment "X coordinate for node. This is used for caching layouts in the Noctua Graph Editor."; + y: . {0,1} // rdfs:comment "Y coordinate for node. This is used for caching layouts in the Noctua Graph Editor."; + skos:narrower . * // rdfs:comment "This entity (e.g. a node representing a pathway) represents a narrower (in any sense) concept then the target node. "; + skos:broader . * // rdfs:comment "This entity (e.g. a node representing a pathway) represents a broader (in any sense) concept then the target node. " + ) ; +} // rdfs:comment "Default allowable metadata for GO-CAM entities" + + { + rdf:type [ owl:Class ] ; +} + + IRI { + a [ owl:NamedIndividual ] ; + a [ GO:~ ] +} + + CLOSED { + & ; + & ; + & ; + a ( IRI AND ( NOT [ owl:NamedIndividual ] ) ) +} + + IRI AND [ GO:~ ] AND @ AND EXTRA rdfs:subClassOf { + # disabled checking class hierarchy so that this is useable without running the enrichment script + #rdfs:subClassOf [ GoBiologicalProcess: ] ; +} + + BNode @ AND { + owl:complementOf @ +} + + IRI CLOSED { + & ; + & ; + & ; + a ( @ OR @ ) ; + occurs_in: @ {0,1}; +} // rdfs:comment "A biological process instance" + + IRI AND [ GO:~ ] AND @ AND EXTRA rdfs:subClassOf { + # disabled checking class hierarchy so that this is useable without running the enrichment script + #rdfs:subClassOf [ GoMolecularFunction: ] ; +} + + BNode @ AND { + owl:complementOf @ +} + + IRI CLOSED { + & ; + & ; + & ; + a ( @ OR @ ) {1}; + enabled_by: @ ; + ( part_of: @ {0,1} | + causally_upstream_of: @ {0,1} | + causally_upstream_of_positive_effect: @ {0,1} | + causally_upstream_of_negative_effect: @ {0,1} | + causally_upstream_of_or_within: @ {0,1} | + causally_upstream_of_or_within_positive_effect: @ {0,1} | + causally_upstream_of_or_within_negative_effect: @ {0,1} + ) ; + occurs_in: @ {0,1}; +} // rdfs:comment "A molecular function instance" + + IRI AND [ GO:~ ] AND @ AND EXTRA rdfs:subClassOf { + # disabled checking class hierarchy so that this is useable without running the enrichment script + #rdfs:subClassOf [ GoCellularComponent: ]; +} + + BNode @ AND { + owl:complementOf @ +} + + IRI CLOSED { + & ; + & ; + & ; + a ( @ OR @ ) {1}; +} // rdfs:comment "a cellular component instance" + + IRI CLOSED { + & ; + & ; + a @; +} // rdfs:comment "a protein complex instance" + + IRI @ AND EXTRA rdfs:subClassOf { + #rdfs:subClassOf [ GoProteinContainingComplex: ]; +} + + IRI @ AND EXTRA rdfs:subClassOf { + #rdfs:subClassOf [ GoInformationBiomacromolecule: ]; +} + IRI CLOSED { + & ; + & ; + a @ +; +} // rdfs:comment "an information biomacromolecule instance - e.g. a protein or RNA product" + + @ OR @ + + IRI AND [ ECO:~ ] AND @ AND EXTRA rdfs:subClassOf { + #rdfs:subClassOf [ GoEvidence: ] ; +} + + IRI CLOSED { + & ; + & ; + a @ {1}; + source: xsd:string {1}; + with: xsd:string {0,1} +} // rdfs:comment "An evidence instance" + + BNode CLOSED { + & ; + a [ owl:Axiom ] ; + owl:annotatedSource @ ; + owl:annotatedProperty IRI ; + owl:annotatedTarget @ ; + evidence: @ * +} + + @ OR @ OR @ OR @ OR @ OR @ + + { + $ ( + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + @ * ; + ) +} + + { + $ ( + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ | + ^ @ + ) +}