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


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Semantic Web permathread, iteration n+1 (was Re: [xml-dev]

[ Lists Home | Date Index | Thread Index ]

Thanks Joshua [more below -- to anyone]

Joshua Allen wrote:

> OK, I'll give some more detailed example.  One of the things that
> Chandler, WinFS, and many other systems store is a "Person" item.  The
> Person can be used as a contact in an address book, as an entry in the
> IM client, and so on.  Another possible thing would be a "Picture" item,
> which represents a media file. 
> So the basic data model is this -- you have "items", "properties", and
> "values".
> "item" - a thing like "Person" or "Picture", about which you can make
> statements.  The same as RDF "subject".
> "property" - a named aspect of an item, such as "PhoneNumber" or
> "PictureDate".  The same as RDF "predicate".
> "value" - the value you are asserting for the property, can be a literal
> or even another "item".  The same as RDF "object".
> One name that programmers use for this data model is "property bag".
> Basically you can assign property values by name, and stick whatever you
> want on the property bag.  For example:
> Person p = new Person();
> p["PhoneNumber"] = "+1-425-882-8080";
> p["someRandomPropertyIMadeUp"] = "fooBar";
> p["Depiction"] = new Picture("foo.jpg");
> p.Save();
> This is a really common pattern for systems which have a lot of
> variability in schema.  For example, this is how MS Exchange and Lotus
> notes have modeled messages for at least a decade.  You can stick new
> properties on a message without problems.  This is essentially the model
> of LDAP and ADSI as well, since objects in a directory could have all
> sorts of important properties that vary by organization.  This is also a
> natural way to model a media file, since you have things like "album",
> "composer", "length", "dimensions" -- metadata which may not always be
> available, or availability which may change in the future, or metadata
> which may be sourced from multiple locations (imdb, musicbrainz, etc).
> SO, the question is, are these scenarios best suited to XML?  Obviously
> there have been XML formats developed for interchange of these formats
> (like DSML for directories, iCard for contact info, etc.)
> The XML you demonstrated is not bad.  Basically you are saying that
> elements always maps to items, attributes always map to predicates, and
> attribute values map to values.  You also have some implicit property
> (maybe named "children") to which child elements map.  This is a bit
> different from Mark Baker's example, where elements mapped to items, but
> child elements mapped to properties (and I assume this alternates; which
> is known as "striping" in RDF, and the source of much distaste).  But
> maybe you are seeing the issue with XML.  With XML, you have to have a
> convention for which stuff maps to (s, p, o), where with RDF it isn't a
> matter of choice.

OK, 'striping' is the term I guess I have been missing. It seems to 
mean: provide an appropriate container element when making a hierarchy. 
I believe I have that by using a schema and even more so with our gui 
tool. Is the XML I posted basically equal to striped RDF?

Why is there distaste for striping, as you mentioned?

It seems to me striped RDF is basically a formalized XML hierarchy, as 
you wrote. If that is correct and it is a valid approach, why are people 
saying hierarchies are bad? Or is it just that informal hierarchies are 
bad? I guess I have been concerned about all the 'hierarchies suck' 
statements; I have been assuming a striping syntax.

I googled 'striping rdf' (without quotes). What I saw did not show a 
distaste for striping. It seemed like people where saying it was 
necessary. I came up with the w3 description (there could be a much 
better RDF example):


, a post to xml-dev by Len Bullard:


"Tools that could provide
assistance to striping the RDF into the XML open
up a lot of content to the SemWeb processors without
asking producers to spend a lot of effort understanding

and then John Cowan followed up a few posts down with:


"As for misinterpretation, a better term would be
interpretation that is inappropriate: if the strict alternation of
resource/property/resource/property striping is not maintained, you
may get junk assertions that mix up resources and properties.
That's why I said that semanticless container elements should be
avoided if RDF interpretation is desirable."

But if a schema and a tool enforces the relationships, all is good, right?

thanks for explaining,

>>-----Original Message-----
>>From: Robert Koberg [mailto:rob@koberg.com] 
>>Sent: Friday, June 04, 2004 10:11 AM
>>To: Joshua Allen
>>Cc: XML Developers List
>>Subject: Re: [xml-dev] Semantic Web permathread, iteration 
>>n+1 (was Re: [xml-dev] InfoWorld agrees with Elliote Rusty Harold)
>>Joshua Allen wrote:
>>>scenarios.  OSAF Chandler is based on "triples", as is 
>>Longhorn's WinFS.
>>I am trying to get a handle on this issue. Can you post an 
>>example or link of WinFS XML(?) or triples? I have googled 
>>around but only find blog entries with no examples. 
>>Specifically, what does a 'folder' within a 'folder' look 
>>like? Is a page the end, or in other words is it the content?
>>For me, it is easier to represent it as a light hierarchy and 
>>pull in extra metadata/content when needed. I keep minimal 
>>metadata in the hierarchy and then more metadata/content for 
>>each node is kept in a separate file. The extra metadata 
>>further references the content assigned in a region element 
>>-- so a page is basically a 'folder' of content pieces 
>>(content assigned at the folder level cascades down to the 
>>pages in that folder). For example here is the hierarchical
>><site xmlns="http://livestoryboard.com/schemas/lsb"; generate="1" 
>>   id="demo_root" css="default.css" xsl="default" name="DEMO" 
>>   <page generate="1" id="site_ind" label="Welcome" 
>>   <folder generate="1" label="Destinations" id="f1034364271" 
>>     name="Destinations" index_page="p1958461133">
>>     <page generate="1" id="p1958461133" label="Introduction 
>>to Destinations" name="destinations.html"/>
>>     <folder generate="1" label="Sailing" id="f611591524" onnav="1" 
>>name="Sailing" index_page="p1211385515">
>>       <page generate="1" id="p1211385515" 
>>label="Introduction to Sailing" name="sailing.html"/>
>>     </folder>
>>   </folder>
>>   <topic label="content_root" id="t339321861" xsl="topics" 
>>     <content label="homepromo" id="c682201793" name="tester.html"/>
>>     <content label="placeholder" id="c780459541" 
>>     <content label="right" id="c807589041" name="c807589041.html"/>
>>     <topic id="t235257654" label="Test Topic" 
>>name="TestTopic" generate="1"
>>       onnav="1" xsl="topics">
>>       <content id="c408766032" label="Article 1" name="Article1.html"
>>         generate="1" onnav="1"/>
>>     </topic>
>>   </topic>
>>And here is extra metadata from a single page above (named 
>><md-page xmlns="http://livestoryboard.com/schemas/lsb";
>>   created="2004-03-28T09:22:57" creator="rkoberg" 
>>   modified="2004-05-03T09:51:54" status="editorial">
>>   <title>A longer title than the label</title>
>>   <description>All about cool sailing destinations.</description>
>>   <regions>
>>     <region name="narrowColumn">
>>       <content ref="c408766032"/>
>>     </region>
>>     <region name="wideColumn">
>>       <content ref="c780459541"/>
>>       <content ref="c682201793"/>
>>     </region>
>>   </regions>
>>   <property name="somename">some value</property> </md-page>


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS