GithubHelp home page GithubHelp logo

mathiasrichter / shapiro Goto Github PK

View Code? Open in Web Editor NEW
29.0 29.0 1.0 596 KB

Modelling data with JSON-LD, Turtle, SHACL

License: Apache License 2.0

Python 43.37% HTML 9.99% JavaScript 1.58% CSS 44.91% Mermaid 0.16%
data data-structures json-ld json-schema linked-data model-as-code openapi rdf schema semantic semantic-web shacl sparql turtle

shapiro's People

Contributors

guscht avatar mathiasrichter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

guscht

shapiro's Issues

Refactor (remove global var references and split into proper classes)

The functions for resolving the request for a schema directly reference global vars (CONTENT_DIR, SUPPORTED_SUFFIXES, etc.). Need to remove these reference by providing these inputs in the function signature.

Once done, it should be easy to refactor the collection of functions in the current implementation into a small set of classes.

Need to improve how Shapiro deals with large models

Models can contain actual instance data (e.g. a model defines a currency class and a closed list of instances to reflect the collection of accept currencies).

Sometimes, the list of instances can become quite large. The fact that Shapiro parse the serialized model from a file in the file system every time a model or a model element is requested, can negatively impact performance.

Need to think about a way to cache the graphs for larger models in memory to increase response time...

Render ontologies as UML class diagrams

in practice, people better understand models if there is some notion of a UML-style class diagram. For practical examples, see the documentation for standard ontologies like DCAT, Time or Organization. They all comprise UML-style diagrams as overview of the model.

Need to amend the HMTL rendering to include such class diagrams.

SHACL to JSON-schema conversion

Add support for converting the nodeshapes defined in a model into JSON-schema so models/model elements can directly be referenced in OpenAPI/Swagger definitions without breaking the OpenAPI tooling.

JSON-SCHEMA generation: ensure proper handling of (RDFS) inheritance

Currently, the JSON-SCHEMA renderer of Shapiro does not properly consider inheritance (as per RDFS reasoning).

This means in essence that Shapiro needs to traverse the inheritance hierarchy of the shacl:targetClass and include all NodeShapes with their SHACL property definitions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.