d3fend / d3fend-ontology

This repository holds the necessary content to produce the D3FEND ontology distribution.
https://d3fend.mitre.org
MIT License
53 stars 22 forks source link

Using package URLs to identify some SoftwarePackage #243

Open aamedina opened 2 months ago

aamedina commented 2 months ago

Addresses #227

aamedina commented 2 months ago

I removed the :PURL class and instead reverted to a previous idea which was to use a inverse functional property to identify some software package by URL. Then we don't need a new class for the "Package URL".

Let me know your thoughts on this approach.

:purl a owl:InverseFunctionalProperty,
        owl:ObjectProperty ;
    rdfs:label "has package URL" ;
    skos:altLabel "purl" ;
    rdfs:subPropertyOf :identified-by ;
    rdfs:domain :SoftwarePackage ;
    rdfs:range :URL ;
    rdfs:comment "A purl is a URL string used to identify and locate a software package in a mostly universal and uniform way across programming languages, package managers, packaging conventions, tools, APIs and databases." ;
    rdfs:isDefinedBy <https://schema.ocsf.io/objects/package> ;
    :definition "x has package URL y: The subject software package x is identified by the package URL y." ;
    rdfs:seeAlso <https://github.com/package-url/purl-spec/blob/master/PURL-SPECIFICATION.rst> .