Welcome to rocrate-validator’s documentation!
rocrate-validator (available as roc-validator on PyPI) is a Python package to validate RO-Crates
against different profiles, including the base RO-Crate profile and various extensions.
Features
Validates RO-Crates against the profiles they declare to conform to. Currently, validation for the following profiles is implemented:
RO-Crate 1.3 (base profile, used by default)
RO-Crate 1.2 (base profile)
RO-Crate 1.1 (base profile)
Filters profile validation rules by requirement level (i.e.,
REQUIRED,RECOMMENDED,OPTIONAL).Provides detailed information about the issues found during validation.
Supports validation of RO-Crates stored locally as directories or as ZIP archives (
.zipfiles) or remotely accessible via HTTP or HTTPS (e.g.,http://example.com/ro-crate.zip).Supports CLI-based validation as well as programmatic validation (so it can easily be used by Python code).
Extensible framework: new RO-Crate profiles can be added, implementing profile requirements as SHACL shapes and/or Python code.
Getting Started
Resources
- Validation Profiles
- Writing a new profile
- Optimizing SHACL target selection
- Graph transformers
- API documentation
- Core Services
- Core Models
- RO-Crate
ROCrateROCrate.uriROCrate.metadataROCrate.sizeROCrate.list_files()ROCrate.has_descriptor()ROCrate.get_descriptor_path()ROCrate.has_file()ROCrate.has_directory()ROCrate.get_file_size()ROCrate.get_file_content()ROCrate.get_external_file_content()ROCrate.get_external_file_size()ROCrate.from_metadata_dict()ROCrate.new_instance()
- Profiles, Requirements, and Checks
ProfileProfile.overridesProfile.overridden_byProfile.pathProfile.identifierProfile.nameProfile.profile_specification_graphProfile.tokenProfile.uriProfile.commentProfile.versionProfile.is_profile_ofProfile.is_transitive_profile_ofProfile.is_rule_overlay_ofProfile.parentsProfile.siblingsProfile.descendantsProfile.readme_file_pathProfile.profile_specification_file_pathProfile.severityProfile.descriptionProfile.requirementsProfile.get_requirements()Profile.get_requirement()Profile.get_requirement_checks()Profile.get_requirement_check()Profile.effective_requirement_check()Profile.get_effective_requirement_checks()Profile.validate_checks()Profile.validate_profile_checks()Profile.validate_requirement_check_identities()Profile.get_by_identifier()Profile.get_by_uri()Profile.get_by_name()Profile.get_by_token()Profile.get_sibling_profiles()Profile.get_descendants()Profile.all()Profile.version_sort_key()Profile.resolve_in_list()Profile.find_in_list()
RequirementRequirement.__init__()Requirement.order_numberRequirement.identifierRequirement.set_checks_order()Requirement.record_skipped_checks()Requirement.__dependency_skip_reason__()Requirement.__resolve_execution_check__()Requirement.__execute_check__()Requirement.__eq__()Requirement.__ne__()Requirement.__hash__()Requirement.__lt__()Requirement.__repr__()Requirement.__str__()Requirement.__ge__()Requirement.__gt__()Requirement.__le__()Requirement.__weakref__
RequirementCheck
- Severity
- Validation
ValidationSettingsValidationSettings.rocrate_relative_root_pathValidationSettings.profiles_pathValidationSettings.extra_profiles_pathValidationSettings.profile_identifierValidationSettings.abort_on_firstValidationSettings.disable_inherited_profiles_issue_reportingValidationSettings.disable_remote_crate_downloadValidationSettings.requirement_severityValidationSettings.requirement_severity_onlyValidationSettings.allow_requirement_check_overrideValidationSettings.validate_profile_checksValidationSettings.disable_check_for_duplicatesValidationSettings.skip_checksValidationSettings.metadata_onlyValidationSettings.metadata_dictValidationSettings.verboseValidationSettings.cache_max_ageValidationSettings.cache_pathValidationSettings.offlineValidationSettings.no_cacheValidationSettings.creation_timeValidationSettings.enforce_availabilityValidationSettings.skip_availability_checkValidationSettings.to_dict()ValidationSettings.rocrate_uriValidationSettings.parse()
ValidationContextValidationContext.ro_crateValidationContext.validatorValidationContext.resultValidationContext.record_skip()ValidationContext.settingsValidationContext.publicIDValidationContext.profiles_pathValidationContext.extra_profiles_pathValidationContext.requirement_severityValidationContext.requirement_severity_onlyValidationContext.rocrate_uriValidationContext.fail_fastValidationContext.abortedValidationContext.abort_reasonValidationContext.abort_validation()ValidationContext.rel_fd_pathValidationContext.get_data_graph()ValidationContext.data_graphValidationContext.inheritance_enabledValidationContext.profile_identifierValidationContext.allow_requirement_check_overrideValidationContext.disable_check_for_duplicatesValidationContext.profilesValidationContext.target_validation_profileValidationContext.target_profileValidationContext.is_rule_overlay_source()ValidationContext.effective_check_identifier()ValidationContext.effective_check_profile()ValidationContext.effective_check_provenance()ValidationContext.is_check_skipped()ValidationContext.effective_check_replacement()ValidationContext.resolve_dependency_check()ValidationContext.get_profile_by_token()ValidationContext.get_profile_by_identifier()ValidationContext.maybe_warn_offline_cache_miss()
ValidationResultValidationResult.contextValidationResult.rocrate_uriValidationResult.validation_settingsValidationResult.statisticsValidationResult.executed_checksValidationResult.get_check_result()ValidationResult.get_executed_check_result()ValidationResult.skipped_checksValidationResult.skipped_checks_countValidationResult.skipped_check_detailsValidationResult.record_skip()ValidationResult.issuesValidationResult.get_issues()ValidationResult.get_issues_by_check()ValidationResult.has_issues()ValidationResult.passed()ValidationResult.add_issue()ValidationResult.failed_requirementsValidationResult.failed_checksValidationResult.get_failed_checks_by_requirement()ValidationResult.get_failed_checks_by_requirement_and_severity()ValidationResult.to_dict()ValidationResult.to_json()
CheckIssue- Composed profile check identities
- Errors
ROCValidatorErrorProfilesDirectoryNotFoundInvalidProfilePathProfileNotFoundProfileSpecificationNotFoundProfileSpecificationErrorDuplicateRequirementCheckCheckDependencyErrorInvalidSerializationFormatBadSyntaxErrorValidationErrorValidationExecutionErrorCheckValidationErrorROCrateInvalidURIErrorROCrateMetadataNotFoundError
- RO-Crate
- Python Check API
- Index
About