Re: ISSUE-95 Discussions

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 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/

On Mon, Jan 25, 2016 at 6:11 PM, Holger Knublauch
<holger@topquadrant.com> wrote:
> While this topic is out of scope for this WG (and we'll just add these
> triples because the other W3C vocabs seem to do this), it really feels like
> a completely useless triple. If someone publishes a vocabulary then
> supposedly the URIs of the resources shall already be resolvable - problem
> solved - that's the whole point of linked data. So the only possible use
> case that I see is if the rdfs:isDefinedBy can not be derived from the URI
> of the subject resource, and this doesn't seem to be the case for any W3C
> ontology.
>
> Weird.
>
> Holger
>
>
>
> On 26/01/2016 2:20 AM, Irene Polikoff wrote:
>>
>> Schema.org has every resource pointing to itself using isDefinedIn. This
>> doesn't add any information.
>>
>> FIBO has classes, not SKOS concepts, so it doesn't use inScheme.
>>
>> Same for the Life Sciences vocabularies.
>>
>> I would need to check AGROVAC. I agree that ConceptScheme is a sort of a
>> substitute for the partitioning provided by graphs in RDF, but people do put
>> multiple schemes into a single graph.
>>
>> Even in the enterprise data is shared, although in a more controlled way -
>> across different originating groups, possibly, with partners and so on.
>>
>> Sent from my iPhone
>>
>>> On Jan 25, 2016, at 10:22 AM, Karen Coyle <kcoyle@kcoyle.net> wrote:
>>>
>>>
>>>
>>>> On 1/24/16 9:22 PM, Irene Polikoff wrote:
>>>> Agree, it is certainly used by W3C vocabularies. But the industry work
>>>> doesn¹t seem to follow this practice.
>>>>
>>>> For example:
>>>>
>>>> schema.org had an outdated version that uses this property, but in a
>>>> totally different way:
>>>>
>>>> <rdf:Description rdf:about="http://schema.org/Action²>
>>>> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class²/>
>>>> <rdfs:label xml:lang="en">Action</rdfs:label>
>>>> <rdfs:comment xml:lang="en²/>
>>>> <rdfs:subClassOf rdf:resource="http://schema.org/Thing²/>
>>>> <rdfs:isDefinedBy rdf:resource="http://schema.org/Action²/>
>>>> </rdf:Description>
>>>
>>> No, that's the right way to use it, AFAIK. Of course, schema is a bit odd
>>> in many ways...
>>>
>>>> FIBO doesn¹t use it at all.
>>>>
>>>> AGROVAC doesn¹t use it.
>>>
>>> I believe that is because AGROVOC is a SKOS vocabulary, and skos:inScheme
>>> takes the place of rdfs:isDefinedBy. (Although I suppose you could use
>>> both.)
>>>
>>>> Life Sciences vocabularies don¹t seem to use it.
>>>>
>>>> I can¹t recall seeing anyone in the industry use it when developing
>>>> their
>>>> own ontologies.
>>>
>>> Right. It's probably not needed if you don't openly share your
>>> data/ontology. We do use it in Dublin Core, and it undoubtedly has some
>>> bleed-through from library practices where declaring "authority" for data
>>> and practices is important. For data that will be openly shared with anyone,
>>> those anyone's - at least some of them - will want to know what are the bona
>>> fides for any particular property, and to be able to locate the original
>>> definition. If your data won't exit your enterprise system and you don't
>>> allow strangers to come along and add links, then this isn't an issue.
>>>
>>> kc
>>>
>>>> Just to be clear, I am not advocating not using this convention for
>>>> SHACL.
>>>> I am simply wondering what is the motivation for this practice and why
>>>> it
>>>> is so rarely followed outside of the standard models published by W3C.
>>>>
>>>> Irene Polikoff
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>> On 1/24/16, 11:47 PM, "Karen Coyle" <kcoyle@kcoyle.net> wrote:
>>>>>
>>>>> I was hoping that the Linked Open Vocabulary project could help answer
>>>>> this as they provide states on property use across over 550 vocabs.
>>>>> However, their search system is broken.
>>>>>
>>>>> So instead I looked at the list of W3C vocabularies,[1] and only one
>>>>> (something called "Earl") did not use rdfs:isDefinedBy. All of the
>>>>> others did, and that list is:
>>>>>
>>>>> SKOS, DataCube, DCAT, ORG, vCARD, ADMS, REORG
>>>>>
>>>>> I looked at the Open Annotation vocabulary,[2] which I know is close to
>>>>> being completed, and it, too, uses rdfs:isDefinedBy.
>>>>>
>>>>> I think this shows that this *is* a W3C best practice.
>>>>>
>>>>> kc
>>>>> [1] https://www.w3.org/standards/techs/rdfvocabs#w3c_all
>>>>> [2] http://www.openannotation.org/spec/core/20130208/
>>>>>
>>>>>> On 1/24/16 4:07 PM, Irene Polikoff wrote:
>>>>>> There is no harm in using rdfs:isDefinedBy and may be some value in
>>>>>> it.
>>>>>> I am not totally sure what it is though.
>>>>>>
>>>>>> In practice, it is very rarely used for instances. Because it is not
>>>>>> practical, I guess, to always carry this extra triple. It is sometimes
>>>>>> used for schemas, but certainly far from universally used. So, from
>>>>>> the
>>>>>> software perspective, it can¹t be relied on ­ unless the person who
>>>>>> writes software has full control over what schemas they use and how
>>>>>> they
>>>>>> look like.
>>>>>>
>>>>>> As for living with other vocabularies in a triple store, this wouldn't
>>>>>> require rdfs:isDefinedBy. The best practice is to have each vocabulary
>>>>>> as a separate named graph and then one could always query for its
>>>>>> content in SPARQL using FROM or FROM GRAPH.
>>>>>>
>>>>>>
>>>>>> Irene Polikoff, CEO
>>>>>>
>>>>>> TopQuadrant, Inc. www.topquadrant.com <http://www.topquadrant.com/>
>>>>>>
>>>>>> *Technology providers making enterprise information meaningful*
>>>>>>
>>>>>> Blogs ‹ http://www.topquadrant.com/the-semantic-ecosystems-journal/,
>>>>>> http://www.topquadrant.com/composing-the-semantic-web/
>>>>>>
>>>>>> LinkedIn ‹ https://www.linkedin.com/company/topquadrant
>>>>>>
>>>>>> Twitter - https://twitter.com/topquadrant
>>>>>>
>>>>>>
>>>>>>
>>>>>> From: Holger Knublauch <holger@topquadrant.com
>>>>>> <mailto:holger@topquadrant.com>>
>>>>>> Date: Sunday, January 24, 2016 at 6:45 PM
>>>>>> To: "public-data-shapes-wg@w3.org
>>>>>> <mailto:public-data-shapes-wg@w3.org>"
>>>>>> <public-data-shapes-wg@w3.org <mailto:public-data-shapes-wg@w3.org>>
>>>>>> Subject: Re: ISSUE-95 Discussions
>>>>>> Resent-From: <public-data-shapes-wg@w3.org
>>>>>> <mailto:public-data-shapes-wg@w3.org>>
>>>>>> Resent-Date: Sun, 24 Jan 2016 23:46:09 +0000
>>>>>>
>>>>>>> No, rdfs:isDefinedBy is the way to link an RDF term with its
>>>>>>> ontology.
>>>>>>> My XSLT relies on that. It also lets vocab information live in a
>>>>>>> triple store with other vocabs. You can then get all the terms for a
>>>>>>> given vocab using a SPARQL query.
>>>>>>
>>>>>> Again, I don't like carrying around extra triples just for the sake of
>>>>>> a
>>>>>> particular XSLT implementation. These triples are trivial to
>>>>>> auto-generate at any point in time. Having said this, for the purpose
>>>>>> of
>>>>>> making progress I will try to edit them in (although I expect this to
>>>>>> be
>>>>>> error-prone). Better would be to leave them out for now and put them
>>>>>> back in on the day prior to publication.
>>>>>
>>>>> --
>>>>> Karen Coyle
>>>>> kcoyle@kcoyle.net http://kcoyle.net
>>>>> m: 1-510-435-8234
>>>>> skype: kcoylenet/+1-510-984-3600
>>>
>>> --
>>> Karen Coyle
>>> kcoyle@kcoyle.net http://kcoyle.net
>>> m: 1-510-435-8234
>>> skype: kcoylenet/+1-510-984-3600
>
>
>

Received on Thursday, 28 January 2016 17:34:46 UTC