Andy/Holger, As both a Jena user and a member of the Shapes WG, I feel compelled to comment. Please, let's not inflate one person's negative opinion to "some people". IMHO Jena is a fabulous project and my company has gotten tremendous benefit from it. I hope that when the Shapes standard firms up the Jena project will be interesting in implementing it.
-- Arthur Ryman On Sat, Dec 20, 2014 at 7:12 AM, Andy Seaborne <[email protected]> wrote: > Hi Holger, > > Yep. Peter is, as ever concise, in his expression of the situation, but he > does not have users and existing code to worry about! :-) > > "Resource" isn't quite right though "resource" in web arch is used various > different ways by different groups anyway. > > RDF was originally describing things on the web. Literals aren't on the > web. (Shock, horror!) RDF then become describing the real world. We can > discuss whether "numbers" are part of the real world. Well, "we" can; I'll > skip that bit. > > "RDF term" is the union of IRIs, bnodes and literals (I x B x L). "RDF > term" was invented in the SPARQL 1.0 WG because RDF did not have the > terminology to for I x B x L. > > This is now in the RDF 1.1 spec. It's been imported into RDF 1.1 Ditto > "Dataset". > > In Jena, there is RDFNode. > > Actually, the API layer is different - the Graph layer is closer, but > generalises, the RDF abstract data model. The generalization is necessary: > inference and query can get literals in property locations for example. And > then there are variables. > > A relative recent effect is: > https://github.com/commons-rdf/commons-rdf > > and that does not have a nice name for I x B. "BlankNodeOrIRI". RDF 1.1 > should have defined a good word, if there is one. > "TheThingsThatCanBeSubjects" really is no good. > > The Jena RDF API Resource also has differences from like IRI x BNodes > because there are concepts like "get property of" so a Resource is a pair of > (graph, rdf term) else you can't find triples with that subject. > > commons-rdf can't express that - it could be another API on top of Jena > core (Graph/Triple/Node). This can't be a replacement for the existing > API. It is going to be a bit laborious to code against if you have to pass > graph and term around all the time. (I've mocked up an implementation - > it's pretty easy ; using it is yukky to my Jena eye.) > > There simply aren't enough different words for every nuance, and meanings > change. Library code is harder to change. > > Andy > > > On 20/12/14 04:11, Holger Knublauch wrote: >> >> According to the official W3C spec [1] the term "Resource" is used for >> things in the universe of discourse (or real world). In W3C lingo, such >> resources are denoted by IRIs, literals and blank nodes. This is >> reflected by the RDF Schema spec, which has root classes >> >> rdfs:Resource >> rdfs:Literal >> rdfs:Class >> rdf:Property >> >> Now looking at the Jena (and Sesame) Model API, the term "Resource" is >> used for "URI or blank node": >> >> RDFNode >> Literal (have label, datatype) >> Resource (have URI or bnode ID) >> Property >> >> basically assuming that we have an RDF schema such as >> >> rdfs:Node >> rdfs:Literal >> rdfs:Resource >> rdf:Property >> >> which makes sense to me (from a programmer's point of view). Yet, in the >> RDF Shapes group this topic is currently widely discussed, and some >> people state that the Jena developer made a "stupid" [2] mistake. Do any >> of you remember why the current interfaces were named like this so that >> we now have this mismatch? >> >> Thanks >> Holger >> >> >> [1] http://www.w3.org/TR/rdf11-concepts/ >> [2] >> >> http://lists.w3.org/Archives/Public/public-data-shapes-wg/2014Dec/0185.html >> >
