{
  "@context": "https://spdx.org/rdf/3.0.1/spdx-context.jsonld",
  "@graph": [
    {
      "@id": "_:creationInfo_0",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd0"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/additionalToolSPDXRef-gnrtd1"
      ],
      "created": "2026-10-02T05:09:57Z"
    },
    {
      "@id": "_:creationInfo_1",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd2"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/additionalToolSPDXRef-gnrtd3"
      ],
      "created": "2026-10-02T05:09:57Z"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16631",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd197"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16629",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16470",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16471"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16468",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd3464",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd178"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd3463",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd3466",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd178"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd3463",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16473",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16474"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16468",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16111",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd197"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16109",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd17104",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd197"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd17099",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd17106",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd197"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd17099",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16633",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd197"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16629",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16113",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd197"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16109",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd17103",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16109"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd17099",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd17100",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd3463"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd17099",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd17101",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16468"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd17099",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd17102",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16629"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd17099",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16474",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(MIT AND Apache-2.0)",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16471",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "(MIT AND Apache-2.0)",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd197",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "Apache-2.0",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd178",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "BSD-3-Clause",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd17105",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16632",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd3465",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16472",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16112",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16629",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16632",
      "name": "apache-commons-io",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/d5dc399c94eea659ed2585c32a1ad22148342df12e300f0fa481873cdbf6214a-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/apache-commons-io@2.20.0-1.oe2609?arch=noarch&epoch=1&upstream=apache-commons-io-2.20.0-1.oe2609.src.rpm",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Utilities to assist with developing IO functionality",
      "software_packageVersion": "1:2.20.0-1.oe2609",
      "software_homePage": "https://commons.apache.org/proper/commons-io/",
      "description": "Commons-IO contains utility classes, stream implementations,\nfile filters, and endian classes. It is a library of utilities\nto assist with developing IO functionality.",
      "externalRef": [
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/org.apache.commons/commons-io@2.20.0"
          ],
          "externalRefType": "other"
        },
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/commons-io/commons-io@2.20.0"
          ],
          "externalRefType": "other"
        }
      ],
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16109",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16112",
      "name": "apache-commons-lang3",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/d5dc399c94eea659ed2585c32a1ad22148342df12e300f0fa481873cdbf6214a-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/apache-commons-lang3@3.20.0-1.oe2609?arch=noarch&epoch=0&upstream=apache-commons-lang3-3.20.0-1.oe2609.src.rpm",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Provides a host of helper utilities for the java.lang API",
      "software_packageVersion": "0:3.20.0-1.oe2609",
      "software_homePage": "https://commons.apache.org/proper/commons-lang/",
      "description": "The standard Java libraries fail to provide enough methods for\nmanipulation of its core classes. The Commons Lang Component provides\nthese extra methods.\nThe Commons Lang Component provides a host of helper utilities for the\njava.lang API, notably String manipulation methods, basic numerical\nmethods, object reflection, creation and serialization, and System\nproperties. Additionally it contains an inheritable enum type, an\nexception structure that supports multiple types of nested-Exceptions\nand a series of utilities dedicated to help with building methods, such\nas hashCode, toString and equals.\n\nWith version of commons-lang 3.x, developers decided to change API and\ntherefore created differently named artifact and jar files. This is\nthe new version, while apache-commons-lang is the compatibility\npackage.",
      "externalRef": [
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/org.apache.commons/commons-lang3@3.20.0"
          ],
          "externalRefType": "other"
        }
      ],
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16468",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd16472",
      "name": "slf4j",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/d5dc399c94eea659ed2585c32a1ad22148342df12e300f0fa481873cdbf6214a-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/slf4j@1.7.36-1.oe2609?arch=noarch&epoch=0&upstream=slf4j-1.7.36-1.oe2609.src.rpm",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Simple Logging Facade for Java(SLF4J)",
      "software_packageVersion": "0:1.7.36-1.oe2609",
      "software_homePage": "http://www.slf4j.org/",
      "description": "The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various\nlogging frameworks (e.g. java.util.logging, logback, log4j) allowing the end user to plug in the\ndesired logging framework at deployment time.Before you start using SLF4J, we highly recommend\nthat you read the two-page SLF4J user manual. Note that SLF4J-enabling your library implies the\naddition of only a single mandatory dependency, namely slf4j-api.jar. If no binding is found on\nthe class path, then SLF4J will default to a no-operation implementation. In case you wish to\nmigrate your Java source files to SLF4J, consider our migrator tool which can migrate your project\nto use the SLF4J API in just a few minutes. In case an externally-maintained component you depend\non uses a logging API other than SLF4J, such as commons logging, log4j or java.util.logging, have\na look at SLF4J's binary-support for legacy APIs.",
      "externalRef": [
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/org.slf4j/slf4j-api@1.7.36"
          ],
          "externalRefType": "other"
        },
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/org.slf4j/slf4j-nop@1.7.36"
          ],
          "externalRefType": "other"
        },
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/org.slf4j/slf4j-simple@1.7.36"
          ],
          "externalRefType": "other"
        }
      ],
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd3463",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd3465",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Java packages filesystem layout",
      "software_packageVersion": "0:6.2.0-1.oe2609",
      "software_homePage": "https://github.com/fedora-java/javapackages",
      "description": "This package provides some basic directories into which Java packages\ninstall their content.",
      "name": "javapackages-filesystem",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/d5dc399c94eea659ed2585c32a1ad22148342df12e300f0fa481873cdbf6214a-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/javapackages-filesystem@6.2.0-1.oe2609?arch=noarch&epoch=0&upstream=javapackages-tools-6.2.0-1.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd17099",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/SPDXRef-gnrtd17105",
      "name": "velocity",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/d5dc399c94eea659ed2585c32a1ad22148342df12e300f0fa481873cdbf6214a-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/velocity@2.3-2.oe2609?arch=noarch&epoch=0&upstream=velocity-2.3-2.oe2609.src.rpm",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Java-based template engine",
      "software_packageVersion": "0:2.3-2.oe2609",
      "software_homePage": "https://velocity.apache.org",
      "description": "Velocity is a Java-based template engine. It permits anyone to use the\nsimple yet powerful template language to reference objects defined in\nJava code.\nWhen Velocity is used for web development, Web designers can work in\nparallel with Java programmers to develop web sites according to the\nModel-View-Controller (MVC) model, meaning that web page designers can\nfocus solely on creating a site that looks good, and programmers can\nfocus solely on writing top-notch code. Velocity separates Java code\nfrom the web pages, making the web site more maintainable over the long\nrun and providing a viable alternative to Java Server Pages (JSPs) or\nPHP.\nVelocity's capabilities reach well beyond the realm of web sites; for\nexample, it can generate SQL and PostScript and XML (see Anakia for more\ninformation on XML transformations) from templates. It can be used\neither as a standalone utility for generating source code and reports,\nor as an integrated component of other systems. Velocity also provides\ntemplate services for the Turbine web application framework.\nVelocity+Turbine provides a template service that will allow web\napplications to be developed according to a true MVC model.",
      "externalRef": [
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/org.apache.velocity/velocity@2.3"
          ],
          "externalRefType": "other"
        },
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/velocity/velocity@2.3"
          ],
          "externalRefType": "other"
        },
        {
          "type": "ExternalRef",
          "comment": "v2_refCategory=PROVIDE_MANAGER;v2_refType=purl",
          "locator": [
            "pkg:maven/org.apache.velocity/velocity-engine-core@2.3"
          ],
          "externalRefType": "other"
        }
      ],
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/additionalToolSPDXRef-gnrtd3",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_1"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/everything/aarch64-663c9b2e-215e-45cc-b37e-8ad2a96dc761-specv3/additionalToolSPDXRef-gnrtd1",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_0"
    }
  ]
}