ROBOT Templates¶
PBPKO uses ROBOT templates for systematic ontology development and maintenance. This page explains how to use the template system effectively.
Overview¶
ROBOT templates provide a structured way to manage ontology terms using TSV (Tab-Separated Values) files. This approach ensures consistency and enables automated processing.
Template Files¶
1. vocab.tsv¶
Purpose: Main vocabulary terms and classes
Location: Robot/templates/vocab.tsv
Key Columns:
- ID - Term identifier (e.g., pbpko:PBPKO_00001)
- Label - Human-readable label
- Definition - Textual definition
- Parent - Parent class
- Type - OWL class type
- Editor - Contributor ORCID
- Reviewer1 - First reviewer ORCID
- Reviewer2 - Second reviewer ORCID
2. properties.tsv¶
Purpose: Object and data properties
Location: Robot/templates/properties.tsv
Key Columns:
- ID - Property identifier
- Label - Property label
- Type - Property type (owl:ObjectProperty, owl:DataProperty)
- Super Property - Parent property
- Domain - Property domain
- Range - Property range
3. input.tsv¶
Purpose: Additional input data and configurations
Location: Robot/templates/input.tsv
Template Usage¶
Adding New Terms¶
- Open vocab.tsv
- Add new row with:
- Unique ID (next sequential number)
- Descriptive label
- Clear definition
- Appropriate parent class
- Editor information
Example:
pbpko:PBPKO_00099 New Parameter Definition of new parameter Parameters Class 0000-0001-8345-1349 0000-0002-9795-5967
Adding Properties¶
- Open properties.tsv
- Add new row with:
- Unique property ID
- Property label
- Property type
- Domain and range if applicable
Example:
Template Processing¶
ROBOT Commands¶
Generate ontology from templates:
robot template --template Robot/templates/vocab.tsv \
--template Robot/templates/properties.tsv \
--output Robot/ontologies/edit.owl
Validate templates:
Merge with imports:
robot merge --input Robot/ontologies/edit.owl \
--input Robot/ontologies/imported_modules.owl \
--output Robot/ontologies/pbpko.owl
Best Practices¶
Term Creation¶
- Consistent Naming
- Use title case for labels
- Avoid abbreviations in labels
-
Use consistent terminology
-
Clear Definitions
- Start with capital letter
- End with period
- Be specific and unambiguous
-
Include context when helpful
-
Proper Classification
- Choose appropriate parent classes
- Follow ontological principles
- Maintain logical hierarchy
Property Creation¶
- Meaningful Names
- Use descriptive property names
- Follow naming conventions
-
Avoid generic terms
-
Proper Domains and Ranges
- Specify appropriate domains
- Define clear ranges
- Ensure logical consistency
Documentation¶
- Complete Information
- Fill all required columns
- Provide editor information
-
Include reviewer assignments
-
References
- Cite relevant literature
- Provide source URLs
- Include DOI when available
Template Validation¶
Automated Checks¶
ROBOT performs several validation checks:
- Syntax validation - TSV format correctness
- ID uniqueness - No duplicate IDs
- Reference validation - Valid parent classes
- Logical consistency - Ontological soundness
Manual Review¶
Before submitting:
- Check definitions - Ensure clarity and accuracy
- Verify relationships - Confirm logical connections
- Review naming - Check consistency
- Validate references - Ensure citations are correct
Common Issues¶
Template Errors¶
Missing required columns: - Ensure all mandatory columns are filled - Use empty cells for optional information
Invalid IDs:
- Follow ID format: pbpko:PBPKO_XXXXX
- Use sequential numbering
- Avoid gaps in numbering
Circular references: - Check parent-child relationships - Ensure no circular dependencies
Processing Errors¶
ROBOT template errors: - Check TSV format - Verify column headers - Ensure proper escaping
Merge conflicts: - Resolve import conflicts - Check for duplicate terms - Validate logical consistency
Advanced Usage¶
Custom Templates¶
You can create custom templates for specific purposes:
- Specialized vocabularies
- Domain-specific terms
- Temporary term collections
Template Automation¶
Consider automating template processing:
- CI/CD integration
- Automated validation
- Scheduled processing
Getting Help¶
For template-related issues:
- Check ROBOT documentation
- Review existing templates
- Contact maintainers
- Open GitHub issues