- From: Karen Coyle <kcoyle@kcoyle.net>
- Date: Sun, 21 Dec 2014 07:57:08 -0800
- To: public-data-shapes-wg@w3.org
On 12/20/14 2:48 PM, Holger Knublauch wrote: > > On 12/21/14, 1:12 AM, Peter F. Patel-Schneider wrote: >> >> It appears that you are asking for the class whose instances are all >> resources excluding literal values. The expressive power required for >> this class goes well beyond the bounds of RDFS. > > This is quite surprising... to have a language that includes rdfs:range > but no mechanism to say that all values of a property need to be nodes > that can have further properties ("objects" in OO speak). This concept > is fundamental, because it includes everything that can be a subject, > i.e. have properties of their own. > >> >> This new class cannot be the superclass of all classes. It is not a >> superclass of the class that is the fixed meaning of rdfs:Resource, of >> course, and it is also not a superclass of class that is the fixed >> meaning of rdfs:Literal or of any of the datatype classes. Making >> this class a superclass of all classes would break RDFS. > > I think we need to break RDFS anyway, don't we? RDFS is fundamentally > not suited for closed world constraint checking, see the semantics of > rdfs:domain and range, the lack of an enforceable identification > mechanism for blank nodes and other weird design decisions that were > made with good intentions, but different use cases in mind. > >> >> It would also not be the case that the meaning of all IRIs and blank >> nodes would belong to this new classes. In RDF the meaning of an IRI >> or a blank node can be a literal value. > > Based on my current understanding, I think we should simply make the > following pragmatic assumptions: > > - if a property has no valueType/range, then it can have IRIs, bnodes or > literals > - if a property has valueType=rdfs:Resource then it can have IRIs and > bnodes > - if a property has valueType=rdfs:Literal then it can have a literal of > any datatype. I don't think we can overload (underload?) rdfs:Resource in this way, since it already has (and has had for some time) a different meaning. Eric suggested calling it "nonliteral" or some variation thereon. Is it possible to develop an RDF representation of "nonliteral" (or its converse, non-node) that can be included in the validation vocabulary? kc > > This is how it's currently implemented in the systems that I know of > (and certainly the tools that I helped developed, and I went through the > code for form generation in many iterations). We just cannot introduce > another named class for "IRI or bnode" because it breaks the superclass > relationships of all existing ontologies. And I want to continue to be > able to use something like > > ?type rdfs:subClassOf* ?valueType . > ?instance rdf:type ?type . > > to find all possible values of a given value type. > > Anything else seems just not practical given that the foundations of > RDFS are what they are, whether we like them or not. > > Having said this, I am of course OK with avoiding the term "Resource" in > the prose of the specs - rdfs:Resource as above is just used as a URI > even if it does not fully align with the philosophically inspired > meaning of "Resource" in the RDF specs. > > Holger > > > -- Karen Coyle kcoyle@kcoyle.net http://kcoyle.net m: 1-510-435-8234 skype: kcoylenet/+1-510-984-3600
Received on Sunday, 21 December 2014 15:57:36 UTC