Re: [dxwg] Remove prof:BaseSpecification (#641)

I have many doubts about the class `BaseSpecification` too. 
To me,  'base specification' [in the current draft](https://w3c.github.io/dxwg/profilesont/#Class:BaseSpecification) is not positing anything essential (where 'essence' is the notion from formal ontology) about the specification. Anything can be a 'base specification' as soon as it could serve as a base for a profile and it happens to not profile something else. In ontological terms, this notion of "base specification" is a role (albeit one defined negatively), not a type. 
And that negative definition is shaky in an open world. It could be that a base specification is a "base specification" is said to be so because the creator of the description for the profile judged that a dependency of the "base specification" on another spec was not worth being represented. Or just as a result of an omission. As @andrea-perego claiming that DCAT is a BaseSpecification can be questioned as DCAT reuses elements from other vocabularies (for example SKOS). 
I'd prefer to leave users find out what is such a "base specification" by querying for the instances of `dct:Standard` that are not the subject of `prof:isProfileOf` statements, just case-by-case, and based on available links, not types. Is there any requirement that needs us to reify a query for (absence of) `prof:isProfileOf` statements, with a class that has a debatable ontological ground?

And actually the problem of ontological grounding may be even worse. In fact @nicholascar 's answer about the DCAT example provides a good hint

>From the point of view of DCAT-AP, DCAT may indeed be it's Base Spec.

This is saying that a "base specification" is defined from the perspective of the profile that profiles it. This is the other 'direction' than the [current definition for BaseSpecification](https://w3c.github.io/dxwg/profilesont/#Class:BaseSpecification), which says

>A specification that defines all implementation constraints, without applying constraints on usage of another specification

or even better the definition in the ESWC paper

>prof:BaseSpecification: a dct:Standard that does not profile anything

Are we conceiving a "base specification" as something that's profiled by something, or something that doesn't profile anything else?

The [original definition we have for profile](https://www.w3.org/2017/dxwg/wiki/ProfileContext#Definitions_of_Profile.2C_Application_Profile.2C_Metadata_Application_Profile) 

> A named set of constraints on one or more identified base specifications, including the identification of any implementing subclasses of datatypes, semantic interpretations, vocabularies, options and parameters of those base specifications necessary to accomplish a particular function

Rather than trying to introduce a new understanding of what a "base specification" is, I think we should stick to that one, just accepted that it doesn't state anything on whether the base specification for a profile should (not) be a profile of something else. 

And now for the final point: in this "original" view, prof:BaseSpecification would be anything that is the object of a prof:isProfileOf statement. But even if the meaning would be different from the "current" view, I would still not be convinced that we need a class, for a similar reason to the one I explained above. 'Reifying'  the presence of a statement as a class brings us only more work and dubious ontological distinctions. In other words, this is a splendid opportunity to apply Occam's razor.




-- 
GitHub Notification of comment by aisaac
Please view or discuss this issue at https://github.com/w3c/dxwg/issues/641#issuecomment-452506726 using your GitHub account

Received on Tuesday, 8 January 2019 23:56:03 UTC