Relational Model [Codd] vs Anti-Relational Muddle [Date/Darwen/Fagin/et al] • How to identify a movie?

332 views
Skip to first unread message

Nicola

unread,
Dec 28, 2019, 8:13:51 AM12/28/19
to
Suppose that you want to build a database of all the movies ever made (not
only feature films). How do you identify a movie?

For your reference, there are a couple of European standards:

http://filmstandards.org/fsc/index.php/Main_Page

Also keep in mind that, for movies as for literature, one must typically
distinguish between "works", "variants/expressions" (at the abstract
level), "manifestations" and "items" (at the physical level), as per the
terminology introduced by FRBR:

https://www.ifla.org/files/assets/cataloguing/frbr/frbr_2008.pdf

For instance, there is one "Blade Runner" movie (imagined as a unique
work of art), but with at least two variants, or expressions, (the
original director's cut and the version at the theater), each with
several manifestations (such as DVDs, Blue Rays, digital files in
various formats with or without DRM, etc.), each existing as many items
(my copy of the DVD and your copy of the DVD).

So, how do you identify a movie (at each level)?

Btw, modelling in this context is relatively easy using RM/T, where you
trade flexibility for integrity.

Nicola

Derek Ignatius Asirvadem

unread,
Dec 29, 2019, 9:45:21 AM12/29/19
to
> On Sunday, 29 December 2019 00:13:51 UTC+11, Nicola wrote:
>
> So, how do you identify a movie (at each level)?

You have to give us the "levels". And their use through the database. Eg. what is the database intended to do: track works for the purpose of ownership; copyright; licensing; etc, or track "items"; things that are sold. The former is intellectual, that latter is physical.

> Btw, modelling in this context is relatively easy using RM/T, where you
> trade flexibility for integrity.

That is like saying, I am will to trade my wife (who was a virgin when we married) for a girl at the local brothel. because she is "flexible".

That is not a trade, it is the lazy man's excuse for not working, for not applying oneself and performing some genuine modelling. A database in 2019 (45 years since the advent of genuine Relational platforms; SQL) that has no integrity is not worth discussing.

No, that is definitely, absolutely, positively, not a justification for using RM/T (universal Surrogate) or common surrogate. Failure to model means, you have not the basis for using Relational anything, or RM/T. Just use surrogates, no pretence to RM/T, and store records, no pretence to domains; Codd's 3NF; etc..

If you are interested in a Relational database that has 100% data integrity, I would be happy to respond. As explained in the header thread, and expanaded in the /1971 Paper/ thread, I wipe my backside with teh 1971 paper; the 1974 paper; 1979 RM/T.

Cheers
Derek



>
> Nicola

Derek Ignatius Asirvadem

unread,
Dec 29, 2019, 9:47:18 AM12/29/19
to
On Monday, 30 December 2019 01:45:21 UTC+11, Derek Ignatius Asirvadem wrote:
> > On Sunday, 29 December 2019 00:13:51 UTC+11, Nicola wrote:
> >
> > So, how do you identify a movie (at each level)?
>
> You have to give us the "levels".

Read a bit of the links.
Got the levels.

They have done some good work, but their modelling ability is not that good.

Cheers
Derek

Derek Ignatius Asirvadem

unread,
Dec 29, 2019, 10:04:41 AM12/29/19
to
> On Monday, 30 December 2019 01:45:21 UTC+11, Derek Ignatius Asirvadem wrote:
> > On Sunday, 29 December 2019 00:13:51 UTC+11, Nicola wrote:
> >

Fig 3.3 is missing.

Cheers
Derek

Nicola

unread,
Dec 30, 2019, 4:42:53 AM12/30/19
to
All figures are missing, apparently. Maybe, this is a better document:

https://www.fiafnet.org/images/tinyUpload/E-Resources/Commission-And-PIP-Resources/CDC-resources/20160920%20Fiaf%20Manual-WEB.pdf

It's inspired by FRBR, but it is specific for movies. It has some
diagrams.

Nicola

Nicola

unread,
Dec 30, 2019, 5:27:26 AM12/30/19
to
On 2019-12-29, Derek Ignatius Asirvadem <derek.a...@gmail.com> wrote:
>> On Sunday, 29 December 2019 00:13:51 UTC+11, Nicola wrote:
>>
>> So, how do you identify a movie (at each level)?
>
> You have to give us the "levels".

You've got them already: work, variant, manifestation, item.

> And their use through the database.
> Eg. what is the database intended to do: track works for the purpose
> of ownership; copyright; licensing; etc, or track "items"; things that
> are sold. The former is intellectual, that latter is physical.

The former is more challenging. I post some more relevant links below.

>> Btw, modelling in this context is relatively easy using RM/T, where you
>> trade flexibility for integrity.
>
> That is not a trade, it is the lazy man's excuse for not working, for
> not applying oneself and performing some genuine modelling.

Of course, I am playing the devil's advocate here, as no one else so far
has argued in favor of surrogates. Continuing to do so, I will assert
that any model based on Relational Keys is doomed to be unstable, i.e.,
for any choice of the primary key you make, I can find an instance of
two different movies coinciding on the values of the chosen primary key,
or prove that for at least one attribute of the chosen primary key the
corresponding information does not always exist.

> If you are interested in a Relational database that has 100% data
> integrity, I would be happy to respond.

I am. Here is some more contextual information if you like:

http://filmstandards.org/fsc/index.php/Special:AllPages

Most of the links are worth reading, but I'd start from these:

- The case for reference models
- No entity without identity
- Relationships: An essential component of art and culture
- Description levels: A worked example
- Metadata specifications in context

Nicola

Derek Ignatius Asirvadem

unread,
Dec 30, 2019, 8:39:51 AM12/30/19
to
> On Monday, 30 December 2019 21:27:26 UTC+11, Nicola wrote:
> On 2019-12-29, Derek Ignatius Asirvadem <derek.a...@gmail.com> wrote:
> >> On Sunday, 29 December 2019 00:13:51 UTC+11, Nicola wrote:

Quick post seeking clarifications only, not a reply to yours.

> > Eg. what is the database intended to do: track works for the purpose
> > of ownership; copyright; licensing; etc, or track "items"; things that
> > are sold. The former is intellectual, that latter is physical.
>
> The former is more challenging. I post some more relevant links below.


>
> >> Btw, modelling in this context is relatively easy using RM/T, where you
> >> trade flexibility for integrity.
> >
> > That is not a trade, it is the lazy man's excuse for not working, for
> > not applying oneself and performing some genuine modelling.
>
> Of course, I am playing the devil's advocate here, as no one else so far
> has argued in favor of surrogates. Continuing to do so, I will assert
> that any model based on Relational Keys is doomed to be unstable, i.e.,
> for any choice of the primary key you make, I can find an instance of
> two different movies coinciding on the values of the chosen primary key,
> or prove that for at least one attribute of the chosen primary key the
> corresponding information does not always exist.

Seems like a decent challenge.

But that is a rather strong claim that you make against RKs.

Are you saying that you gain anything from surrogates, that if surrogates were used
- there will never be more than 1 movie with the "value of the chosen AK [Relational Key]
- there will never be an attribute value that does not existent
?

This, after accepting that with surrogates you "trade off integrity".

I don't understand. If you are willing to "trade off integrity" with a surrogate framework (it cannot be called "model"), on what basis, from what ground, are you attacking a Relational data model, that has generations of data integrity (more than the "theoreticians" have identified) that the surrogate framework does not have, that might have [you say you can prove] this or that fault.

It is like a serial killer calling out a shoplifter who has never dreamed of killing anyone.

> I am. Here is some more contextual information if you like:
>
> http://filmstandards.org/fsc/index.php/Special:AllPages

Much better.
We use the "Full hierarchy model (3 levels)" page 8 ?

> Most of the links are worth reading, but I'd start from these
>
> - The case for reference models
> - No entity without identity
> - Relationships: An essential component of art and culture
> - Description levels: A worked example
> - Metadata specifications in context

First , I have a time problem. Second, modernism is deplorable. Third, I stopped reading academic papers when the main frame of papers was obviously Straw Man, it is like academia = Straw Man now. Except yours of course. IIRC /No entity without identity/ is one nutcase arguing that some other nutcase was wrong, and neither nutcase realises that the reason they are locked up, their disease, is modernism.

The various devices (Straw Man with heroin) they use to find Aristotle "inadequate" are not as convincing of their rigour, as their drooling snot, and the pulmonary embolisms they died from. Not to mention the drugs and the orgies. You are free to hold them in regard, and to nurse them, please do not ask me to do so.

Fourth, you are making the claims, so I would ask you to back yourself up, with your own arguments, which may have a prior author, rather than citing the mountain of pig poop, which may have a few gems hidden in it. Unless you explicitly ask me to read one or the other.

They have even destroyed the definition of /ontology/ in their pathetic war against God, so as to make being-ness unimportant and their phantasmagorical non-being relevant. Why, now we have multiple "ontologies", one per library or dataset. And "description logics". Hysterical.

The Law of Identity is the first of the Four.

--

Again, this is clarification seeking only. Sorry for the 4 paras.

Can there be a Work without a creator (author; writer; conceptualiser; or whatever) ?
No.
Then why on earth are they defining Work as Independent, Identified by
"W" [gotta love the bunnykins]
+ "-" [regression to 1960's mainframes, before we introduced Normalisation]
surrogate.
Answer: they read Date & Darwen.

I do understand, the FIAF manual is about their requirement, not the database. But they do assert "Identifiers". Must have had an OO munchkin for IT consultancy.

There is no entity without Identity. So the schizophrenics confect an Identity, so that their unreal fantasies can be made, oo ooh oo, into entities.

Cheers
Derek

Nicola

unread,
Dec 31, 2019, 6:16:57 AM12/31/19
to
On 2019-12-30, Derek Ignatius Asirvadem <derek.a...@gmail.com> wrote:

> Are you saying that you gain anything from surrogates, that if
> surrogates were used
> - there will never be more than 1 movie with the "value of the chosen
> AK [Relational Key]
> - there will never be an attribute value that does not existent
> ?

No and no. What do you gain you ask? (Recall that I'm playing the
devil's advocate here) I'd say you gain simplicity and flexibility. If
I define Work(WorkID), then I can link all the properties I need to any
work, e.g., Title(WorkID, Title, Language, Type). I don't have to decide
in advance whether there will ever be a movie with two distribution
titles in the same language: my framework can accommodate that. Do
I have record data about a movie with no title? No problem. And so on.

Is there a chance that I will insert data about a movie into
the database n times? Sure, but eventually someone will discover the
duplication and merge the data. Think as an archivist: it's better to
have more copies of the same thing than none at all. My count of movies
will be slightly off, but it will improve with time.

Is there a chance that I will insert contradictory data (e.g., the fact
that a movie has no title, and its title)? Sure, but that means that
there is conflicting information about a movie in the real world, which
must be resolved. In the meantime, I have a place to record such data,
so it doesn't get lost.

Of course, I will end up with a spaghetti model, essentially what
"linked data models" look like. But I can organize it using an
"ontology", which will put every piece of data within a well defined
hierarchy.

> This, after accepting that with surrogates you "trade off integrity".
>
> I don't understand. If you are willing to "trade off integrity" with
> a surrogate framework (it cannot be called "model"), on what basis,
> from what ground, are you attacking a Relational data model, that has
> generations of data integrity (more than the "theoreticians" have
> identified) that the surrogate framework does not have, that might
> have [you say you can prove] this or that fault.

Is data integrity so fundamental, or even a priority, in this context?
Cataloguers and archivists' main priority is to amass as much
information as possible. They are used to work with mess (I heard some
of them literally say that they "love working with XML"). Let's care
about getting things "in"; somehow, we will find a way (even if
complicated) to get things "out". A properly designed Relational Model
would put too many constraints on what gets "in", although I must admit
that it would be somewhat easier to get the right things "out".

(End of playing the devil's advocate)

>> I am. Here is some more contextual information if you like:
>>
>> http://filmstandards.org/fsc/index.php/Special:AllPages
>
> Much better.
> We use the "Full hierarchy model (3 levels)" page 8 ?

It's ok with me.

>> Most of the links are worth reading, but I'd start from these
>>
>> - The case for reference models
>> - No entity without identity
>> - Relationships: An essential component of art and culture
>> - Description levels: A worked example
>> - Metadata specifications in context
>
> First , I have a time problem. Second, modernism is deplorable.
> Third, I stopped reading academic papers when the main frame of papers
> was obviously Straw Man, it is like academia = Straw Man now. Except
> yours of course. IIRC /No entity without identity/ is one nutcase
> arguing that some other nutcase was wrong, and neither nutcase
> realises that the reason they are locked up, their disease, is
> modernism.

Those are not papers, but (AFAICS) explanations about the reasoning that
went behind the standards that were eventually published. Not mandatory
reading. Skip that if you wish.

> The various devices (Straw Man with heroin) they use to find Aristotle
> "inadequate" are not as convincing of their rigour, as their drooling
> snot, and the pulmonary embolisms they died from. Not to mention the
> drugs and the orgies. You are free to hold them in regard, and to
> nurse them, please do not ask me to do so.
>
> They have even destroyed the definition of /ontology/ in their
> pathetic war against God, so as to make being-ness unimportant and
> their phantasmagorical non-being relevant. Why, now we have multiple
> "ontologies", one per library or dataset. And "description logics".
> Hysterical.

(Playing the devil's advocate again) Ontologies help us clarify concepts
and classify things. Description logics allow us to perform inferences
(even reason about contradictory data), which SQL cannot.

> Can there be a Work without a creator (author; writer; conceptualiser;
> or whatever) ?

No, but it's not unreasonable to imagine that in some cases the creator
may not be known. Not thinking about feature movies, of course, but
obscure films or tapes found in the deep of some store-house. Same as
every other form of art (think paintings by unknown author); one
difference, though, is that a movie typically has no single creator, but
rather a group of people with distinct roles (writer, screenwriter,
director, etc.). Not sure whether you may attribute a movie to a single
principal creator.

Nicola

Derek Ignatius Asirvadem

unread,
Jan 1, 2020, 8:36:27 AM1/1/20
to
> On Tuesday, 31 December 2019 22:16:57 UTC+11, Nicola wrote:
> On 2019-12-30, Derek Ignatius Asirvadem <derek.a...@gmail.com> wrote:

First off. Happy New Year, all the best to you and yours.

We are suffering 42º, high winds, and raging bushfires in every state. Nothing to do with climate change hysteria, but due to only one thing. (I have been riding horses in the bush for over 30 years, 9 years as a volunteer bush fireman.) 25 Years of leftie; greenie; schizo bureaucrats disallowing permits to burn off the build-up of fuel on the ground, which we have been doing for 40,000 years (so our dear aboriginals say). So when the natural fire comes, and it does every 7 years, it has an enormous build-up of fuel, and thus it rages, with high intensity. It sends embers up into the heights, where the wind that the fire generates sends it to where the fire is not. And so it propagates itself.

I pray that 2020 is the year that the lefties; greenies; schizos consume themselves by way of their own created disasters.

I will answer in what i I believe is a logical sequence, not that in your post or my previous one.

> Those are not papers, but (AFAICS) explanations

Sorry. They ARE the titles of philosophical papers. Which I have read, and dealt with long ago. Hence my rant re philosophy.

But wait on. Some of us do think about such things (eg. Identity) deeply. Which is why the entire body of Western Thought (ie. pre-modern) is so important. And then we do not confect what we think Identity is from scratch, in isolation, limited by the content of a scrambled cranium, but we implement what we /know/ to be Identity in a computer.

> Those are not papers, but (AFAICS) explanations about the reasoning that
went behind the standards that were eventually published. Not mandatory
reading. Skip that if you wish.

Now corrected, I will read the links.

Something is not a standard just because it is published. All manner of pig poop is published. Some of it achieves the status of a convention. Some of it, eg. UML is heavily promoted and declared as a "standard" but has nothing of a Standard.

At best, this is a set of considerations that they request we make, when implementing a computer system that stores the subject matter.

> [various comments accepting primitive, sub-standard, broken methods as a "database"]

Look, by the Grace of God, in the 70's and 80's, I was a Lead s/w Engineer for Cincom, supplier of the then 5th largest (of five!) DBMS, TOTAL. Look me up on LinkedIn. My team wrote the second generation for minicomputers, then the first great threat to mainframes. 100% multi-threaded and full Transaction control. We had integrity in the first version, much more so in the second. Only Britton-Lee with their Database Machine, when they moved to Relational; SQL, and became Sybase, eclipsed us.

I left primarily because Cincom would not move to Relational. Again only through His Charity, I moved directly into high-end consulting for high-end customers. Meaning that I stayed in the high-end, rigid standards, absolutism about integrity and quality. With no knowledge or regard of what Date; Darwen; Fagin; et al were doing to damage the /Relational Model/, because I was implementing the /RM/ at that high level,and without any problem.

So in the 00's, when I started helping smaller shops with their D&D&F RFS labelled as "relational", it was more than a shock to find that the theoretical and applied theoretical world was already destroyed.

Likewise Bill Gates has a lot to answer for. In 1981 when the first PCs started coming out, we were up in arms about the PCs , that failed all the time, that hung up, that froze with the "blue screen of death" (then a black screen). It is still legal in Australia to return something that does not work, that is not fit for purpose. But people seldom do that for PCs, they have been programmed into accepting, and working with filth that passes for merchandise.

Not me. not my customers.

If we take life from the top, down (genuine authority; mainframe to min; standards; quality), we have had great systems since the 1960's, and ongoing. None of the problems that you enumerate, which are in reality far worse, and which you (devilishly) accept.

If we take it from the bottom, up (rebellion against authority; PCs; no standards; no quality), we have filth. The great unwashed masses love their great unwashed filth. All the problems you enumerate, and much worse. Simply accepted, no devil's advocate required.

In my 30 years (since I left Cincom) of delivering high-end databases, mostly to large Aussie banks, it has been a total top-down rewrite, a "Version 2", of their terribly broken, bottom-up, devoid-of-standards unwashed filth. The point is, the filth can be borne for a limited time only, and market forces will drive a move to higher levels systems. Either the corp disintegrates to dust, or it has to elevate its game.

Usually I rewrite on their current platform, their current h/w. Always I guarantee that the new system will be 10 times faster, and that any report can be serviced by a single SELECT command. That is totally foreign to them. In many cases they already have a heavy-duty reporting system such as BusinessObjects, which has a "universe" that describes the V1 "database", so that developers & users CAN write reports (they absolutely cannot otherwise). After the V2 system is implemented, they disconnect BO, and stop paying the mega-fees for annual maintenance. Because every report can be written directly from the Relational Database. Because it is Logical. Because the data model is a logic map. Because Codd used FOPC. Because I did as well. Because SQL is a proper implementation of FOPC; of Codd's RA; of Codd’s RM.

In reality, as distinct from the contractual guarantee, I deliver two orders of magnitude, and SELECTS that used to take tens of minutes, in milliseconds.

(The "theoreticians" complain that SQL is this and that, that it is "broken". SQL is never the problem. The data model or spaghetti model of the RFS is the problem, and then yes, any data sub-language would be "inadequate". In my three years hard labour at the TTM Gulag, Darwen would often present a problem, with the herald that "the RM is incomplete" or "Codd did not define" or "SQL is broken", and I would always, each and every time, give the pig poop eater a real Relational data model, which either eliminated the "problem", or provided the base from simple and straight-forward SQL, a single SELECT that produced the report that he alleged was "impossible".)

All of that is documented in TTM. (Includes me destroying the insane arguments that the TTM slaves slavishly erect. Straw Men orgies.)

Some of that is documented here on c.d.t.

There are other docs that I have given a better treatment to:
https://www.softwaregems.com.au/Documents/Article/Application%20Architecture/UTOOS%20Response.pdf
https://www.softwaregems.com.au/Documents/Article/Normalisation/DNF%20Data%20Model%20D.pdf

Here's one a friend of mine took up, but did not complete, or concede defeat:
http://www.softwaregems.com.au/Documents/Article/Normalisation/DNF%20Nicola%20C.pdf

(You can take up any of those here. Or privately. As declared in the header thread, failure to concede a point honourable constitutes concession of the point. If so, please open a new thread. This thread is Movie Identity.)

My projects include implementation of a great library system, competing with GEAC at the time. GEAC was a great system in the 80's. But sure, academics make a total mess of it. One of my college mates was an engineer at GEAC, before this deal, I was well versed in their offering. We competed for a contract with this system at Queens:
https://library.queensu.ca/techserv/cat/Sect01/history.html#geac
We stopped because the academics at the Queens library were idiots, there was no possibility of pleasing them. Here they have taken the world's best library system at the time, and implemented it their way, against the advice of GEAC, the supplier, and then they complain, falsely that the GEAC system was the problem. Er, their library system was broken, and they would not implement the changes that we at Cincom, or that GEAC required.

Academics love whatever they come up with, they hang on to the promise, in pathological denial of reality. Stonebraker invented the filth known as Ingres. It defecated on the users if more than five used the system. But it was highly praised by academia. Its bastard child, its resurrected ghost, is Postgres*NON*sql. It does not even remotely comply with SQL, but they will in their beloved Straw Man way, argue that SQL is broken. No, no, no. Pissgress is broken, it is not SQL. It has many cowbells and dog-whistles that assist an RFS (no assistance to an Rdb, because an Rdb has SQL), but none of the basics of SQL. The use of SQL in the label, and the slavish repetition on every manual page, is a total fraud. But hey, academics love it. It reminds them of their most famous idiot, Stonebraker. It gives them comfort that they too, can spend their entire academic life producing nothing that works, and filth that does not.

The worst thing in that category is, anything you write in pus-filled "sql", when you finally move to an SQL platform, has to be re-written, at the least. Every single line of code. But wait. Once you realise that you did have 42 work-arounds in your data model to cope with the pus-NONsql, you will rewrite the data model as well. I have assisted in scores of such ventures.

(
That is just about PusGrossNONsql vs SQL, that does not cover the other issues, such as No Server Architecture; No ACID Transactions; No possibility of concurrency. If you do not know what that is, have a look at this introductory level doc. For every instance of "Oracle", substitute "PissGrossNONsql".
https://www.softwaregems.com.au/Documents/Article/Oracle%20Circus/Oracle%20vs%20Sybase.pdf

Chase the links if you would like to know what a Server Architecture actually is, what we have had in the real world (as distinct from the academic fantasy world) since 1981. This is why I know, before the fact, that my V2 database will run on the existing customer h/w, at 10 times the speed of the V1.

Then look at the thousands of concurrency problems about the pig poop on help sites such as StackOverflow.
)

Of course, every crime is one of omission as well as one of commission, They have to pathologically deny what SQL really is, in order to elevate their pig poop as "sql'. And don't forget, that same pathology, the denial of the Four Laws of Thought, allow them to bask in the Excluded Middle, denying resolution. They genuflect to the ghost of Stonebraker, they suppress Codd, and elevate the insanity of Date; Darwen; Fagin; et al. They love the fact that they are four decades removed from the real world. They sacrifice their daughters to the god of Open Scourge. As if the contents of 10,000 crania spread across the world, and each nicely scrambled, ignorant of what a server is, what integrity is, can ever have the integrity that is naturally present in any single undamaged cranium.

The Kool Aid is Pig Poop. The source is Date; Darwen; Fagin; et al. Distilled and matured in large intestines of friendly sows. Very very friendly.

In this field, database science, there is not a single theoretician or "theoretician" since Codd that serves the industry. The mountain of evidence is, the commercial suppliers drive the industry, and they employ great theoreticians. And a few great Applied Scientists who implement systems.

----

Therefore, if you would like to engage because you would like to know what actual Authority; Standards; Codd (RM & Twelve Rules only); genuine SQL; high-end customers have been doing for four decades, while academia has been hyper-ventilating about, and engorging themselves with, each others backsides, we have a chance of having a meaningful discussion. Specifically, you will gain something.

But if you want to remain solidly in that bottomed-out position that academia is, by virtue of the mountain of evidence, and merely argue (devil's advocate or not) with the high-end real-world implementations That Do Not Break, that are unknown to academia FOR FORTY YEARS (fifty re the RM), if you are attached to the world where the minimum is good enough, spaghetti for logic; then no, we are not going to get anywhere. Specifically, you will gain nothing. Only frustration, because the attempted re-inforcement of the slavish arguments will fail to find the re-inforcement that is sought.

I an a technician, I have no sales skills at all. I cannot sell you up from that position. People seek me, I don't seek them. Because they have had a gutful of the pain they are suffering, and because they have identified that my systems have zero pain. And not before. So take it, that if you are not in enough intellectual pain, psychological pain, if you have not identified that the mountain you are standing in is made of pig shit, if your pain is not enough to drive you to seek freedom from it, you might not have much of a chance at grasping the concepts and standards that the painless enjoy, and have enjoyed for forty years.

I am not saying that you have to drop everything that has sustained you in your career before you can have a chance to attach yourself to the real world. That is true, because all academics in this field are addicted to the mountain of academic pig poop, exactly the same way a drug addict is. But that is not the condition I am declaring. I am saying you must have some serious pain, caused by the natural revulsion at the sophistry that passes for "logic", the foul odour of the mountain you are standing in, to move away from it.

----

> > Are you saying that you gain anything from surrogates, that if
> > surrogates were used
> > - there will never be more than 1 movie with the "value of the chosen
> > AK [Relational Key]
> > - there will never be an attribute value that does not existent
> > ?
>
> No and no.

Phew.

> What do you gain you ask? (Recall that I'm playing the
> devil's advocate here)

Otherwise known as throwing up the slavish arguments that constutute the “academic” “literature”.

> I'd say you gain simplicity and flexibility. If
> I define Work(WorkID), then I can link all the properties I need to any
> work, e.g., Title(WorkID, Title, Language, Type). I don't have to decide
> in advance whether there will ever be a movie with two distribution
> titles in the same language: my framework can accommodate that. Do
> I have record data about a movie with no title? No problem. And so on.

Oh come on. That is the most unscientific drivel that I have heard in a long time. You are a scientist. Why don't you observe that that is a moving, shifting anti-framework, that frames nothing. Why don't you observe that if you (personally, because you are a scientist) apply a little bit of science, all that can be replaced with an Entity-Attribute-Value set of files. Much cheaper. No need to even name anything, let the users name and number their things, according to whatever they define their things to be. Set up just four files in your RFS ”database":
- Entity
- AttributeChar & Value
- AttributeNumeric & Value
- AttributeText & Value

There, done, they have a system that will serve every single one of their needs, even needs they have not dreamt of yet. Until they die. Or until they kill you.

Now you are free. Go and do something worthwhile with your precious life.

> I'd say you gain simplicity and flexibility

No. That is not simplicity. Stop lying to yourself. That is ignoring the science that produces simplicity, and shifting the responsibility back to the user. That system is, in scientific fact, complexity fraudulently claimed to be "simplicity". What you gain is abject abdication of responsibility, same as the other theoreticians', the other "academics" in this field. it gives you the freedom to now write yet another paper about what could work if a certain fantasy were "true". Same as the fifty-year-old men who claim that they would be happy only if they were /inside/ a five-year-old girls body. There is a clinical word for that, and it is not "scientist" or "academic" or "theoretician".

Simplicity derives from using more than one Standard, more than one science, that together are plaited; braided; inter-woven, that can be used precisely because that are all compliant with higher order truth.
Eg. FOPC-> RM-> Relational data model.
Eg. FOPC-> Predicate -> Relational data model -> Validation
Pre-modern science, /scientiam/, means KNOWLEDGE, specifically knowledge of truth. All science is Integrated, because all truth is Integrated.

Post-modern "science" is speculation claimed to be "knowledge", an ever-changing morass of filth, and that can only be contemplated after denial of science.

Science is not knowledge of fragments that exist in isolation, floating in space, with contrived relations, that require massive doses of insanity or good drugs to see. The science is Integrity, something totally foreign to the pig poop eaters that pass for "theoreticians" in this space, whose mountain of pseudo-science is ever-changing pig poop.

Truth, and only truth, is simplicity.

The task of science is to determine that truth. What you are doing (devil or not) is anti-science, abdicating your responsibility, and claiming the "simplicity" that you would have had if you had been a responsible scientist.

> Is there a chance that I will insert data about a movie into
> the database n times? Sure, but eventually someone will discover the
> duplication and merge the data. Think as an archivist: it's better to
> have more copies of the same thing than none at all. My count of movies
> will be slightly off, but it will improve with time.

That is the same argument that the poor old Jew in the ghetto uses, to sell copper as gold.

Science, Logic: Pig poop cannot “improve” over time or millennia. A reptile cannot “evolve” into a mammal. An ape cannot “evolve” into a human. A higher-order creature can deteriorate into the behaviour of a lower-order creature (but it remains the original creature), but a lower-order creature cannot “evolve” to a higher-order creature. The notion is idiotic, but sold on every propaganda channel. Think science. Think DNA. Think number of chromosome pairs in each species. Think gene editing.

No. If the defining order was pig poop, it can never be anything but pig poop, all fantasies to the contrary. Yes, every cripple, every retard, fancies themselves to be the next Einstein.

> Think as an archivist

I have, and I am. I have worked with real library systems (that do not break, that are still running 30 years later). In case you do not know, you can run a GEAC or OpenVMS system today, even though the hardware has not been manufactured for 30 years, on virtual machines that provide GEAC/OS or OpenVMS as THE platform. "Don't fix what ain't broken".

I have completed projects at the Dept of Minerals & Energy. Think full 3D geographic locations; channel definition, for mining operations, for licensing purposes (there had better not be any conflicts, or even liabilities that stem from mine shafts that are too close together, or too close to water channels, or too expensive to be commercial. An ancient GEAC system plus my Relational database to provide all the modern expectations, on Unix/Sybase. At a fraction of the price after they threw the multi-million dollar supplier out, specifically for promising like you, and delivering like you can, a piece of pig poop with no integrity. (Unfortunately I bid a six figure price, I did not know at the time that the previous supplier bid a seven figure price.) The system is still running today, GEAC over 30 years old and defunct, mine over 20 years old and never needing maintenance.

You are using the word "archivist" or "librarian", but you mean an imbecile who does not know the slightest thing about archival or libraries. You are happy with a "computer system" and a RFS fraudulently claimed as "database" (let alone Relational). As long as you seek employment from one-man companies, and the insecurity of such positions, which you are very very familiar with anyway, that will be fine.

If ever you get out of the garage and smelled the roses, if ever you seek employment in the real world, you might find that before you make hysterical claims about what you know about "archival", you will have to get formal education, and a certificate and everything. (And that cannot be obtained from FIAF or FilmStandards.org.)

Nah, you are not thinking archivist, you are not thinking responsible scientist who delivers science such that the system is simple for the archivist. You are thinking cheapest bang for the buck, never see him again, simplest way to get a firetruck at the brothel (the sick ones are really cheap) and a feed at the Porcine Excreta Diner tonight, the hell with tomorrow, you won’t be around when he finds out you defrauded him.

Copper for gold.

> Is there a chance that I will insert contradictory data (e.g., the fact
> that a movie has no title, and its title)? Sure, but that means that
> there is conflicting information about a movie in the real world, which
> must be resolved. In the meantime, I have a place to record such data,
> so it doesn't get lost.

Get serious. It is lost already. You don't have a name by which you can find it (and you stopped writing ID numbers on a piece of paper five years ago).

Get serious. There is no conflicting info in the real world (it conforms to the Law of Non-Contradiction and the Law of the Excluded Middle). If there is, that proves you simply have not figured it out, you are simply not ready to enter anything authoritative into a computer registry (you can, into a mickey mouse RFS).

Get serious, the whole movie industry, in all countries, is run by Jews. The material goal (let's not discuss the formal goal) is about money; money; and nothing but money. They make sure that there are no conflicts about their money; money; money. Same with the Chinamen.

Get serious. There is no such thing as a movie without a title. (There is such a thing as a "working title".) Because in Reality, there is no entity without an identity.

> Of course, I will end up with a spaghetti model,

Minus the meatballs.

> essentially what
> "linked data models" look like.

What scientists call pig poop.

> But I can organize it using an
> "ontology",

Sure. Yet another substantial labour that I do not have to do. Because my Ontology is already in, is fully integrated with, the Relational data model. Same as not needing a massive BusinessObjects "Universe".

> which will put every piece of data within a well defined
> hierarchy.

False. You (and FIAF; etc, the “theoreticians”; et al) have no clue what Hierarchy means. The notion of Hierarchy has been, and continues to be suppressed in post-modern education; speech; "academic" papers; "literature"; every single propaganda channel; etc. Ever since the French Destruction, the unnatural notion of "equality" has been elevated, and the natural hierarchies have been suppressed. You are at the end of centuries of that suppression, the actual hierarchies are totally invisible to you, an inculcated blindness, demanded in order to foster the unnatural and destructive "eek-wally-tee". (Wally is Aussie slang for idiot.)

What you do have, is a fixed and meaningless (not "defined" in intellectual terms, but specified in physical-only terms) list. Look up Nested Sets; Adjacency Lists, beloved of imbeciles such as Date and Celko. The "definition" one has when one has no clue what definition is.

There are THREE types of genuine Hierarchies, which are inherent (yes, inherent) in the Relational Model. In the fifty years since Codd, not a single "theoretician" has defined or articulated them. Proved it is, that that is not known to you, by the fact that you are pushing linked lists of physical IDs as "hierarchies".

> > This, after accepting that with surrogates you "trade off integrity".
> >
> > I don't understand. If you are willing to "trade off integrity" with
> > a surrogate framework (it cannot be called "model"), on what basis,
> > from what ground, are you attacking a Relational data model, that has
> > generations of data integrity (more than the "theoreticians" have
> > identified) that the surrogate framework does not have, that might
> > have [you say you can prove] this or that fault.

Ok, before we get into the next point. As defined in the header thread, by definition, you have conceded that you are a flaming hypocrite (with or without the devil assisting you).

Conceded also. You can prove nothing about what you say you can prove. If you could, this would be the point at which delivery of alleged proof is begged. That point has now passed.

----

Ok, so now your new position is, since you (your anti-model) have no integrity, integrity is not important. Now that the Jew has been proved a fraud, that the gold is copper has been exposed, he is saying the gold is not important.

We should make a movie about this. Harvey Feldman. Bernie Goldstein. Einstein could play a cameo role, especially if we keep Poincaré and the Scientists out of the picture. Let's call it a collaborative Work. You and me and no-one else, 50-50. I'll write up the concept. Working title is, wait for it, /Copper for Gold, and the Pigs are Free/. (If that is foreign to you, look up the song by Dire Straits.) And it exists as a Work without a creator or creators. Quick, you need an ID for that.

> Is data integrity so fundamental, or even a priority, in this context?

No, not in your contrived context.

Absolutely, in the real world. Anyone suggesting otherwise classifies himself as unqualified for the job. Let me assure you, at the banks, I have witnessed or participated in instances where we phoned security and Human Resources, and had the termination cheque ready before the speaker had finished his presentation. There is a certain way that we warn each other that a person is strolling into termination territory, to STFU, by waving our security pass quietly.

The point is, even in corps that have less concern about integrity and security, such a statement or implication seriously damages the speaker’s credibility. Unrecoverable.

> Cataloguers and archivists'

In your contrived multiverse

> main priority is to amass as much
> information as possible.

Perfect, for the unwashed, the contrived garage "archivists", who think that mountains of form-less matter has value. Like a 500 page thesis that says nothing.

Pig poop, for the real world cataloguers and archivists who are qualified (certified), who understand that Matter is irrelevant, especially the volume, that Form (what you intellectually know about the matter; how the matter is intellectually organised) is relevant. Especially when finding anything in the archive. The same day as the request.

> They are used to work with mess (I heard some
> of them literally say that they "love working with XML"). Let's care
> about getting things "in"; somehow,

Sounds like the drunk at the brothel on a Saturday night. And the 15 mins is coming to a close. He can't get it up, but he insists on getting it in. The girls must love clients like that.

> somehow, we will find a way (even if
> complicated) to get things "out".

The adorable "logic" of the insane. Great hilarity for a New Years Day, thank you. You can't get it in; you can't find it after you get it in; but you promise you can get it out. Despite the duplicates and the mis-attributions and the registration of things that are not real. Truly. Oh yeah, and despite having proved all that, you promise that you are capable of thought, and even "complicated" thought when called for.

> A properly designed Relational Model
> would put too many constraints on what gets "in", although I must admit
> that it would be somewhat easier to get the right things "out".

That first part is a Straw Man argument. You have framed what it really is, as something that it is not. And then you have attacked the frame that you created. Congratulations, you win at destroying the nonsense that you created, I did not need to lift a finger. Great, what it really is has not been affected.

A properly designed Relational data model has many constraints, yes. A mature RDM has twice as many constraints on the same number of tables. Constraints of the type that are unknown to you and the "theoreticians" here. They deliver, and enforce, Integrity. Undamaged humans love Integrity. Dis-integration is virtually the definition of criminality, of insanity. But they are invisible to the user, the constraints or their number is not known, they do not know that it is especially hard to get things in, they only know:
- that it is natural (in nature, only hard things get in);
- that it is integrated with all the relevant science (truths about the profession of librarian or archivist) that they know
- that it does not contradict science or reality
- that it is therefore simple.

> (End of playing the devil's advocate)

Thank God.

The devil has no chance at all, against one who loves the Truth.

> > "Academics" ...
> >
> > They have even destroyed the definition of /ontology/ in their
> > pathetic war against God, so as to make being-ness unimportant and
> > their phantasmagorical non-being relevant. Why, now we have multiple
> > "ontologies", one per library or dataset. And "description logics".
> > Hysterical.
>
> (Playing the devil's advocate again)

God help me.

> Ontologies help us clarify concepts and classify things.

No they do not. Ontology means one thing, and one thing only, for 2,000 years.

Your (and their) "ontology" is quite a different thing, contrived; man-made (actually damaged-man-made); confected. Using the label "ontology" is a gross fraud, which gives it a respectability that it has not, and it suppresses the real ontology. For those sins, you (as devil's advocate) will burn in hell, for eternity.

(
Let me say, I am currently assisting a PhD in AI. She sought me through a common network, precisely because they told her that I can help her with the "ontologies" and "descwiption logics" that were slowly exploding her head. Believe me, I do not go around looking for people whose brains I can unscramble. I am straightening that head out, but it will take a year or three. I can't give her any of my proprietary work, even under NDA, because she has Chinese agents in her University and in her company, but as I do for many others, I am happy to give her everything else. Point is, I have studied a few of them, and in each case, vomited.
)

Now, about that freaky thing that you fraudulently call "ontology". It is a pathetic, after-the fact, post-mortem, fragmented (even the best), disjointed, and very limited definition of concepts. Even the concepts of the concepts are fragmented and limited, usually to the level of the one and only fragmented designer. And so bad that no one else can modify or enhance it. Pig poop tastes the same even if honey is taken with it.

Oh, but an "academic" with a PhD wrote an "academic paper" defining anti-logical "ontologies". And oh, all "academics" have to protect and contrive to elevate other "academics" due to their fragility of mind. So hackerdemics all over the contrived world (they exist with total detachment from the real world) now dive into the hysteria and write "ontologies" for their beloved RFS.

Recall that every crime is two-fold. So the only way that this sort of pig poop can be elevated to "academic" matter, that can end up being used as a "definition of concepts", is the ALL the "theoreticians" involved, every single one, is totally ignorant of FOPC. Of the fact that anything and everything in the universe (the real one, not the fragmented subjective "reality" of the insane) can be defined in FOPC Predicates. That everything in a Relational database is a definition in terms of FOPC Predicates. That if their pig poop were defined in Relational terms, their hysterical "ontology" would be redundant; superfluous; idiotic.

Recall that a Relational database does not need a massive additional definition for a reporting, such as six-figure BusinessObjects. Because it is already logically defined, and logically reportable. $500 per seat instead of six figures. Any user can write a report instead of only those who took the expensive (again) BO course. But a massive BO Universe is very very necessary for an RFS. It is the same thing with onto-ANTI-logies. Totally irrelevant for RDBs. Massively necessary for RFSs. And unchangeable.

> Description logics allow us to perform inferences
> (even reason about contradictory data), which SQL cannot.

It has nothing to do with SQL, fool. Trying to get SQL to get something out of an anti-relational morass of pig poop is stupid. And you cannot blame SQL for that. SQL is logical, based on FOPC and Cod''s RA. Getting anything out of a database that conforms to the RM, which implies conformance to FOPC, is dead easy. I challenged the great god of pig poop himself, Hugh Darwen. Much as he tried, there was not one thing in three whole years that he could come up with.

Go for it, give me anything that "cannot be done in SQL". I will give you this whole year. If I supply SQL to solve the problem, it will prove that you are ignorant of SQL. If I give you the Relational model that solves the problem (because that and not SQL, is the sea of the problem), it will prove that you are ignorant of the RM and how to use it. Real world problems only, the more complex the better. No problems from the realm of fantasy, they need a different form of treatment.

"Description logics" is not logic. there is one, and only one Logic (the mechanism of the intellect is Logic). The label is fraudulent. Again, because it demeans logic, and elevates pig poop to "logic". Again, while Logic (FOPC, Predicates, the RM) are inherent in a Relational database, and thus give us all the inferences that do exist over the data in it, therefore "description logics" is irrelevant; superfluous; imbecilic.

Oh, but an "academic" with a PhD wrote an "academic paper" defining anti-logical "description logics". And oh, all "academics" have to protect and contrive to elevate other "academics" due to their fragility of mind. So hackerdemics all over the contrived world (they exist with total detachment from the real world) now dive into the hysteria and write anti-logical "description logics" for their beloved anti-logical RFS. It is insanity squared. And institutionalised. They have turned universities into asylums.

The growth of such insanity is directly related to the growth of cancer. After one hundred years of incubation, and linear growth, around 1970 the growth progressed to exponential. All universities in the occupied countries are heavily infected. The kids are deemed terminal before they walk in, before they pay their registration fees. Suicide is the new norm, and self murder is now legalised. The gravity of this is denied.

> (even reason about contradictory data),

I vomited twice already, I don't know if I can handle another one on this first day of the year.

A different point about that hysteria. First, nothing contradictory exists in the real world. Second, the Laws of Thought demand that any contradiction that may be /perceived/ be resolved. Therefore there is nothing that is in the data, or in the Relational (logical) database that is contradictory. So the anti-logical "description pig poop logicks" again, do nothing for undamaged humans.

But wait. In the anti-logical RFS, or the anti-logical data model that the anti-logical "academick" "defines", lo and behold, there is contradiction. And wait, wait. He has a "reason" or bunch of spaghetti "reasonings" that "reason" about the anti-reason contradiction. One cannot reason the unreasonable. That is why the Laws of Thought come first, are fundamental, to reason. Anything outside the laws, IS NOT REASON. And REASON cannot be had over matter that is NON-REASON.

Oh, but an "academic" with a PhD wrote an "academic paper" defining anti-logical, anti-reason "reasoning for anti-reason contradictions". And so on and so forth.

To those of us who have not been indoctrinated in pig poop, whose crania are still unscrambled, that is third generation anti-logic. Or anti-logic cubed. We do not allow contradiction in our data models, long before they become databases. We do not need the masses of third generation insanity because we stopped the first generation of madness from taking root.

I will take it that at this point, you have ended your role as Satan's offspring.

----

> > Can there be a Work without a creator (author; writer; conceptualiser;
> > or whatever) ?
>
> No

Then stop !

Realise the concept of defining a Work (creature) without having defined the Creator, which the Work is existentially Dependent upon, is hysterically stupid. You are no longer Moloch's child, I do not have a game that I have to play. They are, as evidenced, drooling imbeciles. You are not. All their inferences and speculations are based on that beginning premise which is therefore their first principle, all of it is based on drool. Pig poop. Academically validated pig poop. Now drag your humanity together from wherever it has been seduced to not-function, grab a espresso, and start thinking. Natural, non-contradictory thinking that conforms to the Four Laws of Thought. Do not join, or rely upon, those who lie swooning in pig poop.

Aristotle teaches us that:
//the least initial deviation from the truth is multiplied later a thousandfold ... a principle is great, rather in power, than in extent; hence that which was small [mistake] at the start turns out a giant [mistake] at the end.//
Paraphrased as, a small mistake at the beginning (eg. principles; definitions) turns out to be a large mistake at the end.

Forget FIAF and their drooling "definition" of the problem, or their myriad problems. Define the problem yourself, as a human being. To me as a human being. If the data exists in the real world, there is no problem at all to define it (FOPC; RM; RDM). In the real world, a Work is existentially Dependent on its Creator (that could be plural, a collaboration, no problem).

> but it's not unreasonable to imagine that in some cases the creator
> may not be known.

Send the drooling idiot home. Inform him that the database is for registration purposes, that the Works (and derivatives) are assets, legal assets, that represent Value. Money; money; money, in an industry that is all about money; money; money. So a real world movie cataloguing system does have basic legal requirements to ensure they do not get sued, and that people (droolers and others) are not permitted to commit fraud that can be prevented. Failure to do so is legal Negligence. In Australia there is no legal defence for Negligence. They need certain specific info to be documented, before a thing can be registered. Such systems are SIMPLE to use, and the users can make claims or disallow invalid actions on the basis or truth, legally defensible truth from the real world. So tell the person attempting an incomplete registration to fly two kites in opposite directions, and to come back if and when he has one kite that still flies.

There are no nulls in a Relational database. Don't you dare start yet another anti-logical "three-valued logics" argument. I have closed that already on c.d.t.

> Not thinking about feature movies, of course, but
> obscure films or tapes found in the deep of some store-house. Same as
> every other form of art (think paintings by unknown author);

Well, those things get catalogued by the facts that are known. The facts include ownership but not Creator; content but not intent; etc. Possibly heavy detail at the Item level, but the Work is Unknown. If and when the stored attributes match up with other Works; Manifestations; etc, the Item can be better Identified. If not, it remains in the [real world] status in which it was found: a mess of unknown stuff found in a un-catalogued facility.

https://www.dailymail.co.uk/news/article-7498341/Elderly-French-woman-discovers-Renaissance-masterpiece-worth-5million.html

In that case, if there were a real owner who is not the elderly woman who claimed ownership, with the media hype, he will come to know about his piece of artwork, and he can now sue to recover it.

Or if it has been mis-attributed, now it can be correctly attributed. $26M might end up being $20K.

That is the power of a genuine catalogue, as used by an undamaged human. That cannot be obtained from and RFS, plus an anti-logical "ontology" layer, plus an anti-logical "description logics" layer, plus an anti-logical "artificial intelligence" [yet another misrepresentation] layer. Like handing over $5 in real cash in one second vs one year of mining a cryptocurrency.

> one
> difference, though, is that a movie typically has no single creator, but
> rather a group of people with distinct roles (writer, screenwriter,
> director, etc.). Not sure whether you may attribute a movie to a single
> principal creator.

Author: I don't. They call it Agent. It can be a single person, or a corporation, or a collective of persons.

Cast: They have specific roles for each member of the cast. Minus the drug suppliers are the whores. For some reason, they never get credited.

Cheers
The best to you and yours
Derek

Derek Ignatius Asirvadem

unread,
Jan 3, 2020, 4:41:52 AM1/3/20
to
> On Tuesday, 31 December 2019 22:16:57 UTC+11, Nicola wrote:
> On 2019-12-30, Derek Ignatius Asirvadem <derek.a...@gmail.com> wrote:
>
> What do you gain you ask? (Recall that I'm playing the
> devil's advocate here) I'd say you gain simplicity and flexibility. If
> I define Work(WorkID), then I can link all the properties I need to any
> work, e.g., Title(WorkID, Title, Language, Type).

(Having previously responded to the "simplicity" and "flexibility" promise, re a dis-integrated RFS)

In an RDM, you can "link" all the properties that are actually related to a Work (the Key is not declared at this point, but assuming it is a Relational Key, not a surrogate):
- in the immediate row (Codd's 3NF/"full" FD)
- in the descendent rows (2NF properly understood)
- in the ancestor rows (the attributes), because we have the Key
Which can be accessed using JOIN (NATURAL JOIN on SQL platforms, something else on others). What other form of "linking" does an RFS have, that the RDM does not have ?

> I don't have to decide
> in advance whether there will ever be a movie with two distribution
> titles in the same language: my framework can accommodate that.

An RDB can do that as well.

Your use of the word /framework/ scares me. Are you squarely in the OO/ORM stream where they think "we can solve everything in the muddleware" ? In total denial that it is a miserable failure, with monthly or quarterly "refactorings" ? Gee, now what effect does that have downstream, on "defnition" for the reporting system; the anti-being "ontology"; the anti-logical "description logics".

> [mess, improvable] ...
> [contradictory data] ...
> [recorded & lost] ...
> ["linked data models"] ...
> "ontology", which will put every piece of data within a well defined
> hierarchy.

That indicates that you do know, at least intuitively, that a well defined hierarchy is required, as a fundament part of the data definition. In the RDM as an intrinsic property, or in the RFS + "multiverse" + "ontology"

Given that the four levels defined in FIAF etc are not really a hierarchy (except if it were in a full RDM with Relational Keys in those four tables), how exactly would you define that "well defined hierarchy" ?

> > We use the "Full hierarchy model (3 levels)" page 8 ?
>
> It's ok with me.

Actually, it is turning out to be a pain, and the pain is caused by attempting three levels. I will give you the four levels.

> On Thursday, 2 January 2020 00:36:27 UTC+11, Derek Ignatius Asirvadem wrote:
> > On Tuesday, 31 December 2019 22:16:57 UTC+11, Nicola wrote:
>
> > Those are not papers, but (AFAICS) explanations
>
> Sorry. They ARE the titles of philosophical papers. Which I have read, and dealt with long ago. Hence my rant re philosophy.

https://www.academia.edu/484553/No_Entity_Without_Identity

Which is, of course a response to Quine's paper.

Neither is worth reading. The objective truth in the real world is, if it exists, it has an Identity. First Law, expanded. Hamilton. Boole. If there is no species identity, then the genus (taxonomy). If an instance must be recorded, the worst (ie. no proper identity defined by the user who owns the data) is a list of differentiators.

I do have a method for that, intellect plus three tables. But I am a bit reluctant to put that in, because in the past academics simply do not get it. Done properly, ie. to prevent duplicate Keywords, it requires a Function that is called recursively. All standard SQL in the real world. Now I am quite sure than you can code a recursive Function, but since you are using a pig poop NONsql that you think is "SQL", you may not be aware of how to use such. So, a qualifying question, using the simplest DDL, so that the issue is exposed and not detracted from: in this RDM (which is 80% complete, so please do not argue that it is not perfectly Relational, we know it is not)

http://www.softwaregems.com.au/Documents/Documentary%20Examples/Order%20DM%20Advanced.pdf
Keyword
Part
PartDescription
Object_V (View with computed columns)
Do you understand that Object_V.Description is the concatenated list of Keywords, that describes a PartCode ? That is derived by calling a recursive Function, eg. Part_Description_fn( PartCode ).

Not limited to four or ten "levels" as is normally used by NONsql boffins in a hard-coded ( via four or ten JOINs ) attempt to grab four or ten "levels" (unlimited Keywords here).

Null in a result set is normal. Occurs if the ObjectType is Asset, not Part.

Cheers
Derek

Nicola

unread,
Jan 4, 2020, 9:18:32 AM1/4/20
to
On 2020-01-01, Derek Ignatius Asirvadem <derek.a...@gmail.com> wrote:
>> On Tuesday, 31 December 2019 22:16:57 UTC+11, Nicola wrote:
>> On 2019-12-30, Derek Ignatius Asirvadem <derek.a...@gmail.com> wrote:
>
> First off. Happy New Year, all the best to you and yours.

Happy New Year to you, too.

> We are suffering 42º, high winds, and raging bushfires in every state.

Seen from the other part of the world, the situation in Australia looks
really bad. As someone coming from a country that has not a good record
for respecting its land and its geology, resulting in landslides (the
worst disaster being https://en.wikipedia.org/wiki/Vajont_Dam), floods
and fires (not at the scale we are witnessing in Australia) often caused
by uncontrolled growth of the underwood, I have to agree that insane but
opportunistic political choices have a lot to be blamed for.

>> Those are not papers, but (AFAICS) explanations about the reasoning
>> that went behind the standards that were eventually published.

> Something is not a standard just because it is published.

My assertion did not imply a judgment. They are just called like that:
"metadata standards".

> At best, this is a set of considerations that they request we make,
> when implementing a computer system that stores the subject matter.

Yes.

>> [various comments accepting primitive, sub-standard, broken methods as a "database"]

I essentially agree with your extensive reply.

> Look, by the Grace of God, in the 70's and 80's, I was a Lead s/w
> Engineer for Cincom, supplier of the then 5th largest (of five!) DBMS,
> TOTAL.

https://books.google.lt/books?id=Wz-oh7ZQo8MC&pg=PA45&lpg=PA45&focus=viewport&hl=lt

Always nice to get a glimpse into less known parts of database history.

> With no knowledge or regard of what Date; Darwen; Fagin;

I understand why you want to put those names together, but I disagree
that Darwen and Date's contributions (or lack thereof) are at the same
level as Fagin's (no need to reply to this; let's keep our respective
opinions).

> My projects include implementation of a great library system,
> competing with GEAC at the time. GEAC was a great system in the 80's.

As above, nice to get to know about old computers systems.

> Academics love whatever they come up with, they hang on to the
> promise, in pathological denial of reality.

I beg to disagree. Don't generalize. Academic work is not different from
any other human endeavor: many people do it, some do it well, only a few
are exceptionally good at it. But let's not get sidestepped: your
opinion about academia is widely known in this group.

> Stonebraker invented the filth known as Ingres. It defecated on the
> users if more than five used the system. But it was highly praised by
> academia.

This is partly due to the fact that it was the only RDBMS coming from
academia at the time. But academia does recognize the fundamental merits
of other systems, such as System R and (to a less extent) IS/1 and PRTV.

>Its bastard child, its resurrected ghost, is Postgres*NON*sql.

The natural child being Sybase, I guess, given that it was made by
members of the Ingres' team :)

> It does not even remotely comply with SQL,
> […]
> ( That is just about PusGrossNONsql vs SQL, that does not cover the
> other issues, such as No Server Architecture;

Kind of agree (if, as you say, "a list of Unix processes clamouring for
resources is not an architecture"). It still shines, IMO, compared to
Oracle.

> No ACID Transactions;

Do you refer to MVCC and stored procedures? Happy to discuss that in
a different thread.

> No possibility of concurrency. If you do not know what that is, have
> a look at this introductory level doc. For every instance of
> "Oracle", substitute "PissGrossNONsql".
> https://www.softwaregems.com.au/Documents/Article/Oracle%20Circus/Oracle%20vs%20Sybase.pdf

No objection here. Although PostgreSQL has seen several improvements
recently. Again, happy to discuss different implementations elsewhere,
but let's stick to the topic here.

> Therefore, if you would like to engage because you would like to know
> what actual Authority; Standards; Codd (RM & Twelve Rules only);
> genuine SQL; high-end customers have been doing for four decades,
> while academia has been hyper-ventilating about, and engorging
> themselves with, each others backsides, we have a chance of having
> a meaningful discussion. Specifically, you will gain something.

Yes, that's the prime and ultimate goal of this discussion!

>> I'd say you gain simplicity and flexibility.

> Oh come on. Why don't you observe that if you (personally, because
> you are a scientist) apply a little bit of science, all that can be
> replaced with an Entity-Attribute-Value set of files. Much cheaper.

I agree.

> No. That is not simplicity. Stop lying to yourself. That is
> ignoring the science that produces simplicity, and shifting the
> responsibility back to the user.

From here on, I essentially agree with your extensive reply (except for
some unimportant details).

> There are THREE types of genuine Hierarchies, which are inherent (yes,
> inherent) in the Relational Model. In the fifty years since Codd, not
> a single "theoretician" has defined or articulated them. Proved it
> is, that that is not known to you, by the fact that you are pushing
> linked lists of physical IDs as "hierarchies".

I see two types of hierarchies: at the instance level (e.g., the
classical bill of materials) and at the schema level (via dependent
entities, including categorizations). What is the third?

>> one difference, though, is that a movie typically has no single
>> creator, but rather a group of people with distinct roles (writer,
>> screenwriter, director, etc.). Not sure whether you may attribute
>> a movie to a single principal creator.
>
> Author: I don't. They call it Agent. It can be a single person, or
> a corporation, or a collective of persons.

Yes, that may a good way to model that.

> Cast: They have specific roles for each member of the cast.

Sure. More accurately, each member of the cast may have more than one
role (e.g., an actor that is also the movie director).

Nicola

Nicola

unread,
Jan 4, 2020, 11:55:32 AM1/4/20
to
On 2020-01-03, Derek Ignatius Asirvadem <derek.a...@gmail.com> wrote:
>> On Tuesday, 31 December 2019 22:16:57 UTC+11, Nicola wrote:
>> On 2019-12-30, Derek Ignatius Asirvadem <derek.a...@gmail.com> wrote:
>>
>> What do you gain you ask? (Recall that I'm playing the
>> devil's advocate here) I'd say you gain simplicity and flexibility. If
>> I define Work(WorkID), then I can link all the properties I need to any
>> work, e.g., Title(WorkID, Title, Language, Type).
>
> (Having previously responded to the "simplicity" and "flexibility"
> promise, re a dis-integrated RFS)
>
> In an RDM, you can "link" all the properties that are actually related
> to a Work (the Key is not declared at this point, but assuming it is
> a Relational Key, not a surrogate):
> - in the immediate row (Codd's 3NF/"full" FD)
> - in the descendent rows (2NF properly understood)
> - in the ancestor rows (the attributes), because we have the Key
> Which can be accessed using JOIN (NATURAL JOIN on SQL platforms,
> something else on others). What other form of "linking" does an RFS
> have, that the RDM does not have ?

I'd say that one should ask the opposite question, as one of the
strength of the RM is that it does not rely on "pointers" (which can
point only to one thing), but since connections are established on
value comparisons it's much more flexible. Record id's in RFSs can only
be used as pointers.

>> I don't have to decide
>> in advance whether there will ever be a movie with two distribution
>> titles in the same language: my framework can accommodate that.
>
> An RDB can do that as well.

Sure, if you account for that in advance. If you have defined
Movie(...,Title,...) then you have to redesign your database schema.
The advantage of not having a data model is that you don't have to
change one when the requirements change! (I have to write this down).

> Your use of the word /framework/ scares me.

Well, how do you solve problems in the real world in a timely and
cost-effective fashion, if not using this or that framework?

> Given that the four levels defined in FIAF etc are not really
> a hierarchy (except if it were in a full RDM with Relational Keys in
> those four tables), how exactly would you define that "well defined
> hierarchy" ?

Using some Descriptive Logic.

>> > We use the "Full hierarchy model (3 levels)" page 8 ?
>>
>> It's ok with me.
>
> Actually, it is turning out to be a pain, and the pain is caused by
> attempting three levels. I will give you the four levels.

Ok.

> The objective truth in the real world is, if it exists, it has an
> Identity. First Law, expanded. Hamilton. Boole. If there is no
> species identity, then the genus (taxonomy). If an instance must be
> recorded, the worst (ie. no proper identity defined by the user who
> owns the data) is a list of differentiators.
>
> I do have a method for that, intellect plus three tables. But I am
> a bit reluctant to put that in, because in the past academics simply
> do not get it. Done properly, ie. to prevent duplicate Keywords, it
> requires a Function that is called recursively. All standard SQL in
> the real world.

That intrigues me.

> Now I am quite sure than you can code a recursive
> Function, but since you are using a pig poop NONsql that you think is
> "SQL", you may not be aware of how to use such. So, a qualifying
> question, using the simplest DDL, so that the issue is exposed and not
> detracted from: in this RDM (which is 80% complete, so please do not
> argue that it is not perfectly Relational, we know it is not)
>
> http://www.softwaregems.com.au/Documents/Documentary%20Examples/Order%20DM%20Advanced.pdf
> Keyword
> Part
> PartDescription
> Object_V (View with computed columns)
> Do you understand that Object_V.Description is the concatenated list
> of Keywords, that describes a PartCode ? That is derived by calling
> a recursive Function, eg. Part_Description_fn( PartCode ).

Just a request for clarification: such function should concatenate the
keywords associated with the provided PartCode, or those keywords *plus*
the keywords associated to any (sub)component of the provided PartCode?

> Null in a result set is normal. Occurs if the ObjectType is Asset, not Part.

Ok.

Nicola

Derek Ignatius Asirvadem

unread,
Jan 5, 2020, 4:34:52 AM1/5/20
to
> On Sunday, 5 January 2020 03:55:32 UTC+11, Nicola wrote:
> On 2020-01-03, Derek Ignatius Asirvadem <derek.a...@gmail.com> wrote:
> >> On Tuesday, 31 December 2019 22:16:57 UTC+11, Nicola wrote:
> >> On 2019-12-30, Derek Ignatius Asirvadem <derek.a...@gmail.com> wrote:
> >>
> >> If
> >> I define Work(WorkID), then I can link all the properties I need to any
> >> work, e.g., Title(WorkID, Title, Language, Type).
> >
> > (Having previously responded to the "simplicity" and "flexibility"
> > promise, re a dis-integrated RFS)
> >
> > What other form of "linking" does an RFS
> > have, that the RDM does not have ?
>
> I'd say that one should ask the opposite question, as one of the
> strength of the RM is that it does not rely on "pointers" (which can
> point only to one thing), but since connections are established on
> value comparisons it's much more flexible. Record id's in RFSs can only
> be used as pointers.

Ok, so that point is conceded. RFS has no other form of "linking".

I am not attempting to argue with your words, I am attempting to change your perception of the RM. The great difference between RFS and RM is that where the RFS was physical only (and therefore the pointers are physical), the RM is entirely logical. Logical in all respects. If you are climbing out of the RFS mindset, to the RM, one rung at a time, that will be small increments, and very slow. I am asking you to look at the RM from the top down, look for the Logical. In everything.
- Logical rows (not physical records),
- Logical Keys (not IDs, plus UNIQUE when errors are found and patched),
- Logical Relations (not the mathematical term, but the full meaning in English)
- Logical Sets (way, way, beyond what the "literature" states)
- etc

> >> I don't have to decide
> >> in advance whether there will ever be a movie with two distribution
> >> titles in the same language: my framework can accommodate that.
> >
> > An RDB can do that as well.
>
> Sure, if you account for that in advance. If you have defined
> Movie(...,Title,...) then you have to redesign your database schema.
> The advantage of not having a data model is that you don't have to
> change one when the requirements change! (I have to write this down).

Sure. The advantage of not attaching yourself to a belief is, you don't have to change it when your belief changes. The advantage of not having a wife is, you don't have to get rid of her when a slut comes along.

The point you are missing is huge. We do not create a model of what we want, because that is limited to what we understand based on the app that we are trying to build. That is one of the biggest and common mistakes that the OO/ORM crowd make. It leaves them with no understanding of the data, as data. The notion of "universe of discourse" is pathetic. Good only for classroom exercises, if at all.

What we need to do is to observe the universe (the one, objective reality), and model the subset of that that we need. Perceiving the data only, and nothing but the data.

Even the notion of attempting to model data using UML (separate to it being an anti-standard) is pathetic because the person already has, and does not have to release, his OO/ORM mindset.

If you understand my UTOOS Response, you will understand that we should use the right tool and mindset for the task: UML (if ignorant of real Process Modelling Standards) for the app; IDEF1X for the data (thus far it is not a database, much later, it will be).

There are huge advantages in modelling the data, as data, and nothing but data, as extracted from the perception of the real world.
- That, and only that, makes your model immune to change. (Here, of course I mean structural change, not merely adding an attribute, which has no effect on the existing code)

So
- if an Address has a Lot No (legal tract of rural land in Anglo countries), do not squeeze that into Number-in-Street, keep it as a separate attribute.
- if a movie with two distribution titles in the same language, model that

It is not "in advance". It is modelling reality vs modelling just what you need at the moment (anti-modelling).

> > Your use of the word /framework/ scares me.
>
> Well, how do you solve problems in the real world in a timely and
> cost-effective fashion, if not using this or that framework?

That was meant strictly in the OO/ORM "framework" sense. As in, you have a framework for this, and a framework for that, all of which are big fat layers of code, in the muddleware, all of which fail Architecture (even though they use that word all the time).

http://geek-and-poke.com/geekandpoke/2013/7/13/foodprints

I solve problems using Architecture. For the purpose here, Architecture is defined as:
1. the overall design of platforms and services for the whole app, for the entire lifespan
2. the proper encapsulation and deployment of each code segment in [1]

Eg. All definition of the data must be in the database, not outside. That means all constraints (there is no constraint that cannot be defined, but that is a separate argument, if you pose it). You do understand that the database is a single Unit of Recovery, a self-contained and self-defining unit. Codd's Twelve Rules, if not Architecture rules, yes ?.

> > Given that the four levels defined in FIAF etc are not really
> > a hierarchy (except if it were in a full RDM with Relational Keys in
> > those four tables), how exactly would you define that "well defined
> > hierarchy" ?
>
> Using some Descriptive Logic.

Yes, I know. Could you give us an idea of what that is. Eg. If you asked me that question, I would give you the Predicates, which can be /read/ directly from the data model, but I would give it in text form for those who can't. I have worked with two anti-logical "description logics", and they are fetid messes but the one person who uses it thinks it is marvellous (she is the only one who understands what the person who coded it did). No one else can use it.
What ? What has a component or sub-component have to do with it ?

(The app should not (does not need to) access tables, that would be very silly. It should access Views.)

CREATE VIEW Object_V
AS
SELECT ObjectCode,
________ ...,
________Description = CASE ObjectTypeCode
____________WHEN "P" THEN dbo.Part_Description_fn( PartCode )
____________ELSE "[NoDesc]"
____________END
________ ...
____FROM ObjectType,
________JOIN Object ...,
________JOIN Part ...,
________JOIN Asset ...,
________ ...
____WHERE
________ ...

Where does components come into it ?

> or those keywords *plus*
> the keywords associated to any (sub)component of the provided PartCode?

(Still trying to figure out what you could have meant.)

Do you understand, each Key is an Atom ? Modular design (Architecture) of code segments means each Constraint; Function; etc, is associated with the one Atom, the right one. Just as we need only "full" FDs, because we have only a Relational Key, an Atom.

Ok, I think I know what you mean. There is another Function. If you understand Codd's RM § 1.4, the Relational Normal Form, the pre-requisite is "the Unnormalised Set", which is the Hierarchic Normal Form. That means Trees, strict Trees, Directed Acyclic Graphs, no circular references. So yes, there is a CONSTRAINT to prevent circular references.

> > Done properly, ie. to prevent duplicate Keywords, it
> > requires a Function that is called recursively.

And to prevent circular references. In the normal case (no hierarchies //in the data//), circular references are already prevented, simply by complying with the Relational Rules. So we only need to actively prevent circular references whenever we create the possibility: hierarchies /in the data/.

(Duplicate Keywords are already prevented in that 80% complete model. The 100% complete model gives PartDescription a fuller treatment.)

This will probably be the subject of questions, so let me take it from the top, if you do not mind. This is the second of the three types of Hierarchies in the RM. The example is the Unix Node (file & directory hierarchy), the data is:
http://www.softwaregems.com.au/Documents/Tutorial/Recursion/Hierarchy%20Inline.pdf

The data model is:
http://www.softwaregems.com.au/Documents/Tutorial/Recursion/Directory%20DM%20Inline.pdf

We need to produce the Path, as a column. Perfect candidate for a Function, that is recursive.
Node_Path_fn (
NodeNo, -- Starting point
ReturnNodeNo -- Boolean: if set, return CSV NodeNos,
else return "/" separated list of Node.Names
)
Returns Path ( CHAR(255) not TEXT) -- list of NodeNos/Node.Names
The same Function is used in the CONSTRAINT to CHECK that the NodeNo attempted on INSERT is not in the list of ancestors (circular reference).

If you want the full write-up, the second & third types of Hierarchies in the RM, see this doc. Even more constraints, in the right place. This is a single doc that I use to refer to, from many Answers in various fora. (Please forgive the laboured detail, it is required to get todays Computer Science grads away from the pig poop that the "textbooks" and "professors" implant in them.)
http://www.softwaregems.com.au/Documents/Student%20Resolutions/Bill%20of%20Materials.pdf

Back to this question. Yes, we need a constraint to prevent circular references. Yes it calls a Function, which is recursive. That Function is one and the same for producing a list as a column. (eg. Path above). It calls a Function, again linear:
Part_Assembly_Get_fn( PartCode ) - list of ancestors for the PartCode

Simple and straight-forward in SQL.

If PusGrossNONsql has no recursion, note that technically, it is the platform (language processor), and not SQL (language) per se, that provides recursion. Again, why I directed you to the Oracle Circus/Oracle vs Sybase doc. We have had it, in commercial SQL platforms, since 1984. IBM customers have had it somewhat earlier, in the 70's, with System/R; SEQUEL; and proprietary SQL.

> Just a request for clarification: such function should concatenate the
> keywords associated with the provided PartCode, or [...]
> the keywords associated to any (sub)component of the provided PartCode?

The former.

In SQL, the latter (either the Assembly tree, or the Component tree) is serviced by a Stored Proc, not a Function. Last time I looked at the bastard grandson of Stonebraker, it did not have Stored Procs. And so "functions" (pathetic implementation aside) were overloaded with all sorts of tiny bits of functionality that is normal in a stored proc. Which, as I warned, is anti-SQL. Based on its purpose, there are certain things that a Function should, and should not, do, and certain things that a Stored Proc should, and should not, do. In PooGross it is all mixed up and a fraction of the mix-up is delivered in a "function". Point being, I understand why you expect to deliver that in a "function", but that is abnormal for a Function, normal for a Stored Proc.

The purpose of an SQL Function is to RETURN a scalar. That means a single domain (column) in a result set. Imagine a column in a two-dimnesional table, the value changes for each row, depending on the PK. It might be a substitute for a Subquery. The point is, the Function is single-row.

The purpose of an SQL Stored Proc is to contain a code segment, either to execute an ACID Transaction (Return a Status) or to produce a result set (Return a Status), ie. multiple rows, not a scalar.
- In poor systems or RFS, Stored Procs are heavily misused. They might use a cursor, which is Procedural Processing, utterly foreign to a Relational database. Temporary tables abound, they need "intermediate storage".
- In Relational systems, such as the example model, we use Set Processing only. Temporary tables are simply not required.

In normal SQL, the Assembly or Component tree would be produced by a recursive Stored Proc that contains a single SELECT. With full indentation to show the levels in the tree, or a LevelNo which is derived, etc. Executes itself until it reaches the leaf level across all branches.

In MS/SQL and some others, a recent "feature" is a "table valued function" can RETURN a TABLE. But that is a fudge made from a dog's breakfast. A pus-poor substitute for an SQL Stored Proc. In the PusGross case, it is the wrong way to deliver what a Stored proc normally does.

(MS has all sorts of weirdness, they probably did it only because PooGross had it, and the Date; Darwen; Fagin Gulag was screaming for it. Think about this, anyone who has been on MS/SQL prior to the advent of "table valued function" would never use it.)

Therefore, if you would like to maintain an SQL mindset, get an SQL platform (cheap for universities). You can end the pain, and horrendous consequences of, thinking that NONsql is SQL ("SQL can't do this or that"). No joke, it has to be done at some point. The need for understanding the logical chain, understanding FOPC->RA->SQL, cannot be overemphasised.

Second option: just code a single pure SELECT, in a WHILE (forever) loop that traverses the tree. And after that, translate that into the NONsql that is required for your particular suite of freeware.

Cheers
Derek

Lifepillar

unread,
Jan 5, 2020, 12:33:04 PM1/5/20
to
> where the RFS was physical only (and therefore the
> pointers are physical), the RM is entirely logical.
> […]
> We do not create a model of what
> we want, because that is limited to what we understand based on the
> app that we are trying to build. That is one of the biggest and
> common mistakes that the OO/ORM crowd make. It leaves them with no
> understanding of the data, as data.
> […]
> There are huge advantages in modelling the data, as data, and nothing
> but data, as extracted from the perception of the real world. - That,
> and only that, makes your model immune to [structural] change.
> […]
> Eg. All definition of the data must be in the database, not outside.
> That means all constraints

Not sure you've appreciated the irony in my responses. But you make good
points, with which I agree entirely. I'd add that too often too much
emphasis is put on making the life of developers easier, regardless
of the consequences for the users, and this trend, unfortunately,
encompasses the whole computer industry.

>> > So, a qualifying question, using the simplest DDL, so that the
>> > issue is exposed and not detracted from: in this RDM (which is 80%
>> > complete, so please do not argue that it is not perfectly
>> > Relational, we know it is not)
>> >
>> > http://www.softwaregems.com.au/Documents/Documentary%20Examples/Order%20DM%20Advanced.pdf
>> > Keyword
>> > Part
>> > PartDescription
>> > Object_V (View with computed columns)
>> > Do you understand that Object_V.Description is the concatenated
>> > list of Keywords, that describes a PartCode ? That is derived by
>> > calling a recursive Function, eg. Part_Description_fn( PartCode ).
>>
>> Just a request for clarification: such function should concatenate
>> the keywords associated with the provided PartCode, or those keywords
>> *plus* the keywords associated to any (sub)component of the provided
>> PartCode?
>
> What ? What has a component or sub-component have to do with it ?

Your model has an Assembly entity, so I was wondering whether the
function would traverse the part-component hierarchy (which would
require recursion) to retrieve the keywords associated to the components
of a given part, too.

To get the keywords directly associated with a given PartCode X, I would
not use recursion:

select PartCode, string_agg(Keyword, ', ' order by Keyword)
from PartDescription
where PartCode = X
group by PartCode;

> (The app should not (does not need to) access tables, that would be
> very silly. It should access Views.)

Yes.

> This will probably be the subject of questions, so let me take it from
> the top, if you do not mind. This is the second of the three types of
> Hierarchies in the RM. The example is the Unix Node (file & directory
> hierarchy), the data is:
> http://www.softwaregems.com.au/Documents/Tutorial/Recursion/Hierarchy%20Inline.pdf
>
> The data model is:
> http://www.softwaregems.com.au/Documents/Tutorial/Recursion/Directory%20DM%20Inline.pdf
>
> We need to produce the Path, as a column. Perfect candidate for
> a Function, that is recursive.
> Node_Path_fn (
> NodeNo, -- Starting point
> ReturnNodeNo -- Boolean: if set, return CSV NodeNos,
> else return "/" separated list of Node.Names
> )
> Returns Path ( CHAR(255) not TEXT) -- list of NodeNos/Node.Names

Yes, for that I'd use a recursive function, which in PostgreSQL I'd code
as follows, modulo some omitted details:

create function Node_Path_fn(_NodeNo integer)
returns char(255)
language sql as
$$
select case
when ParentNodeNo = _NodeNo then '/'
else Node_Path_fn(ParentNodeNo) || Name || '/'
end
from Node
where NodeNo = _NodeNo;
$$;

> The same Function is used in the CONSTRAINT to CHECK that the NodeNo
> attempted on INSERT is not in the list of ancestors (circular
> reference).

Mmh, no. A newly inserted node cannot be in the list of its ancestors.
Such constraint would be useful to avoid circularity on UPDATEs.

If you want to prevent multiple roots (i.e., more than one record with
NodeNo = ParentNodeNo), I would define a separate constraint.

> Simple and straight-forward in SQL.

Yes.

> If PusGrossNONsql has no recursion,

It does. Both recursive functions and recursive queries. And yes, we can
use them.

> In SQL, the latter (either the Assembly tree, or the Component tree)
> is serviced by a Stored Proc, not a Function. Last time I looked at
> the bastard grandson of Stonebraker, it did not have Stored Procs.

They were introduced very recently:

https://www.postgresql.org/docs/12/sql-createprocedure.html

You are right that functions are used for both purposes in PostgreSQL
and they can return anything, from nothing to tables.

> In normal SQL, the Assembly or Component tree would be produced by
> a recursive Stored Proc that contains a single SELECT. With full
> indentation to show the levels in the tree, or a LevelNo which is
> derived, etc. Executes itself until it reaches the leaf level across
> all branches.

You'd achieve that in PostgreSQL with a function returning a table.

> Second option: just code a single pure SELECT, in a WHILE (forever)
> loop that traverses the tree.

I prefer to avoid this kind of coding, except when it is needed because
it provably improves performance.

You have asked to keep the content of these posts to the subject, but
this "qualifying test" is a digression. Please move it to a different
thread if you want to continue discussing it.

The main question of this thread is (a genuine question of mine): How do
you identify a movie?

Nicola

Derek Ignatius Asirvadem

unread,
Jan 5, 2020, 8:45:03 PM1/5/20
to
Yes, that is the best doc.

The material to focus on would be p17 to p81, ch1 to ch3. But there are problems.
a. If that were written by a high-end user, as a formal or informal User Requirement doc, I would give them a 10 out of 10. Great start, thanks, now it is over to me. Wherein I would model the data (erect a formal data model, several iterations, in communication with the user, etc) and write a Technical Requirement doc to accompany the data model if necessary. At that stage the DM would be what you guys call "logical", and much more, because the real Logical is unknown to you.
b. But it is not. It is a Technical doc that is supposed to be written by a Technical person (film industry technical as opposed to IT technical), for use as a "standard", for an implementation. We have previously agreed that it is a set of considerations and an intent.
c. It is seriously deficient. I would give it 2 out of 10 as a User Technical doc, 0 out of 10 as a Standard. From a technical perspective (attempting a Relational data model [which is the best way to understand the data]; trying to make sense of what they are requiring), it is incoherent.

Let's say that my Key for Movie Title at this stage (some iteration of the DM that is not yet complete), based on the doc, is as follows. (I know it is not correct yet, that is not the point being argued here):
Work.PK ( CountryCode, Year, Creator, Title )

Now take one eg. p22 § 1.1.1 Boundaries between Works

1. The examples given (to differentiate Works) that are mere changes to one or more component of the Key = Good Thing, confirms the Key. The other examples suck dead bears.

//Change in footage and/or changes in continuity (primary editing)// & the examples given

2. Um. Footage exists only in a Manifestation, it cannot exist in a Work (intellectual concept, not yet real)

//different language versions shot at the same time, released simultaneously//

3. Different Languages is not a Work, because a human can conceive of something in just one language (those who conceive of things in multiple languages can be safely assigned to an asylum). The Language would be the Language of the Country or of the Creator.
Nevertheless, I am willing to accept that multiple languages is an INTENT of the Work.

4. Shooting is a Manifestation (realisation), not a Work.

5. Release is a Manifestation (realisation), or even an Item, not a Work.

Et cetera. I have given just one example of incoherence, there are many such issues.

The same set of problems (incoherence) exists at each of the four Levels.

----

In the normal, real world case, following [a][b][c], I would give the customer a presentation of such errors, the result of which is:
d. either that he would retain responsibility and flick it back to his technical people to produce a Technical doc,
e. or he would commission me to produce a Technical doc that is resolved; free of errors; coherent. Which I would do side-by-side with a DM, in communication with the key users.

Obviously that is not going to happen here. Keeping in mind the central question in this thread, and not shirking the work required, I suggest the following.
- I play both roles, User and Data Modeller
- I make decisions about what each of Work; Variant; Manifestation; Item, actually is (a real world implementation). This will not be arbitrary decisions, but sensible ones
- which will be reflects in the DM, as well as in the conversation in this thread
- however that leaves a rather large gap for argument, and a devil's advocate argument that would be a veritable chasm, a Grand Canyon. Which would detract from the purpose of this thread, and allow you to avoid accepting a hard answer
--- In that case, you have to accept that that is not permitted
- the alternative is [d], you retract the doc, and come back when you have a coherent one, that is sensible enough (not perfect) to model from, to make reasonable decisions re what the Relational
{ Work | Variant | Manifestation | Item }.PK
should be.

Over to you.

Correct me if I am wrong, but the real intent, the real value of this thread, is going to be the discussion that occurs AFTER I give a Relation Key that Identifies a movie. Ie. a good Relational Key vs a surrogate, wrt the charges you have made at the top of this thread.

If, on the other hand, your question is really "how does one determine a Relational Key for a real world implementation, from this incoherent document", then let's confirm that that is the case, and let's have that discussion. It depends on your initial or progressed intent: have a discussion re:
q1. RFS/surrogate vs RDB/Relational Key
-- wherein a model with zero integrity, that does everything for everyone, has already been rejected
or
q2. What is a good Relational Key for this problem

Which is why it is over to you.

----

Re progress, I am more than half complete in either case.

Cheers
Derek

Derek Ignatius Asirvadem

unread,
Jan 6, 2020, 1:32:25 AM1/6/20
to
> On Sunday, 5 January 2020 01:18:32 UTC+11, Nicola wrote:
> On 2020-01-01, Derek Ignatius Asirvadem <derek.a...@gmail.com> wrote:
> >> On Tuesday, 31 December 2019 22:16:57 UTC+11, Nicola wrote:
> >> On 2019-12-30, Derek Ignatius Asirvadem <derek.a...@gmail.com> wrote:
>
> I have to agree that insane but
> opportunistic political choices have a lot to be blamed for.

Yes, and more. The fat layer of bureaucracy in government, that is full of lefties; greenies; perverts; climate hysterics, implementing their extreme left political agenda. in Australia it is much worse than the big companies ruiing the environment or the government (heads) making poor choices. This is the material establishment of the Deep State; the slaves of the Globalist Agenda.

> >> Those are not papers, but (AFAICS) explanations about the reasoning
> >> that went behind the standards that were eventually published.
>
> > Something is not a standard just because it is published.
>
> My assertion did not imply a judgment. They are just called like that:
> "metadata standards".

I did not mean you. I meant FIAF; FRFB, etc. Date; Darwen; Fagin et al. The whole leftist movement. The use of false labels that (at best) confuse, and (at worst) purposely misrepresent.

> > Look, by the Grace of God, in the 70's and 80's, I was a Lead s/w
> > Engineer for Cincom, supplier of the then 5th largest (of five!) DBMS,
> > TOTAL.
>
> https://books.google.lt/books?id=Wz-oh7ZQo8MC&pg=PA45&lpg=PA45&focus=viewport&hl=lt
>
> Always nice to get a glimpse into less known parts of database history.

That was a great walk down memory lane. Thank you !

If interested:
https://books.google.lt/books?id=Wz-oh7ZQo8MC&pg=PA24&lpg=PA24&focus=viewport&hl=lt
An IBM advert for SQL/DS. That ran as a stand-alone program, comparable to running SQL in interactive mode today (Sybase & MS isql). The "embedded SQL" version was a library: link it into COBOL or RPG, and you could write a genuine SQL statement (less than todays syntax) inside your program.

If you looked at this doc § 2, that I linked in my previous response:
http://www.softwaregems.com.au/Documents/Student%20Resolutions/Bill%20of%20Materials.pdf
The left diagram is the BoM solution for IBM/IMS then, simplified. Probably still true today (IMS is still sold and supported)
The right diagram was our Cincom/TOTL BoM, that blew the doors off the IMS equivalent. It was so successful that Cincom made a full-blown product out of it: MRPS. Advert at the bottom of this page. Still runs in many sites across the world:
https://books.google.lt/books?id=Wz-oh7ZQo8MC&pg=PA24&lpg=PA24&focus=viewport&hl=lt

In the TOTAL NDBMS, the pointers are completely invisible, to both the user and the developer. Only need to be understood by the DBA.

> > With no knowledge or regard of what Date; Darwen; Fagin;
>
> I understand why you want to put those names together, but I disagree
> that Darwen and Date's contributions (or lack thereof) are at the same
> level as Fagin's (no need to reply to this; let's keep our respective
> opinions).

Yes and no. Agreed that Fagin is a real mathematician, the dolts are not. But he, not Codd, wrote the "mathematical definitions" for all the anti-Relational (RM/T etc) concepts, the abnormal "normal forms", etc. He flatly states that DKNF is not achievable, meaning in his/their RFS. I achieve far more than DKNF in every database. Far more, because there are many constraints that are not the result of Domain or Key constraints.

About 2000, I wrote to him with a full IDEF1X data model, and full definitions, concerning that point. He could not understand a graphical model. He could only understand text. He wanted a mathematical definition, which was way beyond the presentation I was making. The usual elitism of academics.

Therefore he is squarely in the same category, of (a) denying the RM and (b) elevating the RFS (RM/T) as "RM". He may not have pig poop on his hands or lips, but he has it in his cranium, same as the rest. From the evidence, he operates with the same goal as the rest.

> > Academics love whatever they come up with, they hang on to the
> > promise, in pathological denial of reality.
>
> I beg to disagree. Don't generalize. Academic work is not different from
> any other human endeavor: many people do it, some do it well, only a few
> are exceptionally good at it. But let's not get sidestepped: your
> opinion about academia is widely known in this group.

Labelling a person and attacking the person is a lame, /ad hominem/ attack, that distracts from the argument and focuses on the person, it permits you to avoid answering the argument. You are too honourable for that.

Ok, let's set aside the opinion about my opinion, let's look at evidenced facts. Needless to say, there are at least 120 academic papers (yours included) that deny RM and elevate RM/T. Name one single articulation of RM (Not RM/T) concepts that any academic since Codd (fifty years and counting) has written. Or a formal definition. These two scream out for a formal treatment:
RM § 1.4
Trees -> "Unnormalised Set" -> Hierarchic Normal Form
"Normalised Set" -> Relational Normal Form

Fifty years.
Fagin has written much purporting to be about the "RM" or "relational", but is actually nothing about the RM, everything about RFS (RM/T), same as the rest of his tribe.

> > Stonebraker invented the filth known as Ingres. It defecated on the
> > users if more than five used the system. But it was highly praised by
> > academia.
>
> This is partly due to the fact that it was the only RDBMS coming from
> academia at the time.

Nonsense. They ignored ALL the products that were available at the time. Pathological denial of reality.

And worse, by 1985, when the products were well-established and fully compliant to Codd's Twelve Rules (well-known before 1985 due to the ongoing discussion in ComputerWorld and Datamation), they still continued to deny them, and write only filth as if reality did not exist. Ingres never complied with the Twelve Rules. PusGross and Oracle today, do not comply with either the Twelve Rules or the SQL Standrd.

And the Standards. Academia suppresses IDEF1X, and pushes ERD which is totally inappropriate, completely useless, for Relational data analysis or modelling. They teach that filth in universities. It is a commitment to denying the RM; Relational Keys; the Atom, and instead dealing with fragments of the Key (fragments of the Atom, denying its indivisibility), stored in Records, in an RFS, branded as "relational".

> But academia does recognize the fundamental merits
> of other systems, such as System R and (to a less extent) IS/1 and PRTV.

That is a perfect example of their dishonesty, thank you. No one has heard of the last two. System/R progressed to SEQUEL progressed to SQL/DS progressed to full SQL (proprietary). Then on to SQL as a Standard. Not mentioned. Every "good" lie needs an ounce of truth, which is mentioning some selected facts of history, adds credibility as a historian, knowledge of obscure details, etc. The Omission part is omitting the truth, the progress, and even SQL. And the Commission part is presenting their filth as "sql".

Don't forget the promise that they will produce a replacement for SQL because it is "not relational" (FALSE) and "broken" (FALSE), and because they in their ivory tower, divorced from reality, can. Sure, thirty years and still nothing.

Maybe when Stephen Hawking comes up with the long-promised and much awaited Theory of Everything. Or when he redefines nothing as actually something. Oops, too late. Maybe Chris Hitchens. Aw shucks. Wait, they have the autistic boy genuflectus Elon Musk Ox himself. Electric cars made from petro-chemicals, requiring massive electric batteries that blow up, that are made from rare earth minerals, extracted using slave and child labour in desperately poor countries. The new definition of eco-friendly, denial of reality and propagation of fantasy as "reality".

Two of the Four Horsemen of the Apocalypse down, two to go.

But for the rest of us, we have pre-modern science. That does not change.

> >Its bastard child, its resurrected ghost, is Postgres*NON*sql.
>
> The natural child being Sybase, I guess, given that it was made by
> members of the Ingres' team :)

Not sure what you mean.

I meant PusGross is the bastard of Ingres.

Sybase is the natural child of Britton-Lee, a genuine pre-Relational database machine that competed against IBM, Cincom, etc. When the RM became accepted, they formed a new company and came out with the first genuine SQL platform outside IBM: Sybase. Sybase and IBM/DB2 are genuine database machines (refer Architecture doc). That was the Bob Epstein crowd. There were no Ingres team members at Sybase. (I was a Sybase Commercial Partner for 17 years, I worked directly with their Engineers, pushed for specific enhancements that the banks needed; presented at their Engineers' conference; etc.)

> > It does not even remotely comply with SQL,
> > […]
> > ( That is just about PusGrossNONsql vs SQL, that does not cover the
> > other issues, such as No Server Architecture;
>
> Kind of agree (if, as you say, "a list of Unix processes clamouring for
> resources is not an architecture"). It still shines, IMO, compared to
> Oracle.

(I did give a bit more definition re what is, and is not, Server Architecture. That is a very condensed introductory doc for comparison purposes. A technical person would understand the consequences, of each of the Architecture and the Non-Architecture.)

Ok, I agree. In my considered experience, new twenty-year-old pig poop shines in comparison to forty-year-old pig poop. But they are in the same category. From the evidence of the various papers, you, and the academics in general, have no idea what a real SQL platform looks like, let alone what it works like. There is no basis for you guys to declare "SQL is this ... SQL can't do that ...", but you do, all the time. In denial of reality.

> > No ACID Transactions;
>
> Do you refer to MVCC and stored procedures? Happy to discuss that in
> a different thread.

Yes, please. Although the definition is short, the discussion will be long. Might include different implementations. Need to understand the historical progression.

> > Therefore, if you would like to engage because you would like to know
> > what actual Authority; Standards; Codd (RM & Twelve Rules only);
> > genuine SQL; high-end customers have been doing for four decades,
> > while academia has been hyper-ventilating about, and engorging
> > themselves with, each others backsides, we have a chance of having
> > a meaningful discussion. Specifically, you will gain something.
>
> Yes, that's the prime and ultimate goal of this discussion!

Ok, great. But I did detail a caveat, ending with:

> > I am saying you must have some serious pain, caused by the natural revulsion at the sophistry that passes for "logic", the foul odour of the mountain you are standing in, to move away from it.

Which I will take it, that you have accepted that. The idea is to limit, if not eliminate, devil's advocate arguments for something that is not reasonable for a Scientist.

Now we need some boundaries and expectations.
1. After 34 years of practising the RM, and not the anti-Relational RM/T, without the contamination of the Data; Darwen; Fagin sophistry that markets the anti-Relational RFS (RM/T as the RM), I have a fair amount of progressions to the RM, which I credit to Codd, because anyone whose brains have not been scrambled would go down the same path and find the same progressions. These are documented in customer systems, confidential, and not in the public domain. These are covered by a customer contract which includes a Non-Disclosure Agreement. They continue to have commercial value.

2. This forum is public domain. [1] is explicitly excluded from public discussion.

- There is a huge gap between what the RM is marketed and promoted as (RFS based on RM/T plus plus, truly an RFS) and what the RM actually is. Which is defined in the header thread. That is the scope of discussion here. What a real world Applied Scientist would do, from the RM proper.

- Whereas [1] is the implementation, including Rules; extensions to existing Standards; new Standards where there is none; implementation constructs that can be immediately implemented, this [2] is everything minus that.

As evidenced in this and other threads I have participated in. Same as Codd, I accept Applied Theory and scoff at theory that has no application intent, or that contradicts application science.

> > No. That is not simplicity. Stop lying to yourself. That is
> > ignoring the science that produces simplicity, and shifting the
> > responsibility back to the user.
>
> From here on, I essentially agree with your extensive reply (except for
> some unimportant details).

Thank you.

> > There are THREE types of genuine Hierarchies, which are inherent (yes,
> > inherent) in the Relational Model. In the fifty years since Codd, not
> > a single "theoretician" has defined or articulated them. Proved it
> > is, that that is not known to you, by the fact that you are pushing
> > linked lists of physical IDs as "hierarchies".
>
> I see two types of hierarchies: at the instance level (e.g., the
> classical bill of materials) and at the schema level (via dependent
> entities, including categorizations). What is the third?

My numbering, since 1985, which is logical, in the sense of sequence of encounter as one applies the RM. I will use IDEF1X terms, because that is the one and only Standard for Relational data modelling. (You may wish to discuss why ERD is totally useless for Relational modelling; why the academics push ERD; why they deny the existence of IDEF1X; why they do not teach IDEF1X; etc).

My Intro to IDEF1X is:
http://www.softwaregems.com.au/Documents/Documentary%20Examples/IDEF1X%20Notation.pdf

1. The Relational Key
The central article of the RM.
Which is a composite, which itself reflects The Hierarchy. A single Hierarch (Independent table), followed by a sequence of Hierarchic tables (Dependent tables), the relations between being Identifying relations. In the example:
http://www.softwaregems.com.au/Documents/Documentary%20Examples/Order%20DM%20Advanced.pdf
- one perfect example would be Country ... Street
- one imperfect example would be Party ... OrderSaleItem. Imperfect because the Hierarch.PK is a surrogate (justification aside), and thus a Relational Breach; a violation of the Access Path Independence Rule. But the consequence, the impact, is small, due to it being at the top of the natural hierarchy.
- another imperfect example would be Object ... OrderSaleItem
- Address is a more impactful breach (the example DM is a teaching vehicle, and thus includes classic errors in order to deeply understand them), because in the pure RM model it would be a Hierarchic, in the middle of the natural hierarchy. The consequence of the Relational Breach/violation of the Access Path Independence Rule is more impactful, because it cuts off the descendent rows from the natural relation to their ancestor rows. Whereas Party & Object is not.

What it is not
Reference tables such as ObjectType, because it has no Identifying relations.
Address, because even though it has a hierarchy one level deep, it goes nowhere.

The central article of the RM provides (and RFS [RM/T] can not have):
- Relational Integrity (which is Logical, and distinct from Referential Integrity, which is physical)
- Relational Power (simplest example is JOIN power)
- Relational Speed (due to smallest tables; fewest indices; etc)
These three absolute features of the RM is identified here, but not expanded. These are the three features that must be considered carefully, when choosing to implement a surrogate, because they will be lost.

It is remarkable that academics do not know this, despite making grandiose declarations about what the RM is, and is not (promotion and marketing of the RFS as "the RM" aside).

For a related discussion, see:
https://groups.google.com/forum/#!topic/comp.databases.theory/5212JwYtip4
It is a bit laboured due my having to overcome the dishonesty of academics, but it does have relevant background info, and a trip down memory lane.

If I were to /define/ the RM is a single sentence, I would not use the academics' declaration, that it was totally new, the first model because it has and RA, invented in isolation from the historic context, blah blah. Because that is a lie. It would be:
- the RM is based on (a) The Hierarchical Paradigm, (b) the Network Paradigm, and (c) FOPC, leading to the RA. Once the cataracts are removed from the eye, each of those items are readily visible.

2.Preamble
Whereas [1] is /in/ the Key, and migrated as FK::subordinate Key, and therefore /in/ a chain of tables, [2] is not, it is within the data rows of a single table.
Using this write-up, § 1:
http://www.softwaregems.com.au/Documents/Student%20Resolutions/Bill%20of%20Materials.pdf

2. Single-Parent Hierarchy
Commonly called "One Way".
Also commonly called "self-reference" which is an idiotic term (the row does not reference itself, the proponent is evidently confused re a table and a row) and therefore I do not use it.

The definition is, a row in the table references another single row in the same table, as a parent. The relation is Non-Identifying because the subject Key is already an Atom, and the reference does not define it, therefore the reference is an attribute of the subject Key.

The reference/relation does not have an attribute: if it did, it would have to be in a subordinate table, one Identifying relation and one Non-Identifying relation.

This describes a complete RM single-parent hierarchy, which is Logical and therefore without any limitation. Code that navigates the hierarchy can be simple or complex, based on the presentation demand. Typically, a recursive Function is used to the list of ancestors as a single column; variable. An example is Path in:
http://www.softwaregems.com.au/Documents/Tutorial/Recursion/Hierarchy%20Inline.pdf
(corresponds to Node in the BoM write-up)

Moving a branch requires an UPDATE to a single row. We have had these in the real world since 1985. SQL WITH is not required, CTE is not required.

For understanding, the RFS equivalents as promoted by Date; Darwen; Fagin; Celko (a whole book /SQL for Dummies/ ); et al. Adjacency lists; Nested Sets; still others, poured in concrete. Moving a leaf is horrendous, moving a branch is an overnight batch job that might blow the transaction log.

3. Multiple-Parent Hierarchy
Using the same BoM write-up, § 3.
Whereas [2] implements a full tree downstream, but a scalar upstream (single row per generation), this allows reference to multiple parent rows (multiple rows per generation). The classic Bill of Materials with zero duplication. In its simple form, the relation has no attributes, thus it is an Associative Table. Where the relation has attributes, it is an ordinary Dependent table.

It must be emphasised that solving this problem (it was a major problem in pre-Relational DBMS) was a specific task that Codd was given to solve in his RM project. Which he did brilliantly, due to the RM being Logical (FOPC: RA).

For understanding, the main difference between this and the RFS equivalent is simple code for navigation and no integrity errors vs complex navigation code and integrity errors. And worse, such integrity errors are not readily visible, because they hide in the undefined row or fragments of the row, which is inside the referenced record or records.

----

> I see two types of hierarchies: ...
> including categorizations

Categorisation (generalisation::specification in OO/ORM terms) is not an hierarchy. Just as we had three NFs; ACID Transactions; etc, before Codd, we had Basetype::Subtype clusters before Codd. Codd gives licence for all that in his RM.

/Categories/ is the original IDEF1X term but it is horrible (think: Aristotle /Ten [Classical] Categories/, or the normal English meaning) and not used in the IDEF1X community. Further the Original IDEF1X notation is limited, same as the notation of Cardinality. Therefore IEEE notation and terms are used for both Cardinality and Subtypes in an IDEF1X model. (Detailed in my IDEF1X Intro.) All modelling tools that I have used over the decades, that provide IDEF1X modelling allow IDEF1X/IEEE notation for Cardinality and Subtypes.

We have a Basetype and a set of Subtypes, forming a single-level cluster. Detailed discussion here:
http://www.softwaregems.com.au/Documents/Article/Database/Relational%20Model/Subtype.pdf

The main concept is, a single Basetype::Subtype pair should be understood (perceived as) a single logical row, not two rows with a relation between them. In Logic terms, it is an OR GATE. XOR for Exclusive, ordinary OR for Non-Exclusive. Another reason why the IEEE nomenclature is more applicable.

If you mean an hierarchy because a Subtype may in turn be a Basetype, and so on, then no, that is an ordinary hierarchy type [1], as defined by the Key, not a different type of hierarchy.

> >> one difference, though, is that a movie typically has no single
> >> creator, but rather a group of people with distinct roles (writer,
> >> screenwriter, director, etc.). Not sure whether you may attribute
> >> a movie to a single principal creator.
> >
> > Author: I don't. They call it Agent. It can be a single person, or
> > a corporation, or a collective of persons.
>
> Yes, that may a good way to model that.
>
> > Cast: They have specific roles for each member of the cast.
>
> Sure. More accurately, each member of the cast may have more than one
> role (e.g., an actor that is also the movie director).

No problem at all.
Simple Dependent table with a Key that implements that.

Cheers
Derek

Nicola

unread,
Jan 6, 2020, 12:24:02 PM1/6/20
to
> Yes, that is the best doc.
>
> Let's say that my Key for Movie Title at this stage (some iteration of
> the DM that is not yet complete), based on the doc, is as follows. (I
> know it is not correct yet, that is not the point being argued here):
> Work.PK ( CountryCode, Year, Creator, Title )
>
> Now take one eg. p22 § 1.1.1 Boundaries between Works
>
> 1. The examples given (to differentiate Works) that are mere changes
> to one or more component of the Key = Good Thing, confirms the Key.
> The other examples suck dead bears.
>
> //Change in footage and/or changes in continuity (primary
> editing)// & the examples given
>
> 2. Um. Footage exists only in a Manifestation, it cannot exist in
> a Work (intellectual concept, not yet real)

I'd say that you are right. The examples are taken from this paper:

https://escholarship.org/content/qt6hk8h9vp/qt6hk8h9vp.pdf

My interpretation is that, even at the intellectual level, the "moving
image" part of a movie ("footage" is probably not the best term here)
must be considered an intrinsic part of a (Moving Image) Work,
independent of any Manifestation and shared by all of the Manifestations
of the same Work, in the same way as Shakespeare's sonnets or
Aristotle's Metaphysics have an existence independent of any particular
printed or digital edition of them, and all printed or digital (or
spoken, for that matter) editions of them must share the same words (or
most of the same words). Similarly, all the Manifestations of the same
Moving Image Work must share the same "moving image" part, otherwise
they have to be considered expressions of different Works.

For example, if I interpret correctly those definitions, the recent
hyper-realistic remake of The Lion King by Disney even at the conceptual
(i.e., Work) level must be considered a distinct Work from the original,
even if it is based on the same screenplay, because the "moving image"
part is completely different.

One difficulty here is that we come to know Works only through their
Manifestations, so the only way we have to determine the existence of
a new Work is through the analysis of some Manifestation of it. Perhaps,
the simplest way to think of a Work is as the abstraction of the
collection of all of its Manifestations, similarly to the way we define
Person as the abstraction of the collection of all individuals.

> //different language versions shot at the same time, released
> simultaneously//
>
> 3. Different Languages is not a Work, because a human can conceive of
> something in just one language (those who conceive of things in
> multiple languages can be safely assigned to an asylum). The Language
> would be the Language of the Country or of the Creator. Nevertheless,
> I am willing to accept that multiple languages is an INTENT of the
> Work.

They provide Tod Browning's Dracula (1931), and other movies, as
examples. According to what I have read (I am not an expert), that movie
was shot at night on the same set both in English and in Spanish (with
Spanish-speaking actors). I *think* that they may have shot a scene in
English then, immediately after, shot the same scene in Spanish,
possibly changing some actors. According to FIAF, those are to be
considered two different Works (because of course the "footage"—hence,
more abstractly, the "moving image" part—cannot be the same).

I have searched some of those movies on IMDB: interestingly, Dracula
has one "record" (one page):

https://www.imdb.com/title/tt0021814/?ref_=fn_tt_tt_29

But, for example, Anna Christie (1930), which is another of the FIAF
examples, appears twice:

https://www.imdb.com/title/tt0020641/?ref_=fn_al_tt_1
https://www.imdb.com/title/tt0020642/?ref_=fn_al_tt_2

once attributed to USA and the other one to Germany.

> 4. Shooting is a Manifestation (realisation), not a Work.
>
> 5. Release is a Manifestation (realisation), or even an Item, not a Work.
>
> Et cetera. I have given just one example of incoherence, there are many such issues.
>
> The same set of problems (incoherence) exists at each of the four Levels.

I agree that they should have paid more attention to such aspects.

> ----
>
> In the normal, real world case, following [a][b][c], I would give the
> customer a presentation of such errors, the result of which is:
> d. either that he would retain responsibility and flick it back to
> his technical people to produce a Technical doc,
> e. or he would commission me to produce a Technical doc that is
> resolved; free of errors; coherent. Which I would do side-by-side
> with a DM, in communication with the key users.
>
> Obviously that is not going to happen here. Keeping in mind the
> central question in this thread, and not shirking the work required,
> I suggest the following.
> - I play both roles, User and Data Modeller
> - I make decisions about what each of Work; Variant; Manifestation;
> Item, actually is (a real world implementation). This will not be
> arbitrary decisions, but sensible ones
> - which will be reflects in the DM, as well as in the conversation in
> this thread

That's fine.

> - however that leaves a rather large gap for argument, and a devil's
> advocate argument that would be a veritable chasm, a Grand Canyon.
> Which would detract from the purpose of this thread, and allow you to
> avoid accepting a hard answer
> --- In that case, you have to accept that that is not permitted
> - the alternative is [d], you retract the doc, and come back when you
> have a coherent one, that is sensible enough (not perfect) to model
> from, to make reasonable decisions re what the Relational
> { Work | Variant | Manifestation | Item }.PK
> should be.
>
> Over to you.

I'm afraid I don't know other resources to refer you to. Appendix I has
some examples that might be interesting to browse, though.

> Correct me if I am wrong, but the real intent, the real value of this
> thread, is going to be the discussion that occurs AFTER I give
> a Relation Key that Identifies a movie. Ie. a good Relational Key vs
> a surrogate, wrt the charges you have made at the top of this thread.

Yes, that might be an interesting comparison. But I'd be happy to stop
after resolving the specific question I have posed.

> If, on the other hand, your question is really "how does one determine
> a Relational Key for a real world implementation, from this incoherent
> document", then let's confirm that that is the case, and let's have
> that discussion. It depends on your initial or progressed intent:
> have a discussion re:
> q1. RFS/surrogate vs RDB/Relational Key
> -- wherein a model with zero integrity, that does everything for
> everyone, has already been rejected
> or
> q2. What is a good Relational Key for this problem
>
> Which is why it is over to you.

First and foremost, the question is always the same: how do you identify
a movie (i.e., q2)?

Nicola

Nicola

unread,
Jan 6, 2020, 1:29:38 PM1/6/20
to
On 2020-01-06, Derek Ignatius Asirvadem <derek.a...@gmail.com> wrote:
> That was a great walk down memory lane. Thank you !

Thanks for the links. Bookmarked.

>> I beg to disagree. Don't generalize. Academic work is not different from
>> any other human endeavor: many people do it, some do it well, only a few
>> are exceptionally good at it. But let's not get sidestepped: your
>> opinion about academia is widely known in this group.
>
> Labelling a person and attacking the person is a lame, /ad hominem/
> attack,

I didn't mean that as a lame personal attack, sorry if it sounded so.
I was just trying to limit the scope of this thread, into which we have
already mixed database history, concurrency control, general questions
about hierarchies, etc. (my fault, too). Nothing against discussing
a wide range of topics, but please let's stick to one topic per thread.
Time is limited for everyone (especially now that holidays are over),
and having to discuss several topics at once may become infeasible for
me.

I am still replying to your comments below, but it may become too
time-consuming for me to keep doing so. So, again, nothing personal, but
let's move tangential topics, like you did for the PostgreSQL thread.

> Name one single articulation of RM (Not RM/T) concepts that any
> academic since Codd (fifty years and counting) has written.

I think that, whatever I name, you won't accept it :) Off the top of my
head: Datalog.

But I must agree that most database theory has remained such. Besides,
I'd say that research on database theory has declined sharply since the
'90s, or maybe even earlier. AFAICS, current research in the database
field is primarily related to database *systems* (e.g., physical
optimization).

> ERD [...] is totally inappropriate

Agreed.

>> >Its bastard child, its resurrected ghost, is Postgres*NON*sql.
>>
>> The natural child being Sybase, I guess, given that it was made by
>> members of the Ingres' team :)
>
> Not sure what you mean.
>
> I meant PusGross is the bastard of Ingres.

> Sybase is the natural child of Britton-Lee, a genuine pre-Relational
> database machine that competed against IBM, Cincom, etc.

I quote from "Readings in Database Systems", Fourth Edition, p. 98:

"Perhaps the most commercially successful and technically impressive of
these systems was from a company called Britton-Lee, which was founded
by a number of alumni from the INGRES research group."

Nicola

Derek Ignatius Asirvadem

unread,
Jan 8, 2020, 6:38:15 PM1/8/20
to
> On Tuesday, 7 January 2020 04:24:02 UTC+11, Nicola wrote:
> On 2020-01-06, Derek Ignatius Asirvadem <derek.a...@gmail.com> wrote:
> >
> > Let's say that my Key for Movie Title at this stage (some iteration of
> > the DM that is not yet complete), based on the doc, is as follows. (I
> > know it is not correct yet, that is not the point being argued here):
> > Work.PK ( CountryCode, Year, Creator, Title )
> >
> > Now take one eg. p22 § 1.1.1 Boundaries between Works
> >
> > 1. The examples given (to differentiate Works) that are mere changes
> > to one or more component of the Key = Good Thing, confirms the Key.
> > The other examples suck dead bears.
> >
> > //Change in footage and/or changes in continuity (primary
> > editing)// & the examples given
> >
> > 2. Um. Footage exists only in a Manifestation, it cannot exist in
> > a Work (intellectual concept, not yet real)
>
> I'd say that you are right. The examples are taken from this paper:
>
> https://escholarship.org/content/qt6hk8h9vp/qt6hk8h9vp.pdf

What a joke. I love the way millenials think that if they call themselves /scholar/ they magically mystically mysteriously BECOME /scholars/.

> My interpretation is that, even at the intellectual level, the "moving
> image" part of a movie ("footage" is probably not the best term here)
> must be considered an intrinsic part of a (Moving Image) Work,
> independent of any Manifestation and shared by all of the Manifestations
> of the same Work, in the same way as Shakespeare's sonnets or
> Aristotle's Metaphysics have an existence independent of any particular
> printed or digital edition of them, and all printed or digital (or
> spoken, for that matter) editions of them must share the same words (or
> most of the same words). Similarly, all the Manifestations of the same
> Moving Image Work must share the same "moving image" part, otherwise
> they have to be considered expressions of different Works.
>
> For example, if I interpret correctly those definitions, the recent
> hyper-realistic remake of The Lion King by Disney even at the conceptual
> (i.e., Work) level must be considered a distinct Work from the original,
> even if it is based on the same screenplay, because the "moving image"
> part is completely different.
>
> One difficulty here is that we come to know Works only through their
> Manifestations, so the only way we have to determine the existence of
> a new Work is through the analysis of some Manifestation of it.

Yes. That is exactly why I moved from the challenge to submit THREE levels to FOUR levels. They have to be worked, be modelled together.

> Perhaps,
> the simplest way to think of a Work is as the abstraction of the
> collection of all of its Manifestations, similarly to the way we define
> Person as the abstraction of the collection of all individuals.

(Not arguing with your wording here, but rather the logical concept. I will use the well-known example here, rather than the mystical magical thingee that FIAF/FRBR/UCLA/etc cannot define in 20 years, despite their familiarity with it.)

How is that an /abstraction/ ?

Person is the genus, wherein { Teacher; Lawyer; Imbecile; etc } is the species.
Teacher is the genus wherein { Secondary; Lecturer; Professor; etc } is the species.
Sure, when approaching the subject from a starting position of "unknown", one must define the species (plural), and thus the genus becomes known, and can be defined.

But but but, that is not /it/. Second level. What we model in other entities will expose attributes of either genus or species of Person, either Matter or Form (accidents or being or essence).

So no, from where I sit, /abstraction is not anywhere near the accurate description or definition.

(If you are using /abstraction in the way the OO/ORM boffins use, to mean absolutely anything they cannot define, please use another word.)

Labelling, naming, a thing is very very very important. The name carries meaning. From the progress thus far, /Work/ is an idiotic label. I am tending towards /Concept/.

> > //different language versions shot at the same time, released
> > simultaneously//
> >
> > 3. Different Languages is not a Work, because a human can conceive of
> > something in just one language (those who conceive of things in
> > multiple languages can be safely assigned to an asylum). The Language
> > would be the Language of the Country or of the Creator. Nevertheless,
> > I am willing to accept that multiple languages is an INTENT of the
> > Work.
>
> They provide Tod Browning's Dracula (1931), and other movies, as
> examples. According to what I have read (I am not an expert), that movie
> was shot at night on the same set both in English and in Spanish (with
> Spanish-speaking actors). I *think* that they may have shot a scene in
> English then, immediately after, shot the same scene in Spanish,
> possibly changing some actors. According to FIAF, those are to be
> considered two different Works (because of course the "footage"—hence,
> more abstractly, the "moving image" part—cannot be the same).

Well, you and I agreed at the outset, the first principle is the Four Laws of Thought. Operating outside those Laws is the definition of insanity. They literally live in the Excluded Middle, resolving nothing; having contradictory and or confused or indeterminate meanings. I've got a job to do in the real world, a cataloguing system to build, from real physical articles (collection of movie articles just obtained from a deceased estate; etc). I can't be asked to either join their insanity and wring my hands for the next 20 years while sounding knowledgeable about fantasy but doing nothing to define it. Therefore, applying the Law of the Excluded Middle, I will
--------
resolve
--------
what they cannot, and I will accept the responsibility for doing so. That means, if you find it broken, in the next ten years, you can come back to me and I will fix it free of charge.

Likewise, they have contradictions. The universe has no contradictions. Anything perceived to be a contradiction is squarely in the perceiver's intellect, and it must be resolved (one side is cancelled). They are welcome to their intellectual and spiritual pain, which is the hot maintained tension or opposites. I can't be asked to join them. Therefore, applying the Law of the Non-Contradiction, I will
--------
resolve
--------
what they cannot, and I will accept the responsibility for doing so. That means, if you find it broken, in the next ten years, you can come back to me and I will fix it free of charge.

- No problem at all, that the Concept will become known from the Manifestation.
- Each of Dracula & Anna Christie are a single Concept, multiple Manifestations.
- Articles such as Aristotle's Metaphysics is a single Concept, multiple Manifestations.
- /the same "moving image" part/ is eliminated as a Concept.
--- If and when the user (archivist; librarian; cataloguer; etc) determines THE or A /concept/, he can add it.
--- the notion of IDENTIFYING the Concept before the addition of A Manifestation is dismissed, because it reverses the order of the universe, the natural progression of determining what in heavens name the articles in a Collection are. Ie. we come to determine the genus through determination of, and further discernment of, the species.

> I have searched some of those movies on IMDB: interestingly, Dracula
> has one "record" (one page):
>
> https://www.imdb.com/title/tt0021814/?ref_=fn_tt_tt_29
>
> But, for example, Anna Christie (1930), which is another of the FIAF
> examples, appears twice:
>
> https://www.imdb.com/title/tt0020641/?ref_=fn_al_tt_1
> https://www.imdb.com/title/tt0020642/?ref_=fn_al_tt_2
>
> once attributed to USA and the other one to Germany.

See what I mean. When one does not follow the Laws, or the science, one ends up with massive duplicates, duplicates at more than one level, not just duplicate rows in a single table (which is simple to prevent). Dupes like this are the result of conceptual errors (you might say at the /abstraction/ level).

> > 4. Shooting is a Manifestation (realisation), not a Work.
> >
> > 5. Release is a Manifestation (realisation), or even an Item, not a Work.
> >
> > Et cetera. I have given just one example of incoherence, there are many such issues.
> >
> > The same set of problems (incoherence) exists at each of the four Levels.
>
> I agree that they should have paid more attention to such aspects.

Not just attention, which I am sure they have paid mountains of. But the Laws, the science. All of which they are evidently ignorant of.

> > In the normal, real world case, following [a][b][c], I would give the
> > customer a presentation of such errors, the result of which is:
> > d. either that he would retain responsibility and flick it back to
> > his technical people to produce a Technical doc,
> > e. or he would commission me to produce a Technical doc that is
> > resolved; free of errors; coherent. Which I would do side-by-side
> > with a DM, in communication with the key users.
> >
> > Obviously that is not going to happen here. Keeping in mind the
> > central question in this thread, and not shirking the work required,
> > I suggest the following.
> > - I play both roles, User and Data Modeller
> > - I make decisions about what each of Work; Variant; Manifestation;
> > Item, actually is (a real world implementation). This will not be
> > arbitrary decisions, but sensible ones
> > - which will be reflects in the DM, as well as in the conversation in
> > this thread
>
> That's fine.

Done.

> > - however that leaves a rather large gap for argument, and a devil's
> > advocate argument that would be a veritable chasm, a Grand Canyon.
> > Which would detract from the purpose of this thread, and allow you to
> > avoid accepting a hard answer
> > --- In that case, you have to accept that that is not permitted
> > - the alternative is [d], you retract the doc, and come back when you
> > have a coherent one, that is sensible enough (not perfect) to model
> > from, to make reasonable decisions re what the Relational
> > { Work | Variant | Manifestation | Item }.PK
> > should be.
> >
> > Over to you.
>
> I'm afraid I don't know other resources to refer you to. Appendix I has
> some examples that might be interesting to browse, though.

Ok. So no devil's advocate arguments. Only real world arguments. And per the detail above, any un-resoved or contradictory article (eg. Anna Christie) will be resolved, and THAT it is unresolved in the magical mystical mysterious world of idiots will NOT be a basis for barracking for them. If you do, by that very act, you place yourself in the same category, and I cannot help you.

> > Correct me if I am wrong, but the real intent, the real value of this
> > thread, is going to be the discussion that occurs AFTER I give
> > a Relation Key that Identifies a movie. Ie. a good Relational Key vs
> > a surrogate, wrt the charges you have made at the top of this thread.
>
> Yes, that might be an interesting comparison. But I'd be happy to stop
> after resolving the specific question I have posed.
>
> > If, on the other hand, your question is really "how does one determine
> > a Relational Key for a real world implementation, from this incoherent
> > document", then let's confirm that that is the case, and let's have
> > that discussion. It depends on your initial or progressed intent:
> > have a discussion re:
> > q1. RFS/surrogate vs RDB/Relational Key
> > -- wherein a model with zero integrity, that does everything for
> > everyone, has already been rejected
> > or
> > q2. What is a good Relational Key for this problem
> >
> > Which is why it is over to you.
>
> First and foremost, the question is always the same: how do you identify
> a movie (i.e., q2)?

Ok.

But the thread is under the head of [q1], even if we do not have that discussion. So [q2] is primary, and [q1] is the context, the backdrop, secondary. We cannot divorce ourselves from the claims that you made in the initial post, re what you can do in an RFS.

Cheers
Derek

Derek Ignatius Asirvadem

unread,
Jan 8, 2020, 10:12:16 PM1/8/20
to
First submission. Obviously I have done far more work than this, this is just what I am willing to show the "senior user", in order to foster discussion.

Ambiguities and contradictions and circular workflow paths resolved, as detailed in the previous post.

(
I don't have separate "conceptual model"; "logical model"; physical model" (neither does /ERwin/), they are just points of progression in a project. So even though I have a progressed "logical model", I am submitting only the "conceptual model".
)

As such, we are not yet discussing Keys, but we are certainly evaluating, contemplating:

How is each fact Identified in the real world ?

How do we Identify each fact ?

With some regard to the downstream effect.

> Labelling, naming, a thing is very very very important. The name carries meaning. From the progress thus far, /Work/ is an idiotic label. I am tending towards /Concept/.

Did I say /very/ ?

Obviously, if I use their terms, then I must mean what they mean. Eg. Item.

Where the facts I have determined are different to their confused mess, I can't use their terms. Logical & meaningful names used.

> > > //different language versions shot at the same time, released
> > > simultaneously//
> > >
> > > 3. Different Languages is not a Work, because a human can conceive of
> > > something in just one language (those who conceive of things in
> > > multiple languages can be safely assigned to an asylum). The Language
> > > would be the Language of the Country or of the Creator. Nevertheless,
> > > I am willing to accept that multiple languages is an INTENT of the
> > > Work.

Each different language is a different Realisation, /shot/ means physicalisation in a particular medium. May be a Variant.

If and when the Concept becomes established, that fact can be registered.

> > > 4. Shooting is a Manifestation (realisation), not a Work.

Realisation

> > > 5. Release is a Manifestation (realisation), or even an Item, not a Work.

Realisation, possibly worked back from an Item.

> So no devil's advocate arguments. Only real world arguments. And per the detail above, any un-resoved or contradictory article (eg. Anna Christie) will be resolved, and THAT it is unresolved in the magical mystical mysterious world of idiots will NOT be a basis for barracking for them. If you do, by that very act, you place yourself in the same category, and I cannot help you.

I do not wish to limit what you say. But at least for part of evaluating this submission, please play the role of a real world archivist/librarian/cataloguer.

http://www.softwaregems.com.au/Documents/Article/Database/Movie%20Title/Movie%20Title%20Progression%20V0_1.pdf

---------------------------------------
User Progression (Early Workflow)
---------------------------------------

Register Collection
Register Items, which are Undetermined
Physical properties ... leading to logical properties
As and when the Realisation is determined ("abstraction" is identified), register Realisation
As and when the Concept is determined ("abstraction" is identified), register Concept

Cheers
Derek

Nicola

unread,
Jan 9, 2020, 7:17:06 AM1/9/20