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/charter/index.html b/charter/index.html index a61327b25..bca483a8e 100644 --- a/charter/index.html +++ b/charter/index.html @@ -138,11 +138,11 @@
DCAT has known gaps in coverage, for example around time series and versions. DCAT has been successful and is in wide use, but these gaps must be addressed if usage is to continue to grow across different communities and the variety of metadata schemas is to reduce.
Maximizing interoperability between services such as data catalogs, e-Infrastructures and virtual research environments requires not just the use of standard vocabularies but of application profiles. These define how a vocabulary is used, for example by providing cardinality constraints and/or enumerated lists of allowed values such that data can be validated. The development of several application profiles based on DCAT, such as the European Commission's DCAT-AP is particularly noteworthy in this regard.
-Rather than limit the number of metadata standards and application profiles in use, systems should be able to expose and ingest (meta)-data according to multiple standards through transparent and sustainable interfaces. We thus need a mechanism for servers to indicate the available standards and application profiles, and for clients to choose an appropriate one. This leads to the concept of content negotiation by application profile, which is orthogonal to content negotiation by data format and language that is already part of HTTP. A new RFC on this topic currently under development at IETF with input from the Dataset Exchange Working Group, is based on the draft presented at the SDSVoc workshop. The combination of DXWG's definition of what is meant by "application profile", together with the DXWG view of how clients and servers may interact in different ways based on these profiles, together with this external work will provide a powerful means to exchange data in any format (JSON, RDF, XML etc.) according to declared structures against which the data can be validated.
+Rather than limit the number of metadata standards and application profiles in use, systems should be able to expose and ingest (meta)-data according to multiple standards through transparent and sustainable interfaces. We thus need a mechanism for servers to indicate the available standards and application profiles, and for clients to choose an appropriate one. This leads to the concept of content negotiation by application profile, which is orthogonal to content negotiation by data format and language that is already part of HTTP. A new Internet Draft on profile negotiation currently under development at IETF with input from the Dataset Exchange Working Group, is based on the draft presented at the SDSVoc workshop. The combination of DXWG's definition of what is meant by "application profile", together with the DXWG view of how clients and servers may interact in different ways based on these profiles, together with this external work will provide a powerful means to exchange data in any format (JSON, RDF, XML etc.) according to declared structures against which the data can be validated.
The goals of the working group are to maintain the version 2 of DCAT and extend the standard to version 3 in line with work done to date and the ongoing work on dataset exchange being undertaken by communities more generally, and to develop to a recommendation the work undertaken in the 2017-2019 charter period on content negotiation by profile.
@@ -253,7 +253,10 @@It is expected that within the charter period the deliverables will enter the W3C "evergreen" standards process and procedures and deliverables will transition at an appropriate time.
+The participants of the Working Group look forward to + moving this work to an "Evergreen standard" model + as is being discussed for Process 2020. +
@@ -278,14 +281,14 @@The work of this CG is of direct relevance to the concept of application profiles.
This WG is expected to have completed its work shortly after the DXWG is formed, however, efforts should be made to liaise with its community.
This CG is continuing work on the W3C Shapes Constraint Language Recommendation. Efforts should be made to liaise with its community.
This CG is clearly of high relevance to the DXWG
Ensure that the mechanisms being standardized by the ODRL Community Group for machine readable permissions, obligations, licenses, rights etc. are given due consideration.
Ensure that the mechanisms of the W3C ODRL Recommendation being maintained by the ODRL Community Group for machine readable permissions, obligations, licenses, rights etc. are given due consideration.
+ This document reports implementations of the Content Negotiation by Profile Candidate Recommendation [[DX-PROF-CONNEG]]. +
++ Content Negotiation by Profile describes how Internet clients may negotiate for content provided by servers based on data profiles to which the content conforms. +
++ In this document we will employ the following namespace prefixes: +
+cnpr
http://www.w3.org/ns/dx/conneg/profile/
earl
http://www.w3.org/ns/earl#
We followed the steps described below to collect evidence for the revisions proposed in [[DX-PROF-CONNEG]]:
++ We verified the claims made by the various implementations using a test suite which is detailed in +
++ To verify the claims of implementations, test suite software was created. The software used the + Apache jMeter application to run a series of external tests against + implementations, testing for each aspect of the normative instructions per functional profile. +
++ The code for the test suite is stored in the following code repository: +
+ ++ That repository contains notes on how to apply the test suite. +
++ The results from applying this test suite to implementations are given in the tables in . +
+The namespace prefixes for the functional profiles used in Table 1 below, are:
+cnpr
→ http://www.w3.org/ns/dx/conneg/profile/
+ URI | +Name | +Description | +
---|---|---|
cnpr:http |
+ HTTP Headers Functional Profile | +For systems operating with the HTTP [[RFC7230]] protocols | +
cnpr:qsa |
+ URL QSA Functional Profile | +For systems negotiating for content with the use of URL Query String Arguments (cf. [[RFC3986]] for a definition of Query String Arguments in the context of URIs) and using the _profile argument key and _profile=all key/value pair |
+
cnpr:qsa-alt |
+ URL QSA Alternate Keywords Functional Profile | +For systems negotiating for content with the use the use of URL Query String Arguments (cf. [[RFC3986]] for a definition of Query String Arguments in the context of URIs) and using key values of their choice | +
cnpr:rrd |
+ Resource Representation Description | +For systems wanting to indicate that they are able to indicate which profile(s) responses returned conform to | +
ID | +Name | +Description | +Implementer(s) | +Location online | +|
---|---|---|---|---|---|
I1 | +pyLDAPI | +A Python module that adds Linked Data API functionality to a Python Flask (a web framework) installation. | +Nicholas J. Car | +
+
|
+ |
I2 | +PHP ConnegP | +A library of PHP functions for HTTP Content Negotiation by Profile | +Nicholas J. Car | +
+
|
+ |
I3 | +OGC Definitions Server | ++ | Rob Atkinson | ++ | write-up | +
I4 | +CKAN DCAT Plugin | +A existing extension module for the CKAN – the open source data portal – that already had a non-standard way of conducting Content Negotiation by Profile that has now been enhanced to meet the ConnegP specification | +
+
|
+ + + | +
+ The editors gratefully acknowledge the contributions made to gathering evidence for [[DX-PROF-CONNEG]] and reviewing + this report by all members of the + working group, especially Annette Greiner. +
+When selecting a content negotiation mechanism, an Internet client may use the HTTP protocol, but it may also use - other methods for providing instructions to a server. One potential mechanism is URI Query String + other methods for providing instructions to a server. One potential mechanism is URL Query String Arguments (QSAs). QSAs are useful for humans and machines for situations where negotiation via HTTP is not practical, such as when manually entering requests into web browsers. This specification provides an abstract model of content negotiation by profile and presents guidance on the use of two specific methods that conform to the abstract model, HTTP and QSA.
- The HTTP and QSA methods are defined as Functional Profiles of the Abstract Model. + The HTTP Header and URL QSA methods are defined as Functional Profiles of the Abstract Model. While this specification only describes these two Functional Profiles, it is expected that implementers will want to implement Functional Profiles of the Abstract Model for other environments, including environments that may be realized in the future.
@@ -78,8 +78,8 @@- While this specification only describes HTTP and QSA methods for content negotiation by profile, it is expected - that implementers will want to implement functionally equivalent methods for other environments, some of which may + While this specification only describes HTTP methods for content negotiation by profile via the HTTP Header and URL QSA Functional Profiles, it is expected + that implementers will want to implement functionally equivalent profiles for other environments, some of which may be not yet realized future environments.
- +DCAT is an RDF vocabulary designed to facilitate interoperability between data catalogs published on the Web. This document defines the schema and provides examples for its use.
@@ -47,7 +52,7 @@ This new version of the vocabulary updates and expands the original but preserves backward compatibility. A full list of the significant changes (with links to the relevent github issues) is described in .- The exit criteria for CR will focus on v2 new features that replicate features that were included in application profiles of v1 as a way of remedying missing and necessary elements. The exit criteria also include recent commitments by organisations such as EC Joinup to adopt the DCAT v2 model in their work - see https://joinup.ec.europa.eu/solution/abr-specification-registry-registries/document/specification-registry-registries-version-meeting-september. + The exit criteria for CR focussed on v2 new features that replicate features that were included in application profiles of v1 as a way of remedying missing and necessary elements. The exit criteria also included recent commitments by organisations such as EC Joinup to adopt the DCAT v2 model in their work - see https://joinup.ec.europa.eu/solution/abr-specification-registry-registries/document/specification-registry-registries-version-meeting-september. Implementation will be evidenced by showing use of the new properties/classes (or terms with equivalent meaning) in implementations of catalogs.
@@ -56,10 +61,6 @@
The original DCAT vocabulary was developed and hosted at the Digital Enterprise Research Institute (DERI), then refined by the eGov Interest Group, and finally standardized in 2014 [[?VOCAB-DCAT-20140116]] by the Government Linked Data (GLD) Working Group.
This revised version of DCAT was developed by the Dataset Exchange Working Group in response to a new se t of Use Cases and Requirements [[?DCAT-UCR]] gathered from peoples' experience with the DCAT vocabulary from the time of the original version, and new applications that were not considered in the first version. A summary of the changes from [[?VOCAB-DCAT-20140116]] is provided in .
-DCAT incorporates terms from pre-existing vocabularies where stable terms with appropriate meanings could be found, such as foaf:homepage
and dct:title
.
@@ -68,8 +69,7 @@
The (revised) DCAT vocabulary is available in RDF.
- The primary artefact dcat.ttl
is a serialization of the core DCAT vocabulary.
+ The primary artefact dcat2.ttl
is a serialization of the core DCAT vocabulary.
Alongside it are a set of other RDF files that provide additional information, including:
- This new DCAT feature is at risk, pending futher evidence of implementation. -
-RDF Property: | dcat:service |
---|
RDF Property: | dcat:catalog |
---|
RDF Property: | dcat:qualifiedRelation |
---|
RDF Property: | prov:qualifiedAttribution |
---|
RDF Property: | dcat:spatialResolutionInMeters |
---|
RDF Property: | dcat:temporalResolution |
---|
RDF Property: | prov:wasGeneratedBy |
---|
RDF Property: | odrl:hasPolicy |
---|
RDF Property: | dcat:accessService |
---|
RDF Property: | dcat:packageFormat |
---|
RDF Property: | dcat:hadRole |
---|
RDF Class: | dcat:Role |
---|
RDF Property: | dcat:startDate |
---|
RDF Property: | dcat:endDate |
---|
RDF Property: | dcat:bbox |
---|
RDF Property: | dcat:centroid |
---|