w3c / dxwg

Data Catalog Vocabulary (DCAT)
https://w3c.github.io/dxwg/dcat/
Other
150 stars 47 forks source link

What is a profile? #435

Open kcoyle opened 6 years ago

kcoyle commented 6 years ago

Many of our issues for the profile guidance document hinge on our definition of profile. I'm going to suggest some functions that a profile must/may/should have as a start to that conversation.

(No, I'm not sure about all of this - just tossing out every idea I can come up with to aid discussion.)

kcoyle commented 6 years ago

Instead of the layered view given in the DC Singapore Framework I've been thinking about a more function-based view, something like: profile

kcoyle commented 6 years ago

Here's more or less what I had in mind for using examples to talk about types of profiles:

Profiles can take a number of forms and can have a variety of relationships to existing vocabularies, standards, and other profiles. Although it is not possible to list all of the types of profiles, some common types are:

(I don't think I fully understand ODRL - need help from Antoine. It may not be different from DCAT as a type.)

aisaac commented 6 years ago

I am not 100% sure about ODRL but this seems rather right to me anyway.

The same for the rest. I cannot vouch for everything as I've got a pretty bad bird's eye view of our requirements right now and no time to check. Therefore I can't say whether our requirements overlap or exactly match with these MUST/SHOULD/MAYs, these functions and these types. But I must recognize that (1) the general approach goes in a very interesting direction and (2) that these lists look really, really credible to me :-)

nicholascar commented 6 years ago

The profile MAY be based on one or more known community standards, for interoperability within that community ("profile of X")

Can we extend that to say rather

"The profile MAY be based on one or more known community standards, for interoperability within that community ("profile of X") and, when it is, it must indicate that basis".

kcoyle commented 6 years ago

@nicholascar updated as indicated

smrgeoinfo commented 5 years ago

What is a profile for? My answer would be that the purpose is to convey to an agent (human or software) information necessary for it to determine whether the target of a hypermedia affordance (machine actionable link) is available in a representation (serialization + vocabulary + conventions) that the agent can use for some process it wants to execute. In practice, the affordance could specify a representation profile using a URI value that would dereference to a profile description; there might also be tokens like MIME types to use in content negotiation.

This profile ontology needs to define an information model for 'specifications' to allow intelligent clients to determine whether something conforming to the specification is going to be useful. What we'd like is that a URI identifying a spec can be dereferenced to obtain a description of the spec. For humans, a document describing the specification should be available. An rdf representation using the prof:Profile ontology would be for software agents. This machine actionable description asserts relationships between a described spec (the profile) and other known specifications, conformance tests, or(?) some other kind of artefact. It seems to me that there are likely to be a variety of these kind of relationships, which would be specified by the prof:ResourceRole vocabulary proposed in the draft profile doc.

kcoyle commented 5 years ago

@smrgeoinfo Thanks for that. Our charter asks us to define and create guidance for profiles in general, not specifically DCAT profiles. With that in mind, could you revise/devise an answer that is not specific to DCAT? I think the new wording would begin after "whether the target ... " It would be great if you could complete that sentence. Much appreciated!

rob-metalinkage commented 5 years ago

@smrgeoinfo - we have implemented a profiles ontology to meet precisely these concerns. It also is limited to those concerns not expressable in other canonical vocabularies.

So it does directly define all the properties a given community may need to define a specification - but under the open world assumption things like skos:Definition, prov:wasDerivedFrom, dc:author would be appropriate.

w.r.t. "conforming to the specification is going to be useful" - the profiles ontology partially addresses this by identifying the implications in terms of conformance to more general specifications. Describe "usefulness" beyond that is very challenging to do perfectly - but we have now an object type that can be further modelled by communities of practice with their own profiles. The profiles ontology supports interoperability at this declarative level between such communities primarily.

At the OGC I will indeed adapt Simon Cox's proposed modular specification OWL model - and create additional rules about such metadata - as a profile of the profiles ontology to meet the OGC's needs when publishing specifications and profiles thereof.

Its all very RDF - turtles all the way down and Open World

smrgeoinfo commented 5 years ago

@kcoyle I revised language to talk about 'hypermedia affordance', which I believe is the generalized concept we're interested in.

@rob-metalinkage sounds like we're on the same page, but isn't this dxwg project more about the information model/vocabulary for describing a specification and its relationship to other base specifications (if it's a profile)? I think 'determining if the representation is useful' will have to be based on a client's prior knowledge. If it recognizes the identifier for a profile, or get the representation for the profile and finds out it's based on a known spec, then it might be useful; if the client doesn't recognize anything about the offered representation, it moves on to the next affordance in the document being parsed. This is why clarifying the implications of 'profileOf' is critical.

kcoyle commented 5 years ago

Possible wording about conformance (if we decide to address conformance) here.

aisaac commented 5 years ago

@kcoyle while surveying this old issue I wanted to check: does the recent content at https://w3c.github.io/dxwg/profiles/#functions cover your proposal at https://github.com/w3c/dxwg/issues/435#issuecomment-426525881 I believe it should. If it does, then I believe that the only point needed to close this issue is to include your proposal at https://github.com/w3c/dxwg/issues/435#issuecomment-426928897 into the document.

aisaac commented 5 years ago

As I'm progressing in my re-reading of the current doc next to the issue, I may have found the missing bit of @kcoyle 's diagram: the "vocabulary" aspect. This maybe relates to a note I've left at https://w3c.github.io/dxwg/profiles/#RPFNCTERMS "It could also be in roles/functions if there is nothing there about defining terms". This requirement has two faces: it can serve as definition of profiles, but at the same time it spells out a key function of profile ("vocabulary" as Karen captures it) which has no corresponding requirement in our current "functions" section. @kcoyle is this reading correct?

kcoyle commented 5 years ago

I'm not sure what the sentence means regarding roles/functions. A role or function would be expressed as a property or a value. What else is there?

aisaac commented 5 years ago

Sorry out of context it's indeed "It could also be in roles/functions if there is nothing there about defining terms"" means "It could also be in the section about functions if there is nothing there about the function of defining/listing terms". Basically:

So should we split the requirement RPFNCTERMS so that it contributes both to the definition (as it is now) and to the list of functions (by embodying the "vocabulary" function)?

kcoyle commented 5 years ago

@aisaac I agree with your note in that section that the requirement in 2.1 is also be a function. I think it belongs in both places. (Note: that requirement is missing its short name - it's [RPFNCTERMS])

aisaac commented 5 years ago

Thanks @kcoyle ! I'm going to work it into our working space for the first sections, and raise on the original issue (#275 ) the possibility to dually classify it, and reflect this in the UCR doc.

aisaac commented 5 years ago

Replying to my own comment at https://github.com/w3c/dxwg/issues/435#issuecomment-460340172 The list of examples of https://github.com/w3c/dxwg/issues/435#issuecomment-426928897 is included in the document as per https://github.com/w3c/dxwg/pull/738 Everyone, are you happy with https://rawgit.com/w3c/dxwg/updates-intro/profiles/#examplesrelatedwork ?

Once this PR is approved the only obstacle to closing this issue is what's described at https://github.com/w3c/dxwg/issues/435#issuecomment-460800702