FAQ#
- FAQ: General
- FAQ: Why LinkML
- Why should I use LinkML at all?
- My data is a simple spreadsheet/TSV, why should I use LinkML?
- Why should I use LinkML over JSON-Schema?
- Why should I use LinkML over JSON-LD?
- Why should I use LinkML over ShEx/SHACL?
- Why should I use LinkML over SQL DDL?
- Why should I use LinkML over UML?
- Why should I use LinkML over OWL?
- Why should I use LinkML over custom spreadsheets?
- Why should I use LinkML over CSV-on-the-web?
- Why should I use LinkML over ISO-11179?
- FAQ: Modeling
- How do I get started defining a data model?
- What is the difference between is_a and mixins?
- Didn’t you know composition is favored over inheritance these days?
- When should I use attributes vs slots?
- What are induced slots?
- Why would I need to define my own types?
- Why would I want to use enums over strings?
- How do I constrain the value of a slot using an ontology or vocabulary?
- Can I use regular expressions to constrain values?
- Can I reuse regular expression patterns?
- How do I do the equivalent of JSON-Schema composition?
- Why are my class names translated to CamelCase?
- When two data classes are linked by a slot in one class definition, how is the reciprocal association expressed in LinkML?
- How do I avoid name clashes when importing a schema?
- What is the prefixes section at the start of a schema?
- Is there a standard registry of prefixes?
- What are id_prefixes used for?
- When is it important to have mappings?
- How do I represent relationships in LinkML?
- FAQ: Tools
- What tools do I need for LinkML?
- How do I install the LinkML tools?
- What tools are available for authoring schemas?
- Is there IDE support for editing schemas
- Is there a tool to manage schemas as spreadsheets?
- How do I browse a schema?
- How can I check my schema is valid?
- Is there a linter for LinkML?
- Are there tools to create a schema from JSON-Schema/SHACL/SQL DDL/…?
- Are there tools to infer a schema from data?
- How do I programmatically create schemas?
- How can I check my data is valid?
- Are there tools for editing my data?
- Are there guides for developing LinkML compliant tools?
- Can I generate a website from a LinkML schema
- How do I include UML class diagrams?
- Can I include generated documentation in a Sphinx site?
- Can I customize the Markdown generation for my schema site?
- Can I use LinkML in conjunction with SQL Databases?
- Can I use LinkML in conjunction with MongoDB?
- Can I use LinkML in conjunction with Triplestores?
- Can I use LinkML in conjunction with Neo4J or graph databases?
- Can I use my schema to do reasoning over my data?
- What does _if_missing mean in my JSON output?
- What does _csv.Error: field larger than field limit (131072) mean?
- FAQ: Python
- Why would I use LinkML in my Python code?
- Where do I find out more?
- Which packages do I need to install?
- How do I get started?
- What is a loader or a dumper?
- What formats are supported?
- Why do I get a “not JSON serializable” message?
- What is the difference between gen-python and gen-pydantic and gen-sqla?
- Can I convert between SQL Alchemy models and dataclasses/pydantic
- FAQ: Getting Help
- FAQ: Contributing
- FAQ: Tricky Choices