Re: About ticle

Joe Geldart <[email protected]> Mon, 05 Jan 2004 20:55:28 +0000
Newsgroups gmane.comp.web.zope.plone.collective.ticle
Organization Netalley Networks
Message-ID <[email protected]>
Hi,

Another long response to the long response given to my long response to 
a long article... *takes a deep breath* :)

Sebastian Wiemer wrote:

> The underlying concepts of using triples were indeed inspired by RDF, but
> (Joe..) that's the whole story about ticle and RDF. 
>

Forgive me, but what is the point of reinventing the wheel? This is 
something very very common in the Zope community and which annoys me 
greatly. I know you'll quote 'flexibility' but is that really needed? 
RDF allows me to model relations just as easily as your 'more general' 
model (to be expected since RDF is defined mathematically to describe 
all such systems) so what is gained by adding this (IMO) superflous 
generallity?


> With "not even any clear binding to the ideas of subject, predicate and 
> object" 
> I wanted to say, that ticle does not have a any specific semantics "build in".
> That means: there are no words: like "predicate", "subject" or "object" 
> defined yet - that is why these words do not have any meaning in the "world
> of ticle" and that is why we have yet to define
> that semantics of ticle. I am working on this and appreciate all help I
> can get.
> 

Well, (subject, predicate, object) is a minimal structure for a 
descriptive system and that order is fairly standard. There is no point 
in using another, except if you want to confuse everyone and reduce the 
descriptive power of your system unneccessarily.

If some property is required to create a model, don't give users the 
ability to destroy this property. Its a fuss that most developers don't 
want to have to deal with. TICLE is trying to be TOO flexible, and there 
is no real reason I can see.

> [ Off topic: In my opinion there is no semantics without interpretation. So 
> what we had up
> to this point is only "natural" semantics. (That is the meaning of a word
> we understand in natural language in contrast to defined symbols/strings... 
> in a computer) 
> 

All semantics is interpretation of data structures. There is no good 
that comes from bringing intentionality into this. The most profitable 
way of looking at semantics is the interpretation of information in such 
a way that it allows a beneficial process to take place (admittedly that 
definition isn't very clean or precise, but I can clean it up :)


> That will be something like "Atom", "isA", "hasProperty" or "subject", 
> "predicate", "object" and so on. Since I'm not a mathematical genious
> I'd like to keep this simple - or let this do somebody more capable...
> 

But the axioms of triples and the minimum semantics has already been 
defined for you. Its called the RDF specification :)

> Of course these (Atom, isA, ...) will be only UIDs. I have talked to Simon
> about this. I was thinking of storing the very basic axioms in some sort of
> dictionary.  So any application that wants to express something using these
> axioms can retrieve the UIDs from the dictionary accessibly from outside.
> 

Why not use URIs (a standard naming scheme that subsumes GUIDs) instead? 
  Don't break standards just cos you can, especially when the standard 
is more powerful and EASIER to implement.


> But you _are_ right about too little structure. Removing all structure will
> not make it possible to define meaning. That is why there is a great deal of
> work to do: defining a semantic for ticle. I think the best way is - as I
> tried to say already - by modeling meaning through a small set of axioms
> (triples) and creating modules interpreting (=being capable of processing)
> these triples.
>

There exists a mathematically well-defined (and processable) set of 
axioms. Its called RDF. See http://www.w3.org/TR/REC-rdf-syntax/#model

> I can only speculate - but I think you'd like to encode the "subject",
> "predicate" thing directly into the engine. I don't like this approach,
> because it makes seperating the layers of the engine more difficult - and it
> is just something different than what we already have. Ticle works with UIDs
> not URIs (and so on).
> 

I'd argue that I can't see how you can't have this built in. Its a 
modelling convention to make it easier to work with the system. It 
doesn't effect storage layers or searching layers (since these only deal 
with URIs and all elements of the triple are URIs they don't need to 
know which is the subject, predicate or object.)

With regards UIDs vs URIs, a UID is a subset of URIs. Surprising? All 
GUIDs are trivially mappable into URIs.

> So it's not really "features" you are right. It's that it is made for 
> a specific purpose, which ticle is not.
>

RDF's purpose is the modelling of information and relations between 
nodes. As far as I can tell, that is TICLE's purpose too, you just might 
not see it in those terms.


> 
> I see at least two reasons:
> 1. assuring referential integrity
> 2. beauty of design ;-)  ticle is only about reified triples
>    no URIs, no literals, no distinction between
>    triple-items and reified triples
> 

Answering your points:

1. See DAML/OIL and OWL Lite for equivalents to referential integrity. 
Also, see basic relational theory upon which RDF is built (Date et al). 
RDF is a descendent of the relational calculus and algebras after all.

2. Reification isn't needed if you extend triples to quads as is seen in 
Tim Berners-Lee's latest research. The addition of a context URI to the 
triple eliminates the clumsy reification machinary from the modeller's 
eyes and (importantly) this can be mapped back to a collection of 
triples when needed. See 
http://www.redland.opensource.ac.uk/notes/contexts.html for notes about 
doing contexts without 'breaking' the RDF triple model (personally, and 
going by TimBL's own research direction, I think quads are an allowable 
deviation especially since they can be mapped out to triples at the last 
moment should you need that.) Please at least read R V Guha's paper on 
contexts.


> Hmm. Sorry, I'm no expert about RDF. I copied the part I must have
> misunderstood:
> 
> ---------------- snip ------------
> 
> 

I don't see any problem with these since they're required to make a 
well-formed set of axioms.

> 
> I agree RDF/XML would have been correct. I am not used to work with any other
> representation. In fact (due to my limited dealings with RDF?) I've never come 
> across any other representation other than RDF/XML apart from arcs and 
> bubbles.
>

