Giter Site home page Giter Site logo

uniba-mi / quare Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 0.0 378 KB

QuaRe is a tool for testing whether GitHub repositories of interest comply with certain quality criteria that they should fulfill according to the project type.

License: GNU General Public License v3.0

Dockerfile 0.91% Python 69.09% HTML 0.49% JavaScript 1.58% Svelte 23.99% SCSS 0.05% CSS 3.91%
python svelte git-management

quare's People

Contributors

leonmartin avatar tobias-th avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

quare's Issues

Unable to run the Quare app directly via "docker compose up"

Hello, I came to test this software after reading your paper: "Specification and Validation of Quality Criteria for Git Repositories using RDF and SHACL"

The README states that we can launch the app via docker compose up after cloning the repository. In my experience (OS: Ubuntu 20.04), two additional steps are needed:

  1. In the frontend directory, run npm install to install all the dependencies.
  2. In the backend directory, run chmod +x backend_api.py to add execution permission.

Afterwards, docker compose up works correctly.

Thank you!

Understand and detail FAIR best practices

Understanding and detailing the "Research Software Best Practices" presented in the poster by A. Iglesias-Molina and D. Garijo.
--> What exactly has to be present/absent in a GitHub repository so that it fulfills these criteria?

Validating a repository without a license leads to an internal error and no result

The validation of (public and private) repositories without a license file returns no results in the frontend. Instead, the spinner in the grey result button contiunes to spin.
At the same time, the terminal where Docker Compose is running, shows this error message (here shortened):

File "/src/shacl_validator.py", line 104, in create_repository_representation
license = repo.get_license()
. . .
github.GithubException.UnknownObjectException: 404 {"message": "Not Found", "documentation_url": "https://docs.github.com/rest/licenses/licenses#get-the-license-for-a-repository"}

Running benchmark.py leads to a ZeroDivisionError

The following error occurs when you run the benchmarks as explained in the readme file:

"ZeroDivisionError: float division by zero"

The variable total is 0, so there seems to be a problem with the values of all_finished and all_interal on which total is based.

Add OR-cases to existing project types

For the FAIR project type, often alternatives were modelled. For example, usage documentation is present if there is a section "Usage", "How to use", "Manual" or "User manual" in the README file.
The other project type definitions only have one possible value for each property. --> Extend them with reasonable values.

Use re-rendering for specification page with Markdown

The quality criteria on the specification page originate from Markdown content in the descriptions of node and property shapes. All descriptions contain tables that need to be formatted. For this, a CSS file is used because Svelte ignored selectors like table in <style> tags. This is because these tags are added at runtime.
Use re-rendering so that the style can be defined in the file SpecificationPage.svelte.

Adapt verbalized explanation for FAIR project type

For example, a "Constraint Violation in OrConstraintComponent" does not contain a result path and therefore does not lead to an explanation. โ†’ Investigate new possible violations and adapt shacl_verbalizer.py accordingly.

Limit repository representation to requirements of respective project type

At the moment, the repository representation is always constructed completely, independent of how many attributes are important for the project type. This increases the time until the validation result is presented to the user.

Therefore, the required methods / code words should be mentioned in the SHACL files. In the Python code, they should be mapped to functions via globals or dictionaries.

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.