W3C home > Mailing lists > Public > public-lod@w3.org > July 2012

Re: Is there a general "preferred" property?

From: Nathan <nathan@webr3.org>
Date: Tue, 17 Jul 2012 16:38:33 +0100
Message-ID: <500586F9.2080808@webr3.org>
To: Hugh Glaser <hg@ecs.soton.ac.uk>
CC: Tim Berners-Lee <timbl@w3.org>, Linked Data community <public-lod@w3.org>
Hugh Glaser wrote:
> Hi,
> I think Nathan is talking about properties of properties, not instances.

I am, but not in the way you think (afaict).

> As a real example, in my Detail RBK/dotAC rendering I have (at least) the following predicates to look at for names:
> (<http://xmlns.com/foaf/0.1/name> <http://www.aktors.org/ontology/portal#full-name> <http://www.w3.org/2000/01/rdf-schema#label> <http://www.rkbexplorer.com/ontologies/jisc#name> <http://www.w3.org/2004/02/skos/core#prefLabel> <http://www.w3.org/2004/02/skos/core#altLabel> <http://rdf.freebase.com/ns/type.object.name>)
> I can either use these to gather all the names I can, or use it as an ordered list to get the one I prefer (if any) - it depends on the display I want to give.

Or you can use subPropertyOf entailment (rdfs7), when you apply it 
you'll find you have an rdfs:label triple for each of the properties you 
listed, other than portal#full-name.

> So I interpreted Nathan as asking if there was anything that allowed me to say what the preferred order of predicate choice might be.

This is where the confusion was, if you consider the following graph:

   :foo rdfs:label "Michael"@en, "M. Jackson"@en, "Michael Jackson"@en ;
        skos:prefLabel "Michael Jackson"@en ;

As humans we know what "prefLabel" means, but a machine doesn't.

Another example:

   :foo owl:sameAs </things#foo>, <http://example.org/things/bits#foo> ;
        con:preferredURI :foo .

As humans we again know to treat :foo as the canonical/preferred URI for 
this thing (just as TimBL has in his foaf). Again, no machine understanding.

Thus I thought if we're going to have a proliferation of preferredXXXX 
style properties, it would be good to have a single machine property 
that explained this.

So for the two examples above you could have in the ontologies:

   rdfs:label x:preferred skos:prefLabel .
   owl:sameAs x:preferred con:preferredURI .

Then machines could understand what we do too.

> Do I prefer <http://www.w3.org/2000/01/rdf-schema#label> over <http://www.w3.org/2004/02/skos/core#altLabel> for example (for my particular application)?

Your dealing with application display preferences here rather than 
specifying in descriptions of things that it is known by several values 
(names,uris) and this here one is (preferred, canonical) by the resource 
(or resource owner).

> How do I represent that is what I am doing to agents asking (in RDF/OWL of course)?
> And how would a data publisher tell my consumer agent what they think I should prefer?

The x:preferred approach would handle this at the ontology level, as 
explained above - it would capture that when you have multiple values 
for :a and a single value for :b, and that :b x:preferred :a, then the 
value for :b is the preferred/canonical value out of those specified for :a.

> In my case, following Nathan's email, I would have a chain of 
> <http://www.aktors.org/ontology/portal#full-name> x:preferred <http://xmlns.com/foaf/0.1/name> .
> <http://www.w3.org/2000/01/rdf-schema#label> x:preferred  <http://www.aktors.org/ontology/portal#full-name> .
> etc.
> Which would be the (meta)metadata about the service I am providing.

I think it may be more a case of capturing this using owl/rif/n3 - 
supposing you have the data:

   :foo rdfs:label "Michael"@en, "M. Jackson"@en, "Michael Jackson"@en ;
        foaf:name "Michael Jackson"@en ;

and in an ontology:

   rdfs:label x:preferred skos:prefLabel .

and you have a personal preference that says if a foaf:name and 
rdfs:label are present for something, then the foaf:name is the 
preferred value, then you can capture this with a rule like:

{ ?t rdfs:label ?l ; foaf:name ?n } => { ?t skos:prefLabel ?n }

Using several rules of this kind you could capture all your preferences, 
and your application would universally understand which to display - but 
over all properties with multiple values where one is preferred, as 
:prop1 x:preferred prop2 . would encode this.

Make sense?

Best, Nathan

> However, in some sense rdfs:subPropertyOf might imply this.
> Were I loading the data into a store, rather than just doing pure Linked Data URI resolution, I would be able to assert the rdfs:subPropertyOf relation, which might be seen to suggest that the most specific property (is that the right terminology?) is a good one to choose.
> I then have the challenge of doing a query that finds that out, of course.
> I am guessing that from Nathan's meaning of  x:preferred, it would seem that
> x:preferred rdfs:subPropertyOf rdfs:subPropertyOf .
> By the way, if I only want one preferred property, I can look one of the properties up in a sameAs store such as sameAs.org to find out what the suggested canon is (and what the other predicates might be.)
> Best
> Hugh
> On 16 Jul 2012, at 22:28, Tim Berners-Lee <timbl@w3.org> wrote:
>> Interesting to go meta on this with x:preferred .
>> What would be the meaning of "preferred" -- "preferred by the object itself or
>> the owner of the object itself"?
>> In other words, I wouldn't use it to store in a local store my preferred names
>> for people, that would be an abuse of the property.
>> Tim
>> On 2012-07 -15, at 19:42, Nathan wrote:
>>> Essentially what I'm looking for is something like
>>> foaf:nick x:preferred foaf:preferredNick .
>>> rdfs:label x:preferred foaf:preferredLabel .
>>> owl:sameAs x:preferred x:canonical .
>>> It's nice to have con:preferredURI and skos:prefLabel, but what I'm really looking for is a way to let machines know that x value is preferred.
>>> Anybody know if such a property exists yet?
>>> Cheers,
>>> Nathan
Received on Tuesday, 17 July 2012 15:39:08 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:16:23 UTC