{
  "@context": "https://spdx.org/rdf/3.0.1/spdx-context.jsonld",
  "@graph": [
    {
      "@id": "_:creationInfo_1",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd2"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/additionalToolSPDXRef-gnrtd3"
      ],
      "created": "2026-07-04T06:18:35Z"
    },
    {
      "@id": "_:creationInfo_0",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd0"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/additionalToolSPDXRef-gnrtd1"
      ],
      "created": "2026-07-04T06:18:35Z"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd19296",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd19297"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd19292",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd19293",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd19294"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd19292",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd19294",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "GPLv3+ or CPL",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd19297",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "GPLv3+ or CPL",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd19295",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd19292",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/SPDXRef-gnrtd19295",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Metaheuristic modeling framework and optimization toolkit in modern C++",
      "software_packageVersion": "0:0.5.3-1.oe2403sp4",
      "software_homePage": "https://projects.coin-or.org/metslib",
      "description": "METSlib is a metaheuristic modeling framework and optimization toolkit in\nmodern C++ released as Free/Libre/Open Source Software.\n\nModel and algorithms are modular: any search algorithm can be applied to the\nsame model. On the other hand no assumption is made on the model, you can\nwork on any problem type: timetabling, assignment problems, vehicle routing,\nbin-packing and so on.\n\nOnce you have implemented your model in the problem framework, the library\nmakes easy testing different Tabu Search strategies or even different\nalgorithms (Simulated Annealing or other local search based algorithms) with\na few lines of code.",
      "name": "metslib-devel",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/1878cc60a19e65efc93d1a539275c5a6799b0acbd7796ee105712c44cae47ab4-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/metslib-devel@0.5.3-1.oe2403sp4?arch=noarch&epoch=0&upstream=metslib-0.5.3-1.oe2403sp4.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/additionalToolSPDXRef-gnrtd3",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_1"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-24.03-LTS-SP4/EPOL/main/x86_64-f564cbdc-f776-4454-88c1-914c6d644e96-specv3/additionalToolSPDXRef-gnrtd1",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_0"
    }
  ]
}