Re: Semantic Layers (Was Interpretation of RDF reification)

On 29 Mar 2006, at 06:20, John F. Sowa wrote:

>
> Let me point out some things I like:
>
>  1. The use of Unicode and URIs.

This is the key.

>  2. The use of XML for marking up documents.

Completely unimportant. XML is a markup language, and it is best for  
marking things up, which is what html the open office formats do.

>
>  3. The use of logic-based languages such as RDF and OWL, which are
>     semantically compatible with subsets of the draft proposed ISO
>     standard for Common Logic.

Yes. I like to think of the relation between the SemWeb and previous  
AI and database technologies that came before, as being similar to  
the relation between the internet and all the previous networks that  
came before it. The URI's give us a way to communicate the meaning of  
words in a universal way. The semantics a way to create meaning from  
the constituent parts. This is general enough that it should  
encompass all that has been done before. I say encompass not replace.

All that is needed now is rules and quantification (which N3 [1]  
provides)

> Some things I'm not happy with:
>
>  1. The limitation of RDF to just triples.  There is no reason
>     why they can't support full n-ary relations.  That would
>     certainly simplify the mapping to and from relational DBs.

They can. If you want to relate an object to a bunch of things just  
relate it to a list.

:henry :onlyowns (:laptop :hat :camera) .

or relate it to a class with a number of properties

[ :color :blue;
   :temperature "25";
   :position [ :lat "23"; :long "45" ]
] .

>  2. The bloated syntax of RDF & OWL. (Yes, I've heard all
>     the arguments for compression, for better human factored
>     tools, etc.   I've heard similar apologies for other design
>     mistakes over the past 40 years, and they've always turned
>     out to be wrong.)

OWL and RDF are not a syntax. They are a semantics. If you want to  
make your life easier just use Turtle, or if you want more power than  
what has yet been standardized, use N3. Here is an atom feed  
rewritten using N3 (turtle) syntax with the AtomOwl ontology [2]

[ a :Feed, :Version;

    :title [ :value "Example Feed";
             :type "text/plain" ];
    :link  [ :href <http://example.org/>;
             :rel iana:alternate ];
    :updated "2003-12-13T18:30:02Z"^^xsd:dateTime;
    :author [ :name "John Doe" ];
    :id <urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6>;

    :entry [ a :Entry, :Version;
             :title [ :value "Atom-Powered Robots Run Amok";
                      :type "text/plain" ];
             :link [  :href <http://example.org/2003/12/13/atom03>;
                      :rel iana:alternate ];
             :id <urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a>;
             :updated "2003-12-13T18:30:02Z"^^xsd:dateTime;
             :summary [  :value "some text";
                         :type "text/plain" ]
           ];
] .

Use cwm to convert rdf/xml into any of the many other formats that  
exist.

> Suggestion:  I propose an alternate notation for RDF-like triples
> (with the option of n-tuples), which would be an XML tag that
> encloses a list of tuples defined by the following two BNF rules:
>
>     TupleList  ::=  Tuple*
>
>     Tuple  ::=  "(" Relation Argument* ")"

Good idea. Learn Turtle or N3. You need turtle to write SPARQL anyhow.

Henry

[1] http://bblfish.net/blog/page5.html#47
[2] http://bblfish.net/work/atom-owl/

Received on Wednesday, 29 March 2006 07:32:07 UTC