Re: ISSUE-95 Discussions

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.

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.

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#> ;

-- 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 16:10:43 UTC