ProjetPP / Documentation

Documentation and protocol specification of the Projet Pensées Profondes
Creative Commons Zero v1.0 Universal
7 stars 1 forks source link

Complete rewrite of the data model #30

Closed Tpt closed 9 years ago

Tpt commented 9 years ago

Note: this specification is intentionally not complete

Ezibenroc commented 9 years ago

I find it too formal. I prefer this kind of things:

union

∪: list × list × ... × list → list Denotes the concatenation of the lists. Example: ["Douglas Adams","Peru"] ∪ ["Peru"] ∪ ["22/11/2014"] = ["Douglas Adams","Peru,"Peru","22/11/2014"]

Ezibenroc commented 9 years ago

Notice the duplication of the element "Peru" in my example, the purpose is to remove ambiguousness: yes duplicate elements are allowed. We use set operators on lists, it may be confusing for the reader.

Tpt commented 9 years ago

@Ezibenroc Thank you for all these typo fix.

yhamoudi commented 9 years ago

please, could you add the possibility to have connectors of arity 1 such as First, Biggest, ...

Tpt commented 9 years ago

@yhamoudi Yes, of course. But I would prefer to add them in an other pull request, after we agree on the basic data model.

Ezibenroc commented 9 years ago

"something in the universe" was volunteer in order to say it may be everything (and it is the term use in RDF specification). "some basic object" is, I think, less clear and the word "basic" seems restrictive.

Ok

I linked the "true" as example in order to show that the two booleans are also resources

This functional notation is very odd. That mean that a predicate has simultaneously 2 types: list*list-> bool and list. This is pretty hard to unify. I prefer a curryfied notation to transform a predicate into his caracteristic function (what is needed here).

If true and false can be a resource and a boolean indiferently, then I don't see why a predicate could not be a function and a list.

Moreover, I really see predicates more as function than as lists (in fact, exactly as the notion of predicate in math).

marc-chevalier commented 9 years ago

Because booleans are a subset of resources and because function on lists are a higher order than lists.

Ezibenroc commented 9 years ago

I still think that a predicate is more a function list*list->bool than a list.

Tpt commented 9 years ago

A first point that, I think, is fundamental: a resource may represent anything, including a predicate, the conjunction or even a triple.

After discussions with Marc and reflexion I don't like too the idea to see in the data model predicates as functions of list_list -> bool (or resource_resource -> bool) and, so, the predicate(subject, object) notation.

Some reasons: