Science Score: 77.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 6 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
1 of 4 committers (25.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.7%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Graph Transformation Framework
Basic Info
- Host: GitHub
- Owner: FHOOEAIST
- License: mpl-2.0
- Language: Java
- Default Branch: main
- Homepage: https://fhooeaist.github.io/GTF/
- Size: 3.53 MB
Statistics
- Stars: 4
- Watchers: 0
- Forks: 2
- Open Issues: 7
- Releases: 3
Topics
Metadata Files
README.md
GTF - Graph Transformation Framework
The Graph Transformation Framework is as the name suggests, all about graphs and their transformation into desired target models. It provides different modules, like ... - graph: This module contains all the domain objects, that are required to represent a graph and its state. - template: This module contains classes for various templating and automation tasks. - transformation: This module allows creating transformations on graph structures. - verification: With this module a verification on graph models can be performed. - visualization: This module contains classes for visualization using Freemarker template engine.
Getting Started
There is no general getting started, as it strongly depends on what you want to achieve with the framework. The next few sections provide some examples for the different modules. For more details you can checkout our test classes, which deal with a few different examples and problems.
Graph
If you want to use the graph structure itself, you have to add the following maven dependency to your project:
xml
<dependency>
<groupId>science.aist.gtf</groupId>
<artifactId>graph</artifactId>
<version>${gtf.version}</version> <!-- e.g. 1.0.0 -->
</dependency>
Using graph builder offers you an intuitive, declarative way to define and create your graph, which is shown in the following example.
```java @lombok.AllArgsConstructor class Person { @lombok.Getter int id; String name; }
Function
Template
xml
<dependency>
<groupId>science.aist.gtf</groupId>
<artifactId>template</artifactId>
<version>${gtf.version}</version> <!-- e.g. 1.0.0 -->
</dependency>
For a more thorough description of how to use templates refer to template documentation.
Transformation
xml
<dependency>
<groupId>science.aist.gtf</groupId>
<artifactId>transformation</artifactId>
<version>${gtf.version}</version> <!-- e.g. 1.0.0 -->
</dependency>
The transformation module basically consists of interface and abstract helper classes that allow to transform any input into any output. The base concept consists of Transformers and Renderers, where a Transformer is used to transform the whole input into an output whereas the renderers are applied on small parts of the given input. A renderer can have a condition which allows to use a list of renderers with their condition inside MultiRenderers. This form of abstraction allows for a clean separation of concerns.
Example (Note: this example only shows the interaction of a single component).
```java
RendererCondition
@Override
public String mapProperties(String s, Graph<String, Void> vertices, String currentElement) {
return currentElement.toUpperCase();
}
};
TransformationRender
Graph
In addition to that transformation can be split into multiple parts and then joined again.
java
Transformer<Input, Interim> t1 = ...;
Transformer<Interim, Output> t2 = ...;
Transformer<Input, Output> finalTransformation = t1.andThen(t2);
Verification
xml
<dependency>
<groupId>science.aist.gtf</groupId>
<artifactId>verification</artifactId>
<version>${gtf.version}</version> <!-- e.g. 1.0.0 -->
</dependency>
Different approaches for verification are implemented in the verification module. You may checkout the test classes to get an overview over the functionality.
Visualization
xml
<dependency>
<groupId>science.aist.gtf</groupId>
<artifactId>visualization</artifactId>
<version>${gtf.version}</version> <!-- e.g. 1.0.0 -->
</dependency>
The visualization module is based on the template engine and basically provides different implementation for the
TemplateEngine
FAQ
If you have any questions, please checkout our FAQ section.
Contributing
First make sure to read our general contribution guidelines.
Licence
Copyright (c) 2020 the original author or authors. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
Research
If you are going to use this project as part of a research paper, we would ask you to reference this project by citing it.
If you are going to use parts of the verification module, we would ask you to reference:
If you are going to use parts of the transformation module, we would ask you to reference:
Owner
- Name: Advanced Information Systems and Technology
- Login: FHOOEAIST
- Kind: organization
- Email: contact@aist.science
- Location: University of Applied Sciences Upper Austria, Softwarepark 11, 4232 Hagenberg, Austria
- Website: https://github.aist.science/
- Twitter: fhooeaist
- Repositories: 33
- Profile: https://github.com/FHOOEAIST
The research group AIST researches software solutions in the fields of eHealth, Machine Learning and Data Mining as well as Computer Vision.
Citation (CITATION.cff)
authors: - family-names: "Schuler" given-names: "Andreas" email: "andreas.schuler@fh-hagenberg.at" orcid: "https://orcid.org/0000-0003-1074-3222" affiliation: "Advanced Information Systems and Technology" - family-names: "Pointner" given-names: "Andreas" email: "andreas.pointner@fh-hagenberg.at" orcid: "https://orcid.org/0000-0001-8642-1161" affiliation: "Advanced Information Systems and Technology" - family-names: "Praschl" given-names: "Christoph" email: "christoph.praschl@fh-hagenberg.at" orcid: "https://orcid.org/0000-0002-9711-4818" affiliation: "Advanced Information Systems and Technology" cff-version: 1.2.0 date-released: 2022-07-25 doi: 10.5281/zenodo.4314721 keywords: - Graph - Java - Transformation license: MPL-2.0 message: "If you use this software, please cite it as below." repository-artifact: "https://search.maven.org/artifact/science.aist.gtf/gtf/2.0.0/pom" repository-code: "https://github.com/FHOOEAIST/GTF" title: "Graph Transformation Framework" type: software url: "https://fhooeaist.github.io/GTF/" version: 2.0.0
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Andreas Pointner | a****r@f****t | 15 |
| Renovate Bot | b****t@r****m | 15 |
| Jenkins | j****s@j****s | 6 |
| cpraschl | 3****l | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 29
- Total pull requests: 99
- Average time to close issues: 3 months
- Average time to close pull requests: 29 days
- Total issue authors: 3
- Total pull request authors: 6
- Average comments per issue: 0.0
- Average comments per pull request: 0.23
- Merged pull requests: 67
- Bot issues: 1
- Bot pull requests: 80
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- pointan (9)
- cpraschl (2)
- renovate[bot] (1)
Pull Request Authors
- renovate[bot] (15)
- dependabot[bot] (14)
- pointan (5)
- fossabot (1)
- fhooeaist-bot (1)
- cpraschl (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 7
- Total downloads: unknown
-
Total dependent packages: 8
(may contain duplicates) -
Total dependent repositories: 9
(may contain duplicates) - Total versions: 21
repo1.maven.org: science.aist.gtf:transformation
Graph Transformation Framework
- Homepage: https://github.com/FHOOEAIST/GTF
- Documentation: https://appdoc.app/artifact/science.aist.gtf/transformation/
- License: Mozilla Public License (MPL) version 2.0
-
Latest release: 2.0.1
published over 3 years ago
Rankings
repo1.maven.org: science.aist.gtf:gtf
Graph Transformation Framework
- Homepage: https://github.com/FHOOEAIST/GTF
- Documentation: https://appdoc.app/artifact/science.aist.gtf/gtf/
- License: Mozilla Public License (MPL) version 2.0
-
Latest release: 2.0.1
published over 3 years ago
Rankings
repo1.maven.org: science.aist.gtf:verification
Graph Transformation Framework
- Homepage: https://github.com/FHOOEAIST/GTF
- Documentation: https://appdoc.app/artifact/science.aist.gtf/verification/
- License: Mozilla Public License (MPL) version 2.0
-
Latest release: 2.0.1
published over 3 years ago
Rankings
repo1.maven.org: science.aist.gtf:visualization
Graph Transformation Framework
- Homepage: https://github.com/FHOOEAIST/GTF
- Documentation: https://appdoc.app/artifact/science.aist.gtf/visualization/
- License: Mozilla Public License (MPL) version 2.0
-
Latest release: 2.0.1
published over 3 years ago
Rankings
repo1.maven.org: science.aist.gtf:template
Graph Transformation Framework
- Homepage: https://github.com/FHOOEAIST/GTF
- Documentation: https://appdoc.app/artifact/science.aist.gtf/template/
- License: Mozilla Public License (MPL) version 2.0
-
Latest release: 2.0.1
published over 3 years ago
Rankings
repo1.maven.org: science.aist.gtf:core
Graph Transformation Framework
- Homepage: https://github.com/FHOOEAIST/GTF
- Documentation: https://appdoc.app/artifact/science.aist.gtf/core/
- License: Mozilla Public License (MPL) version 2.0
-
Latest release: 2.0.1
published over 3 years ago
Rankings
repo1.maven.org: science.aist.gtf:graph
Graph Transformation Framework
- Homepage: https://github.com/FHOOEAIST/GTF
- Documentation: https://appdoc.app/artifact/science.aist.gtf/graph/
- License: Mozilla Public License (MPL) version 2.0
-
Latest release: 2.0.1
published over 3 years ago
Rankings
Dependencies
- science.aist.gtf:core ${project.version}
- org.projectlombok:lombok 1.18.24 provided
- science.aist.seshat:api 1.1.3
- science.aist:jack 2.3.1
- org.mockito:mockito-core 4.6.1 test
- org.testng:testng 7.6.0 test
- com.fasterxml.jackson.core:jackson-databind ${jackson.version}
- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml ${jackson.version}
- commons-io:commons-io ${commons-io.version}
- guru.nidi:graphviz-java ${graphviz-java.version}
- org.freemarker:freemarker ${freemarker.version}
- org.graalvm.js:js ${graalvm-js.version}
- org.springframework:spring-aop ${spring.version}
- org.springframework:spring-beans ${spring.version}
- org.springframework:spring-context ${spring.version}
- org.springframework:spring-context-support ${spring.version}
- org.springframework:spring-core ${spring.version}
- science.aist.gtf:transformation ${project.version}
- org.springframework:spring-test ${spring.version} test
- science.aist.gtf:graph ${project.version}
- science.aist.gtf:transformation ${project.version}
- science.aist.gtf:template ${project.version}
- actions/checkout v3 composite
- actions/setup-java v3 composite