Re: ISSUE-95 Discussions

On 5/02/2016 2:10 AM, Arthur Ryman wrote:
> Holger,
>
> 1. The HTML file is a simple translation of the Turtle file. This
> keeps them consistent. The Best Practices doc recommends that we make
> the vocabulary available in multiple formats via HTTP Content
> Negotiation. If we auto-generate the HTML and RDF/XML from Turtle then
> there is no authoring burden.

Sure.

>
> 2. As I said, we should move towards Javascript and ReSpec for this
> purpose. Furthermore, the source code for any generator must be
> checked in to the w3c repo so that any present or future editor can
> regenerate. Using Javascript and ReSpec simplifies the process.

Why is this a MUST? As long as we have some workable process to produce 
the new HTML file until the end of the WG, we should be fine. As I said 
in another email, I think the current XSLT doesn't make use of extra 
information from the shape definitions, which would be a wasted opportunity.

>
> 3. There are actually two URIs involved here, namely the namespace URI
> which acts as the prefix for terms, and the vocabulary URI which names
> the vocabulary and is conventionally used as the object of
> rdfs:isDefinedBy triples. These two URIs are conceptually distinct but
> in practice they are the same, or differ only by the addition of a #
> on the namespace URI.
>
> I believe we all agree that the namespace URI ends in a #.
>
> You want to drop the # for the vocabulary URI. Personally, I think it
> is simpler to make these two URIs the same, which means they end in #.
>
> However, we are producing a W3C spec so we should be consistent for
> W3C practices. However, there is variation within W3C. I suggest we
> ask Eric to give us guidance.
>
> RDF and RDFS name the vocabulary with an ending # and terms refer to that, e.g.
>
> RDF
>
> <http://www.w3.org/1999/02/22-rdf-syntax-ns#> a owl:Ontology ;
> dc:title "The RDF Concepts Vocabulary (RDF)" ;
> dc:description "This is the RDF Schema for the RDF vocabulary terms in
> the RDF Namespace, defined in RDF 1.1 Concepts." .
>
> rdf:HTML a rdfs:Datatype ;
> rdfs:subClassOf rdfs:Literal ;
> rdfs:isDefinedBy <http://www.w3.org/1999/02/22-rdf-syntax-ns#> ;
>
>
> RDFS
>
> <http://www.w3.org/2000/01/rdf-schema#> a owl:Ontology ;
> dc:title "The RDF Schema vocabulary (RDFS)" .
>
> rdfs:Resource a rdfs:Class ;
> rdfs:isDefinedBy <http://www.w3.org/2000/01/rdf-schema#> ;
>
> OWL drops the # from the vocalulary URI, but includes it when
> referring to it from terms. This strikes me as inconsistent.
>
> OWL
>
> <http://www.w3.org/2002/07/owl> a owl:Ontology ;
>       dc:title "The OWL 2 Schema vocabulary (OWL 2)" ;
>
> owl:AllDifferent a rdfs:Class ;
>       rdfs:label "AllDifferent" ;
>       rdfs:comment "The class of collections of pairwise different
> individuals." ;
>       rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;

To track the #-or-not decision, I have opened a ticket

https://www.w3.org/2014/data-shapes/track/issues/121

Thanks,
Holger


>
> -- Arthur
>
> On Thu, Jan 28, 2016 at 11:45 PM, Holger Knublauch
> <holger@topquadrant.com> wrote:
>> On 29/01/2016 3:34 AM, Arthur Ryman wrote:
>>
>> Holger & WG,
>>
>> One of the principles of good RDF design is to treat URIs as opaque.
>> That means applications should not assume that a URI conforms to any
>> given pattern. In principle the URI of an ontology could be completely
>> unrelated to the URIs of its terms. We all probably think that is a
>> terrible thing to do, but RDF seems to strive towards accommodating
>> any conceivable way of working. Therefore we should always be explicit
>> about the relation between a term and its defining ontology, hence the
>> presence of the explicit rdfs:isDefinedBy triples.
>>
>> The use of explicit rdfs:isDefinedBy triples also allows you to easily
>> split up a large vocabulary into multiple graphs. This decouples the
>> vocabulary from how it is stored in graphs. Furthermore, it
>> distinguishes vocabulary terms from other resources that might be
>> present in a given graph. In effect, we are treating all subjects of
>> rdfs:isDefinedBy as vocabulary terms. This is handy for individual
>> terms defined by a vocabulary, i.e. terms that are neither classes nor
>> properties.
>>
>>
>> The latter paragraph has convinced me :) We will have at least two files on
>> the web: the RDFS vocabulary and a SHACL file extending the vocabulary with
>> a more detailed "schema" to validate SHACL files. I suggest that each
>> resource gets two rdfs:isDefinedBy triples, pointing to both files so that
>> tools can discover the SHACL definitions too.
>>
>>
>> The use of hash URIs is one of the W3C recommended best practices for
>> publishing RDF [1]. It is therefore convenient to make the URI of the
>> ontology end with a hash. This is simply a convention that several
>> prominent W3C vocabularies use.
>>
>> [1] https://www.w3.org/TR/swbp-vocab-pub/
>>
>>
>> The reference [1] above points at SKOS as the flagship example:
>>
>>      https://www.w3.org/TR/swbp-vocab-pub/#hash
>>
>> But SKOS uses the pattern that I also promote:
>>
>>      The URI for the SKOS Core Vocabulary itself is:
>>
>>      http://www.w3.org/2004/02/skos/core
>>
>> and if you look at the Turtle from
>>
>> http://www.w3.org/TR/skos-reference/skos.rdf
>>
>>    <owl:Ontology rdf:about="http://www.w3.org/2004/02/skos/core">
>>      <dct:title xml:lang="en">SKOS Vocabulary</dct:title>
>> ...
>>
>> No # at the end. All owl:imports to SKOS also point at the URI without #.
>>
>> Do you have a (normative) reference that owl:Ontologies should end with #? I
>> otherwise suggest removing the # because that practice seems to be more
>> widely used (the RDF namespace itself being the main exception).
>>
>> Thanks,
>> Holger
>>

Received on Thursday, 4 February 2016 22:27:22 UTC