OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office-metadata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [office-metadata] RDF/XML and XPath


Elias, All,

thank you very much for the many examples. They are very helpful.

The conclusion I draw from them actually is not that XForms + RDF/XML 
won't work at all, but that we have to make some restrictions on the 
XML/RDF that we include if we want that it is accessible from XForms. 
Making these restriction is valid, because the purpose of the SC is not 
to add RDF/XML (or RDF, RDFa), but to provide a solution for certain 
meta data related use cased.

When I look at your examples, I furthermore believe (at least for the 
moment) that we have to make similar restriction for the RDF/XML+RDFa 
approach. Why? Let's assume we don't do so, and you have a certain RDF 
triple in the content.xml, using RDFa. What do you have to do to make 
sure that this triple is in sync with the triples in the RDF/XML 
streams, or how do you provide a user interface to add additional 
triples to content.xml? You have to parse all RDF/XML files, and have to 
convert them into a RDF model. This may not only be time consumptive, if 
RDF/XML has as many variants as you say, it may also be a huge effort to 
implement all of them. I therefore suggest that we restrict the RDF/XML 
support to those things that we need to implement the use cases, instead 
of opening the door so wide that we get a huge flexibility, but run into 
the risk that we don't get a running implementation.

Below you say

 > RDF/XML is trying to represent a graph,
 > not a tree, like HTML. RDFa takes advantage of the tree properties of
 > HTML
 > to define an extraction mechanism but only of triples than then
 > together
 > will make up a graph.

I don't doubt that RDFa fits well into HTML, but we have to consider 
that ODF is not HTML, and that ODF is used in different ways than HTML.

Authors that create/edit HTML documents usually have a basic HTML 
knowledge, and I assume that's in particular the case if they add 
semantic information to documents.

Authors that create/edit ODF documents usually don't have a knowledge 
about ODF. The just edit office documents, and an office document is 
what they see in the office application's GUI. They are not aware of the 
hierarchical structure of an ODF document, and office application don't 
expose that structure to the user. That's a large difference to how HTML 
documents are edited. So, while making use of the hierarchical structure 
of documents may work in the HTML case, I have severe doubts that this 
will work well in the ODF case. However, this does not mean that RDFa, 
or RDFa + RDF/XML may not work for ODF at all, but we have to adapt it 
to the office document world, even if these means that we have some 
restrictions regarding the variants we are supporting. Once again, that 
is a valid solution, because it is not the purpose of the SC to RDF/XML 
or RDFa support in general, but to provide a solution for certain meta 
data related use cased.

How do we proceed? My suggestion is that whose who are in favor of the 
RDF/XML+XForms approach work an a detailed proposal for their approach, 
and that those who are in favor of the RDF/XML + RDFa approach work on a 
detailed proposal for their approach as well. If we have both, I suggest 
that we use the excellent experience of this group to identify the (meta 
data and office document related) gaps and issues of the two approaches, 
with the goal to resolve them and to harmonize the two. I further 
suggest that we take Bernd's example document as a test case for our use 
cases.

Does that sound reasonable?

Best regards

Michael

