- From: Sven R. Kunze <sven.kunze@informatik.tu-chemnitz.de>
- Date: Mon, 10 Jun 2013 21:15:43 +0200
- To: Pat Hayes <phayes@ihmc.us>
- Cc: Jan Michelfeit <michelfeit.jan@gmail.com>, public-lod@w3.org
>> A One could model this piece of information like this: >> :s rdfs:inapplicableProperty :p. > > Hmm. What would the semantics of this be? Can you write any > entailment rules for it? I imagine this might be one, for example: > > x rdfs:InapplicableProperty p . > x p y . > > are unsatisfiable (inconsistent), for any y. Does that capture your > intended meaning adequately? Are there any other entailments that > would be required? Good point. To be honest, I do not know. Especially, in this case, I could imagine several alternatives leading to several different variances of rdfs:inapplicableProperty. first) as you have said second) no entailment rules at all; just additional data with the following meanings: a) s rdfs:inapplicableProperty p. the data consumer should not expect p so be there in conjunction with s at anytime (soon) b) s rdfs:inapplicableProperty p. s p y. there might have been a time where the graph carried only a); but the data provider forget to remove the a) triple c) s p y. as usual > >> (Given that RDFS incorporates inapplicableProperty.) >> >> B Another way of modelling would be >> :s :p rdfs:inapplicable. > > That has the consequence in RDFS that, for example > > rdfs:inapplicable rdf:type :A . > > when :A is asserted to be an rdfs:range of :p . Would that be acceptable? Hmm, not sure either. That might be a reason why I would prefer the former variant. >> (Given that RDFS incorporates inapplicable) >> >> I would like to see variant A as the relationship is between the >> current subject and a schema element (the property) and not between >> the subject and a non-existent value. >> A schema could even define rdfs:inapplicableProperties for >> constant-instances in order prevent or detect mis-use. >> >> >> 2) >>> - value uknown (it should be there but the source doesn't know it) >> Actually that piece of information could be written down in a RDF >> Schema graph like this: > > It can be written far more simply in RDF just by using a blank node: > > :a :p _:x . Very interesting and very simple! However, I am not quite sure, whether or not it has the same semantics. The schema part might not be able to carry the blank node for each possible future instance. I could even imagine an entailment rule like this: { p rdf:type rdfs:RequiredProperty; rdfs:domain A. x rdf:type A } => { x p [] } but the other way round might not sensible, I think. Cheers, Sven > > Pat Hayes > >> >> #schema >> :A a rdfs:Class. >> :p a rdf:Property; a rdfs:RequiredProperty; rdfs:domain :A. >> >> #instance >> :x a :A; :p :y. # << :x is carries required property >> :z a :A. # << :z does not carry required property >> >> Point here is, that instances cannot "decide" whether or not they >> have to carry properties or not. The fact, that :z should carry a >> :p property but doesn't consists of two distince pieces of >> information: >> - :z should carry :p <<< schema information >> - :z does not carry :p <<< instance information >> >> >> 3) >>> - value doesn't exist (e.g. year of death for a person alive) >> I am not quite sure whether this variant is a distinct one or >> either falls into 1) or 2). >> Maybe that use case is inappropriate to explain what you really >> mean by "doesn't exist". >> I tend to say that for such instances of persons they could carry >> rdfs:inapplicableProperty properties for the properties in question. >> >> >> 4) >>> - value is witheld (access not allowed) >> Interesting case, I'd say. I think here we should talk about access >> granularity. First, I'd like to have a real usage scenario. Second, >> I might have security consideration: it is really necessary that we >> tell an untrusted requester whether we don't have that information >> or we do not want to give it to him? Third, taken that under >> consideration what could a trustworthy requester do with such >> information? >> >> Besides such considerations, I think in this case we should rethink >> the way we deliver data. It is not really the subject :s which is >> in a relationship :p of an value that signifies "being-withheld", so: >> :x :p rdfs:noAccess, rdfs:withheld, ... >> doesn't seem appropriate to me. >> >> It is the requester that influences the delivered data, not the subject: >> @prefix :sec <...> <<< security namespace >> >> [] a sec:PropertyWithheld; >> sec:requester <....>; >> # sec:instance :s; << optional as generally all subjects with >> that particular property can be withheld >> sec:property :p. >> >> ---------------------------------------------------------------- >> >> What about composite values like in >> :foo :aProp [a :nullableValue; rdf:value "value"] ; >> :bProp [a :nullableValue; :reason :notAvailable ]. >> >> First of all, I do not really know why we have to merge schema >> information into instance data. >> Second, there is a second level of graph traversal, which I >> preferably would like to avoid as it clutters up queries and the >> triple store. >> Third, most of your given examples are schema design issues (there >> might be more examples) can be solved without introducing a clumsy >> composite value. >> Forth, a composite values disturbs the data design when there are >> "normal" values which can be expressed via "normal" literals, URIs, >> bnodes. That is, the access queries differ from property to >> property which should be avoided as it complifies(??) a lot. >> >> Cheers, >> Sven >> >> >> >> >> > > ------------------------------------------------------------ > IHMC (850)434 8903 or (650)494 3973 > 40 South Alcaniz St. (850)202 4416 office > Pensacola (850)202 4440 fax > FL 32502 (850)291 0667 mobile > phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes -- Sven R. Kunze Chemnitz University of Technology Department of Computer Science Distributed and Self-organizing Systems Group Straße der Nationen 62 D-09107 Chemnitz Germany E-Mail: sven.kunze@informatik.tu-chemnitz.de WWW: http://vsr.informatik.tu-chemnitz.de/people/kunze Phone: +49 371 531 33882
Received on Monday, 10 June 2013 19:16:08 UTC