- From: Arthur Ryman <arthur.ryman@gmail.com>
- Date: Thu, 28 Jan 2016 12:34:16 -0500
- To: Holger Knublauch <holger@topquadrant.com>
- Cc: "public-data-shapes-wg@w3.org" <public-data-shapes-wg@w3.org>
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