Elias Torres wrote:
> Svante,
> 
> I'll go through as many problems as I can point out with thinking that
> XPath is feasible with just a few variations on the RDF/XML serializations
> of an RDF model.
> 
> During the call I heard you mentioned "walking up the tree" looking for the
> top most @rdf:about. I just want to point out how that itself wouldn't work
> using examples from the RDF/XML specification.
> 
> I'm going to assume that to find out the subject of ex:fullName you'd go up
> and look for @rdf:about which points to
> <http://www.w3.org/TR/rdf-syntax-grammar>
> 
> <?xml version="1.0"?>
> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
>          xmlns:dc="http://purl.org/dc/elements/1.1/";
>          xmlns:ex="http://example.org/stuff/1.0/";>
>   <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar";
>                dc:title="RDF/XML Syntax Specification (Revised)">
>     <ex:editor ex:fullName="Dave Beckett" />
>   </rdf:Description>
> </rdf:RDF>
> 
> In N3:
> 
> <http://www.w3.org/TR/rdf-syntax-grammar> dc:title "..." ;
>       ex:editor [
>             ex:fullName "Dave Beckett" .
>       ] .
> 
> Meaning that ex:fullName "Dave Beckett" is a property on an anonymous node
> and NOT on the <http://www.w3.org/TR/rdf-syntax-grammar> itself. There's an
> extra node in the graph w/o a name, so you can't assume the "highest"
> rdf:about is the one that pertains. RDF/XML is trying to represent a graph,
> not a tree, like HTML. RDFa takes advantage of the tree properties of HTML
> to define an extraction mechanism but only of triples than then together
> will make up a graph.
> 
> Let's take another variation on the previous one.
> 
> <?xml version="1.0"?>
> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
>          xmlns:dc="http://purl.org/dc/elements/1.1/";
>          xmlns:ex="http://example.org/stuff/1.0/";
>         xml:base="http://www.w3.org/TR/";>
>   <rdf:Description rdf:about="rdf-syntax-grammar"
>                dc:title="RDF/XML Syntax Specification (Revised)">
>     <ex:editor ex:fullName="Dave Beckett" />
>   </rdf:Description>
> </rdf:RDF>
> 
> Notice how I've added xml:base to the document. Now your XPath would break
> because you were matching for the full URI.
> 
> Another short variation....
> 
> <?xml version="1.0"?>
> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
>          xmlns:dc="http://purl.org/dc/elements/1.1/";
>          xmlns:ex="http://example.org/stuff/1.0/";
>         xml:base="http://www.w3.org/";>
>   <rdf:Description xml:base="TR/" rdf:about="rdf-syntax-grammar"
>                dc:title="RDF/XML Syntax Specification (Revised)">
>     <ex:editor ex:fullName="Dave Beckett" />
>   </rdf:Description>
> </rdf:RDF>
> 
> Notice yet another xml:base declaration in rdf:Description. Remember, all
> of these serializations generate an isomorphic RDF model.
> 
> Also note how I have not yet even used RDF/XML vs RDF/ABBREV, completely
> throwing out the argument of using a "simplified/constrained" RDF/XML
> serialization.
> 
> Here's another example that shows the love/hate relationship between XPath
> and RDF.
> 
> Notice how ex:fullName property is expressed using an attribute and then in
> the second version, it's done using an element.
> 
> <?xml version="1.0"?>
> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
>          xmlns:dc="http://purl.org/dc/elements/1.1/";
>          xmlns:ex="http://example.org/stuff/1.0/";>
>   <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar";
>                dc:title="RDF/XML Syntax Specification (Revised)">
>     <ex:editor>
>       <rdf:Description ex:fullName="Dave Beckett">
>       <ex:homePage rdf:resource="http://purl.org/net/dajobe/"; />
>       </rdf:Description>
>     </ex:editor>
>   </rdf:Description>
> </rdf:RDF>
> 
> <?xml version="1.0"?>
> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
>          xmlns:dc="http://purl.org/dc/elements/1.1/";
>          xmlns:ex="http://example.org/stuff/1.0/";>
>   <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar";
>                dc:title="RDF/XML Syntax Specification (Revised)">
>     <ex:editor rdf:parseType="Resource">
>       <ex:fullName>Dave Beckett</ex:fullName>
>       <ex:homePage rdf:resource="http://purl.org/net/dajobe/"/>
>     </ex:editor>
>   </rdf:Description>
> </rdf:RDF>
> 
> Here's another one showing a completely different structure. Notice the
> channel1 and channel2 references.
> 
> <?xml version="1.0"?>
> <rdf:RDF
>    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
>    xmlns="http://testuri.org#";>
> <tv-guide>
>    <channels>
>       <rdf:List>
>          <rdf:li>
>             <channel rdf:ID="channel1"/>
>          </rdf:li>
>          <rdf:li>
>             <channel rdf:ID="channel2"/>
>          </rdf:li>
>       </rdf:List>
>    </channels>
> </tv-guide>
> </rdf:RDF>
> 
> <?xml version="1.0"?>
> <rdf:RDF
>    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
>    xmlns="http://testuri.org#";>
> <tv-guide>
>    <channels>
>       <rdf:List>
>          <rdf:li rdf:resource="#channel1"/>
>          <rdf:li rdf:resource="#channel2"/>
>       </rdf:List>
>    </channels>
> </tv-guide>
> <channel rdf:ID="channel1"/>
> <channel rdf:ID="channel2"/>
> </rdf:RDF>
> 
> Here's one showing long and abbreviated format examples:
> 
> <?xml version="1.0" encoding="iso-8859-1"?>
> 
> <rdf:RDF
> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
> xmlns:dc="http://purl.org/dc/elements/1.0/";>
> <rdf:Description rdf:about="http://www.mcgill.ca/libraries-techserv/";
>       dc:title="McGill University Libraries Library Technical Services Home
> Page"
>       dc:creator="Karen Jensen"
>       dc:subject="..."
>       dc:description="..."
>       dc:publisher="McGill University Libraries. Library Technical
> Services."
>       dc:contributor="..."
>       dc:date="2003-03-03"
>       dc:type="Text"
>       dc:format="text/html"
>       dc:identifier="http://www.mcgill.ca/libraries-techserv/";
>       dc:language="en"/>
> </rdf:RDF>
> 
> and ... not rdf:Description and again everything went from attributes to
> elements.
> 
> <rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.0/";
>     xmlns:log="http://www.w3.org/2000/10/swap/log#";
>     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";>
> 
>     <Text xmlns="file:/tmp/"
>         rdf:about="http://www.mcgill.ca/libraries-techserv/";>
>         <dc:contributor>...</dc:contributor>
>         <dc:creator>Karen Jensen</dc:creator>
>         <dc:date>2003-03-03</dc:date>
>         <dc:description>...</dc:description>
>         <dc:format>text/html</dc:format>
> 
> <dc:identifier>http://www.mcgill.ca/libraries-techserv/</dc:identifier>
>         <dc:language>en</dc:language>
>         <dc:publisher>McGill University Libraries. Library Technical
> Services.</dc:publisher>
>         <dc:subject>...</dc:subject>
>         <dc:title>McGill University Libraries Library Technical Services
> Home Page</dc:title>
>     </Text>
> </rdf:RDF>
> 
> I hope these examples help you see why using XPath is just not a good idea
> to link between ODF and RDF/XML serializations of our metadata.
> 
> -Elias
> 


-- 
Michael Brauer, Technical Architect Software Engineering
StarOffice/OpenOffice.org
Sun Microsystems GmbH             Nagelsweg 55
D-20097 Hamburg, Germany          michael.brauer@sun.com
http://sun.com/staroffice         +49 40 23646 500
http://blogs.sun.com/GullFOSS



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]