I'm a bioinformatics engineer at a Seattle-based company.
Many of my past projects are on GitLab.
I'm interested in knowledge graphs, knowledge engineering, well-designed systems, FAIR data, functional and pretty data viz.
- Rust
- Clojure
Exploring interop between linked data modelling frameworks/formats
License: Eclipse Public License 2.0
I'm a bioinformatics engineer at a Seattle-based company.
Many of my past projects are on GitLab.
I'm interested in knowledge graphs, knowledge engineering, well-designed systems, FAIR data, functional and pretty data viz.
Add basic analysis functionality (primarily for schematic/LinkML data models):
Identify objects dependent on something else. So perhaps ability to run a command like bb ./retold --deps -m model.jsonld --entity ClassA
to get everything that depends on ClassA.
Though schematic
doesn't add its sms:
prefix to context, retold
can probably add it when doing the translation, for better interop with other tools (e.g. TopQuadrant) that later need to work with the JSON-LD.
Add basic analysis functionality (primarily for schematic/LinkML data models:
Summarize numbers of props, classes, and enums overall (as well as per class? -- this might be more #19). bb ./retold --stats -m model.jsonld
Currently, data modelers who write LinkML but are schematic-conscious include schematic validation rules directly as annotations in YAML for the most straightforward interop. However, there are LinkML modelers who do not necessarily think of schematic JSON-LD as a main target and specify constraints in pure LinkML. So an example min-max constraint in LinkML like:
age:
description: Human age in years.
range: float
minimum_value: 0
maximum_value: 120
would be translated to schematic syntax: inRange 0 120 error
.
However, not all translations are possible. A lot of translation from LinkML constraints to schematic validation rules will be approximate or impossible, so this will cover the easy subset that can be translated well.
See
The limited implementation would allow compilation of dynamic enums only from classes defined within the same data model and not an external ontology.
In LinkML, classes can inherit from a base or abstract class. This is a nice modeling feature that would be useful if it can be translated to schematic JSON-LD.
Attributes are an alternative convenience feature in LinkML (see https://linkml.io/linkml/faq/modeling.html#when-should-i-use-attributes-vs-slots). Currently, retold does not handle classes that use attributes
vs slots
so the translation is incomplete.
We're currently converting things to IDs the way schematic does it, which is mainly by removing spaces. However, that still leaves illegal URIs as mentioned here ncihtan/data-models#77. Might be worthwhile to explore a flag feature (for situations when someone does care) where we have an alternate, stricter method of generating IDs.
Though version is not officially in the schematic JSON-LD specifications retold
can add it for downstream use.
Compare two data models to see diff, e.g. bb ./retold --diff -m modelA.jsonld modelB.jsonld
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.