Skip to content

Frictionless

Generate a Frictionless Data Package. Every class becomes a CSV table, described by its own Table Schema, and references between classes become foreign keys between the tables. The files are a datapackage.json plus one schemas/<table>.json per table.

Terminal window
ohi get w3c/prov-o
ohi linkml to frictionless --pruning-mode schema \
--to datapackage/ prov-o.linkml.yaml
Try it in the playground, with PROV-O
metadata_languagestringdefault en
CLI --metadata-languageScala metadataLanguage

The language of the titles and descriptions in the output, for schemas with text in more than one language.

pruning_modePruningModedefault skip
CLI --pruning-modeScala pruningMode

Which classes become tables.

  • tree_root The elements reachable from the tree root class. Without a tree root, the same as schema.
  • schema Everything defined in the root schema, and every element reachable from it. This leaves out the unused parts of imported schemas, such as most of linkml:types.
  • skip Every element of the root schema and of all its imports.
skip_classes_without_identifierbooleandefault false
CLI --skip-classes-without-identifierScala skipClassesWithoutIdentifier

Whether to skip the classes with no identifier slot. The table of such a class has no primary key, and so no references from other tables.

tree_rootstring
CLI --tree-rootScala treeRoot

The class to use as the tree root, instead of the class with tree_root: true in the schema. Only for the tree_root pruning mode.