Many representations exist, although the 'standard' ones for 
transmission between systems are RDF/XML (the hated and despised one), 
Notation3 (the scrible-format suitable for human hand-coding) and 
NTriples (the simplest machine readable format)

> I do not agree RDF/XML being a very poor medium. XML has it's advantages.
> There is a hughe infrastructure available. Many XML parsers, XSLT processors,
> proper handling of encodings, interoperability with SVG, MathML, SMIL, ...
> 

RDF/XML should NEVER be operated upon by XML parsers (except inside an 
RDF system), XSLT etc. This is very very important. RDF isn't an XML, 
and XML's semantics are too weak to process RDF correctly. XSLT isn't 
meaning respecting, and this means its unpredictable. Its also not 
meaning preserving, and this means it can break the axioms.

See the plenty of discussions on Freenode's #rdfig and the RDF mailing 
lists for reasons why XML is so bad for RDF.

> 
> Again you are right! :-)
> This shows you are a true expert in reading W3C specs.
> 
> But I can not see why URIs are a unique way of addressing anything...
>
> One book (exactly the same content) may have more than one ISBN. (Though this
> does only happen a few times.)
> Many different URLs may lead to the same information.
> The same URL may lead to different information.
>

One URI will always lead to one 'resource' even if a resource can have 
multiple URIs. Ontological reasoning (through OWL and DAML/OIL) is the 
appropriate layer for working out when two URIs are 'equal' (equality on 
URIs being defined as the two URIs having the same 'properties', so 
beyond all reasonable doubt with the current information they are 
representing the same thing.)

URLs are URIs but that doesn't mean they are GOOD URIs. Tim Berners-Lee 
wrote a seminal paper on what makes a good URI, but in the end it 
doesn't really matter. All information systems do is model a belief 
about the world, not represent the world itself. "I believe that the 
information labelled with this URL was written by..." All information 
systems, whether labelling using GUIDs or URIs or coloured bits of 
paper, will eventually have to account for the fact that they're 
modelling uncertain data. They can't do anything but in a distributed 
hetrogenous information environment like the Internet. RDF together with 
OWL and DAML/OIL provide a good basis for defining a trust system to 
cope with this uncertainty. There is nothing to be gained by pretending 
it doesn't exist.

Also, URLs used as URIs don't neccessarily represent something that can 
be downloaded. They're just used as labels for identifying a node. Nodes 
shouldn't be thought of as documents.

> RDF, you have to admit, aims for describing resources, thus it puts
> resources into the focus of interest.
> 
> XTM on the other hand aims for describing topics (ideas), which are not
> necessarily related to any resource at all.
>

Ideas are resources. Resource is a bad name... it has all kinds of 
additional connatations that aren't actually relevant. All a resource 
is, is a node. What that node represents is up to the ontological 
systems to decide. RDF makes no commitment.

> I'm sure RDF has, but the problem I was refering to is probably not to be
> solved by software. In fact I doubt it has anything to do with it.
> 
> I was referring to some of the underlying philosophical problems. 
> 
> 1. An ontology may not share epistemical adequacy between different
> persons, because different persons have different views of the world.
> 

Yes, but since they're modelling things using a consistent set of axioms 
the two models should show equivalencies. These mappings betweeen 
informations won't be complete, but RDF doesn't presume a complete 
description. You just get the information you can understand with your 
ontology that is contained within the other's representation.

> 2. Different ontologies (I wonder if not necessarily ALL ontologies!) might
> involve a problem Thomas Kuhn and Paul Feyerabend described as
> "incommensurability". Thus making an automatical negotiation between
> ontologies "unlikely" to work.
> 

Possibly, but this is a general mathematical problem and is mostly 
fringe case. OWL Lite is complete and decidable, so as long as you only 
need use those concepts you're guaranteed a mapping.

> Hmmm... It looks as if this could be some language or definition problem.
> I thought semantics is some sort of synonym for meaning.
> 
> The way I used 'semantics' here is the relation of an identifying string like
> "table" to the thing it relates to. Or put it this way: the "meaning" of
> _words_. In contrast to "meaning" in general, covering non-language related
> meaning.
>

That's an 'intentional' (i.e. invoking the little man in the mind) view 
of semantics. Its not suitable for decent scientific work. Same goes for 
your definition of pragmatics. This is why I warned away from using such 
definitions. All semantics is, really, is a set of datastructures that 
can be transformed by a series of operations to derive new data 
structures. There is no mystical link between a real world table and the 
  string "table". Its an arbitrary sign (to quote Sausarre)


> If semantics were JUST labelling and arcs (= a data structure): 
> 
> 1. A random construct of labels and arcs - taken from a dictionary, to make it
>    more fun discussing it - that can be worked on by a simple algorithm has,
>    in your view, meaning?
>

It has meaning within the framework of the algorithm, yes. I'd argue 
that nothing has meaning implicitly. Meaning is an intentionalist term 
that has no place in science. If you want a definition of what meaning 
'is' then the best you can come up with is near to 'utility'. Its a 
convention of transformations that lead to a useful result. Bleak 
picture I know, but there is nothing to be gained by 'magical' arguments.

> 2. How about information and gaining cognition? Is a data structure telling
>    you a thousand times that "dog" equals "dog" and being processed by an
>    algorithm stating everything is true - carrying semantics?
> 

Does it give a useful result for the processor? Semantics aren't 
implicit. They result from the context of the processor.

> 3. How about epistemic adequacy? Does it make sense to build ontologies not
>    beeing adequat to at least one person?
> 

That's a modelling problem, it doesn't define semantics.

> 
> +++
> stuff deleted
> +++
> 
> Sebastian
> 

-- 
Joe  Geldart
Co-founder, Netalley Networks LLP
http://www.netalleynetworks.com/




-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click