Sign inSign up

flpp20191/new-start-audit

By flpp20191

•Updated 6 months ago

NewStarT audit is a no-coding shell of a rule-based expert system.

Image
0

330

flpp20191/new-start-audit repository overview

⁠NewStarT

⁠Description

NewStarT audit is a no-coding shell of a rule-based expert system designed to give recomendations based on category match. It is an open-source framework developed using Python and the Django framework.

Key Features and Concepts:

  • Rule-Based Expert System: It allows domain experts to define and manage "if-then" rules without needing to delve into technical coding aspects.
  • Digital Twin Paradigm: The system architecture incorporates the concept of a digital twin, a virtual representation of a physical system.
  • Purpose: The primary goal is to provide a user-friendly tool that can be used to generate questionnaires from OWL to make a recommendation system.

⁠Table of Contents

⁠GitHub

GitHub version: https://github.com/flpp20191/NewStarT_Audit⁠

The project is also available as a GitHub repository that can be modified. Also there is a docker branch, which might be easier to modify for usage with docker.

⁠Upload the OWL file

After running the setup command, you can upload an OWL file to the system from example, or use your own ontology.

⁠Upload using UI

  1. To upload OWL file using UI, you need to log into a superuser account.
  2. Go to "Upload OWL file"
  3. Upload the OWL file
  4. Modify the upload YAML config file using IRIs from your data
LANGUAGE: 'en' # Language tag
HAS_CATEGORY:
- https://newstart.rta.lv#hasCategory # Object property that point to category
HAS_GROUP:
- https://newstart.rta.lv#hasGroup # Grouping object property
HAS_HINT_TEXT:
- https://newstart.rta.lv#hasMesurement # Hint text
QUESTION_TYPE:
    INTERVAL: # If questions have interval answer types
        MAX:
        - https://newstart.rta.lv#hasMaxAllowedValue
        MIN:
        - https://newstart.rta.lv#hasMinAllowedValue
    LIKERT: # If questions have likert answer types
        LIKERT_ANSWER_PROPERTY:
        - https://newstart.rta.lv#hasExpectedAnswer
        LIKERT_CHOICES:
        - https://newstart.rta.lv#hasAnswerOptions
        SEPERATOR: '

            '
    MANDATORY: # Higlighted questions
    - https://newstart.rta.lv#isMandatory
    PROPERTIES: # Answer type indicator (Yes/No, Likert, Interval)
    - https://newstart.rta.lv#hasAnswerType
    TYPES: # Class objects that indicate an answer type
        interval:
        - https://newstart.rta.lv#interval
        likert:
        - https://newstart.rta.lv#likert
        yes_no:
        - https://newstart.rta.lv#yesno

⁠Upload using admin console

To upload the Example file run this command.

cd..
python manage.py uploadOwl --filepath Example/NewStarT.owl --language en --make_config --config_filename Example/conf_output.yml --conf Example/conf.yml

Command parameter:

  • *--filepath __filepath__ - local/global path to the OWL file
  • *--language __language__ - language tag used in label (e.g. en, lv)
  • --make_config - ability to make config file to speed OWL upload next time (!Will only work if Object, Data and answer type IRIs are not changed!)
  • --config_filename - output file path for configuration file
  • --conf - configuration file to reduce needed user input

To upload your own OWL file, follow instructions in the command. Expected file structure

File structure:

  • .owl (or any other Python owlready2 compatible format)

  • Data and Object property names can be changed to anything, only the relation structure matters

  • (Required) ategory relationship format: 'Question(Class)'->hasSomeObjectProperty->'Category(Class)

  • (For multi question type) Expected question type format: 'QuestionType(Class)'->hasSomeObjectProperty->'YesNo(Class)'

  • (For Likerta) Expected likerta answer choice format: 'hasAnswerOptions(DataProperty)' value 'Answer option text'(str)

  • (For Likerta) Expected likerta answer format: 'hasAnswer(DataProperty) value 'Answer option'(str)

  • (For Interval) Expected min answer range format: 'hasMinValue(DataProperty) value '0'(flaot)

  • (For Interval) Expected max answer range format: 'hasMaxValue(DataProperty) value '100'(flaot)

  • (Optional) Expected higlighted question format: 'required(DataProperty) value 'true'(bool)

  • (Optional) Expected question group format: 'Question(Class)'->hasGroup->'Group(Class)

  • (Optional) Expected hint text format: 'Question(Class)'->hasHintText->'Hint(Class)

This command will:

  • Read the data structure of the OWL file.
  • Ask you to specify which properties corespond to which data structures.
  • Update the DB only if all changes are valid.
  • (Optional) Generate configuration file to speed up OWL upload the next time.

⁠Step 8: Run the Development Server

Once the setup is complete, start the Django development server:

python manage.py runserver

Visit http://127.0.0.1:8000/ in your web browser to see the project in action.

⁠Creating a Superuser

To create a superuser account for accessing the Django admin interface, run:

python manage.py createsuperuser

Follow the on-screen prompts to set up the username, email, and password. Use superuser credentials to access system.

System has an admin page that can be accessed thru writing in the URL "/admin" If this will be used in production, it is advised to change this default URL to something else

⁠Acknowledgement

  • This research was funded by the "Fundamentālo un lietišķo pētījumu projekti (FLPP)", project "Digital Twin to Promote the Development of Tourism Competitiveness and Complementarity: the Use Case in Latgale region", project No. lzp-2022/1-0350

⁠Contributing

If you'd like to contribute to this project, you can fork the repository and submit a pull request with your changes.

Copyright 2026 NewStarT

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Tag summary

Content type

Image

Digest

sha256:0dc578e42…

Size

159.6 MB

Last updated

6 months ago

docker pull flpp20191/new-start-audit:1.1.4