diff --git a/README.md b/README.md index e2d048e63..49cc4af21 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ - [The Profiles Vocabulary (Editors' Draft)](https://w3c.github.io/dxwg/prof/) - [The Profiles Vocabulary Second Public Working Draft](https://www.w3.org/TR/2019/WD-dx-prof-20190402/) - [The Profiles Vocabulary First Public Working Draft](https://www.w3.org/TR/2018/WD-dx-prof-20181218/) -- [Content Negotiation by Profile (Editors' Draft)](https://w3c.github.io/dxwg/conneg-by-ap/) +- [Content Negotiation by Profile (Editors' Draft)](https://w3c.github.io/dxwg/connegp/) - [Content Negotiation by Profile Second Public Working Draft](https://www.w3.org/TR/2019/WD-dx-prof-conneg-20190430/) - [Content Negotiation by Profile First Public Working Draft](https://www.w3.org/TR/2018/WD-dx-prof-conneg-20181218/) diff --git a/conneg-by-ap/altr.svg b/connegp/altr.svg similarity index 100% rename from conneg-by-ap/altr.svg rename to connegp/altr.svg diff --git a/conneg-by-ap/altr.ttl b/connegp/altr.ttl similarity index 100% rename from conneg-by-ap/altr.ttl rename to connegp/altr.ttl diff --git a/conneg-by-ap/config.js b/connegp/config.js similarity index 78% rename from conneg-by-ap/config.js rename to connegp/config.js index 6709a905d..6264a71cc 100644 --- a/conneg-by-ap/config.js +++ b/connegp/config.js @@ -1,5 +1,5 @@ var respecConfig = { - specStatus: "WD", + specStatus: "ED", shortName: "dx-prof-conneg", edDraftURI: "https://w3c.github.io/dxwg/conneg-by-ap/", previousPublishDate: "2019-04-30", @@ -56,17 +56,6 @@ var respecConfig = { date: "2008-05-22", status: "Internet-Draft" }, - "PROF-CONNEG": { - editors: [ - "Lars G. Svensson", - "Rob Atkinson", - "Nicholas J. Car" - ], - href: "https://www.w3.org/TR/2018/WD-dx-prof-conneg-20181218/", - title: "Content Negotiation by Profile", - date: " 2018-12-18", - status: "W3C First Public Working Draft" - }, "PROF-GUIDANCE": { editors: [ "Rob Atkinson", @@ -88,16 +77,6 @@ var respecConfig = { title: "Indicating and Negotiating Profiles in HTTP", date: " 2019-07-11", status: "IETF Internet Draft" - }, - "PROF": { - editors: [ - "Rob Atkinson", - "Nicholas J. Car" - ], - href: "https://www.w3.org/TR/2018/WD-dx-prof-20181218/", - title: "Profile Descriptions ontology", - date: "2018-12-18", - status: "W3C First Public Working Draft" } } }; diff --git a/conneg-by-ap/extra.css b/connegp/extra.css similarity index 100% rename from conneg-by-ap/extra.css rename to connegp/extra.css diff --git a/conneg-by-ap/index.html b/connegp/index.html similarity index 94% rename from conneg-by-ap/index.html rename to connegp/index.html index 998ee9089..a3cfd7ff3 100644 --- a/conneg-by-ap/index.html +++ b/connegp/index.html @@ -24,7 +24,7 @@
Describing how resource representations conform to profiles and how profiles and specifications relate to one + another is not part of this specification. Some aspects of those questions are addressed by the Profiles Vocabulary - [[?PROF]], also produced by the DXWG. + [[?DX-PROF]], also produced by the DXWG.
Content-Profile: <https://joinup.ec.europa.eu/release/geodcat-ap-v10>, <https://joinup.ec.europa.eu/release/statdcat-ap/101>
@@ -746,7 +746,7 @@
A service MAY implement multiple functional profiles, including HTTP, QSA and possibly other approaches. @@ -767,17 +767,20 @@
- This section illustrates a few conformant functional profiles of this - specification's Abstract Model for different system environments. These - functional profiles are formally described in - and may be used within different environments - wishing to conform to this specification. Implementation of the profiles - illustrated here is not mandatory; any profile that conforms to the + This section illustrates a few functional profiles of this + specification's Abstract Model for different system environments. They + may be conformed to by systems operating within different environments + wishing to conform to this specification. Conforming to the profiles + illustrated here is not mandatory; conformance to any profile that conforms to the Abstract Model fulfills conformance to this specification.
- This document provides functional profiles for two environments: HTTP and human browser (Query String - Arguments). For the human browser environment, two functional profiles are presented to demonstrate different modes of use. + This specification provides functional profiles of the abstract model for two environments: HTTP and human browser (Query String + Arguments). It also provides a functional profile that has the single function to respond with which profile(s) + a server response conforms to, and which can be used in multiple environments. +
++ For the human browser environment, two functional profiles are presented to demonstrate different modes of use. Further functional profiles of this specification MAY be implemented either for other environments and or even for constrained scenarios within these environments, and implementers are encouraged create additional profiles conforming to this specification. @@ -788,26 +791,14 @@
- This specification defines several functional profiles to which systems may conform. - These functional profiles are identified by URIs and given in the table below. -
- If a system wishes to show conformance to this specification, conformance to at least one functional profile of - it, such as those listed MUST be indicated. - is not an exhaustive list of functional profiles of this specification and users MAY instead make others - for their environments, as described in the previous section. -
-- The namespace prefix for the functional profiles used in , the table below, is: + The functional profiles of this specification provided here are listed in . + The namespace prefix for them is:
cnpr
→ http://www.w3.org/ns/dx/conneg/profile/
To conform to the "QSA Functional Profile", the QSA key _profile
MUST be used to indicate a
- profile token or URI and SHOULD use _mediatype
to indicate a resource representation's Media
+ profile token or URI and the key _mediatype
SHOULD be used to indicate a resource representation's Media
Type.
When conforming to the profile "QSA Alternate Keywords Functional Profile", any key values acceptable within the specification of [[RFC3986]] MAY be used to indicate the desired profile. @@ -1678,14 +1668,19 @@
http://www.w3.org/ns/dx/conneg/altr
. This is demonstrated
+ in which is an extension to .
@@ -1719,31 +1714,35 @@QSA key discovery
HTTP/1.1 200 OK Link: - <http://example.org/resource/a?view=profile-x>; + <http://example.org/resource/a?view=profile-x&format=text/html>; rel="self"; type="text/html"; profile="http://otherexample.org/profile/x", + <http://example.org/resource/a?view=profile-x&format=text/turtle>; + rel="self"; + type="text/turtle"; + profile="http://otherexample.org/profile/x", <http://example.org/resource/a?view=profile-y&format=text/xml>; rel="alternate"; type="text/xml"; - profile="http://otherexample.org/profile/y", - <http://example.org/resource/a?view=altprofiles>; + profile="http://otherexample.org/profile/y" + <http://example.org/resource/a?view=altrep&format=application/ld+json>; rel="alternate"; type="application/ld+json"; - profile="http://www.w3.org/ns/dx/conneg/altprofiles" + profile="http://www.w3.org/ns/dx/conneg/altr" [default response content]
shows that for resource /resource/a
there is a
representation of it that conforms to the specification/profile
- http://www.w3.org/ns/dx/conneg/altprofiles
which is the URI identifying the Alternate Profiles
- Data Model defined in . Since the example also shows the QSA
- view=altprofiles
can be used to formulate a request for this representation, dereferencing
- http://example.org/resource/a?view=altprofiles
will generate a response that also yields the
- content of the request in but, since it is conformant to the
- Alternate Profiles Data Model, the HTTP body of that response will also list the alternate profiles for
- /resource/a
as opposed to the default representation of it.
+ http://www.w3.org/ns/dx/conneg/altr
which is the URI identifying the Alternate Profiles
+ Data Model defined in .
+
The example also shows the QSA view=altrep
can be used to formulate a request for a Alternate
+ Profiles Data Model-conformant response. Dereferencing http://example.org/resource/a?view=altrep
+ will therefore generate a response that also yields equivalent content to the Link
header content
+ in rather than the default representation of /resource/a
.
This specification contains a number of distinct functional profiles that are identified and described in words in - . This appendix presents descriptions of these functional profiles, and the relations - between them, according to the Profiles Vocabulary [[?PROF]]. + . This appendix presents descriptions of these functional profiles, and the relations + between them, according to the Profiles Vocabulary [[?DX-PROF]].
The RDF (turtle syntax) code in Code Listing 1 defines Content Negotiation
by Profile as a dct:Standard
, the definition
- of which in [[?PROF]] matches the definition of specification in this document. Note that, since this
+ of which in [[?DX-PROF]] matches the definition of specification in this document. Note that, since this
document is describing behaviours, this specification is a functional specification. The 4 profiles of it are
then, as per regular PROF modelling, termed
prof:Profiles
. These 4 functional profiles are presented in a hierarchy with the profiles either directly
@@ -1973,14 +1971,14 @@
-CODE LISTING 1: Description of this specification and its profiles, as listed in +CODE LISTING 1: Description of this specification and its profiles, as listed in using the Profiles Vocabulary.@prefix dct: <http://purl.org/dc/terms/> . @@ -2040,39 +2038,44 @@Profiles of this specification
hierarchy. -- +Demonstrating conformance to profiles
-- With the identification of profiles of this specification given in and - their relations described using the Profiles Vocabulary [[?PROF]] in this appendix, it is possible for - resources to show conformance to the this specification or any of the profiles by using mechanisms recommended - in [[?PROF]]. PROF's recommendation is that any resource, for example
-<http://example.org/resource/a>
, - wishing to claim conformance to a specification or a profile use the [[DCTERMS]] -- dct:conformsTo
predicate like this: --
-<http://example.com/resource/a> dct:conformsTo <SPEC_OR_PROFILE_URI> .
-- The
-<SPEC_OR_PROFILE_URI>
may be this specification's URI but, in the best case, would be - one of the profile URIs listed in since it is much clearer what is being - conformed to when the profile URIs are cited as they are narrow in scope than the specification as a whole. -- The code in Code Listing 2 shows an imaginary Web Service documented using - [[?VOCAB-DCAT-2]] and borrowing parts from its examples, such as - Example 49, - that includes a
-dct:conformsTo
predicate as [[?VOCAB-DCAT-2]], as well as [[?PROF]], suggest for - use. Conformance here is claimed to be to the QSA Alternate Keywords Functional Profile profile indicated by - the URIhttp://www.w3.org/ns/dx/conneg/profile/qsa-alt
, as it is identified in - . -++ Demonstrating system conformance to Functional Profiles
++ With the identification of functional profiles of this specification given in and + their relations described using the Profiles Vocabulary [[?DX-PROF]] in this appendix, it is possible for + systems to show conformance to this specification or any functional profile of it using [[?DX-PROF]] mechanisms. + This is done using the [[DCTERMS]] predicate
+dct:conformsTo
+ so that, for example, a system identified with the URI<http://example.org/system/a>
claiming to + conform to a specification or functional profile identified by URI <SPEC_OR_PROFILE_URI> would do so like this: ++
+<http://example.com/system/a> dct:conformsTo <SPEC_OR_PROFILE_URI> .
++ The
+<SPEC_OR_PROFILE_URI>
may be this specification's URI,https://www.w3.org/TR/dx-prof-conneg/
, but in the best case, would be + one of the profile URIs listed in or another functional profile's URI, + since it is much clearer what is being conformed to when functional profile URIs are cited as they are narrower + in scope than the specification as a whole. ++ A system wishing to claim conformance to multiple conformance targets - the specification or + functional profiles of it - may do so with multiple uses of
+dct:conformsTo
. ++ The code in Code Listing 2 shows an imaginary Web Service documented using + [[?VOCAB-DCAT-2]] and borrowing parts from its examples, such as + Example 49. + Included is the predicate
+dct:conformsTo
used as per [[?VOCAB-DCAT-2]] & [[?DX-PROF]]. + Conformance here is claimed to the QSA Alternate Keywords Functional Profile profile which is indicated by + the URIhttp://www.w3.org/ns/dx/conneg/profile/qsa-alt
, identified as per + . +--CODE LISTING 2: An example Web Service claiming conformance to the QSA Alternate Keywords +CODE LISTING 2: An example Web Service claiming conformance to the QSA Alternate Keywords Functional Profile of this specification<http://example.com/service/xx> @@ -2095,7 +2098,6 @@Demonstrating conformance to profiles
# Swagger UI system dcat:endpointDescription <http://example.com/service/v2/xx/swagger> ;