I think we are probably on much the same page :-) (Most, if not all, of my questions were actually rhetorical - sorry that was not clear.) So you are thinking of instances as well - and of course, as instances are URIs like properties. I of course make no assumption that skos:prefLabel is more "x:preferred" than skos:label - there are some words about it in the SKOS description, but the semantics of the word preferred are not defined, and might differ from the semantics for x:preferred. I am quite happy to have either skos:prefLabel x:preferred skos:label or vice versa, although one way round is a bit strange to the human reader. But I think I can use your x:preferred in the way I describe to select particular triples. > 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.
I thought this described it, but now I am not certain I am quite clear: For your example: > :foo rdfs:label "Michael"@en, "M. Jackson"@en, "Michael Jackson"@en ; > skos:prefLabel "Michael Jackson"@en ; With > rdfs:label x:preferred skos:prefLabel . I would get that :a is skos:prefLabel and :b is rdfs:label by substitution in your paragraph, but :a does not have multiple values. So maybe you mean?: skos:prefLabel x:preferred rdfs:label In which case the multiple :a is rdfs:label and the single :b is skos:prefLabel Anyway, which ever way round it is, is it that the intended meaning of > rdfs:label x:preferred skos:prefLabel is that the (single) object of the skos:prefLabel triple ( "Michael Jackson"@en) is in some sense preferred? Or is the :foo skos:prefLabel "Michael Jackson"@en triple in some sense preferred? Or probably something else? (Not rhetorical :-) ) Best Hugh On 17 Jul 2012, at 16:38, Nathan <[email protected]> wrote: > 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 <[email protected]> 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 >>>> >>>> >>> >
