Ticket #131 (closed task: fixed)

Opened 6 years ago

Last modified 4 years ago

Make RDF schema and URL's/URI's consistent

Reported by: ronald Assigned to: ebrown
Priority: high Milestone:
Component: topaz Version: 0.7
Keywords: RDFS URI information-model Cc:
Blocking: Blocked By:

Description (Last modified by ronald)

Need to gather up all RDF schemas being used, both our own and external, get an overview of it all, and make sure it's consistent, proper, and documented.

At the same time, we need to gather up all URI's/URL's being used everywhere (in RDF, XACML, etc) and make them consistent, documented, and globally unique. Part of that are the discussions on:

  • URI vs URL
  • # vs /

The use of Kowari models also needs review, especially in light of which models are internal only and which may be subject to public access in the future.

Dependency Graph

Change History

09/03/06 15:08:53 changed by ronald

  • description changed.

11/26/06 11:07:00 changed by amit

  • priority changed from unassigned to critical.

One of the problems is that we cannot make these package private or protected as these will be used across multiple packages/services. I am afraid these will have to be pulled out into a separate library for starters with useful functionst to allow different services/packages to have access. Mildly problematic in the sense that it is useful to see the URL when editing/modifying code and now another file will have to be looked at, I think this is less of an issue than having URI's spread everywhere in code and the mess of having to change and deal with it.

We are not going to deal with this now, but this is critical post-launch.

(follow-up: ↓ 4 ) 03/26/07 14:45:38 changed by amit

  • owner changed from somebody to pradeep.

What are the consequences of moving to the OTM layer for this?

(in reply to: ↑ 3 ; follow-up: ↓ 5 ) 03/26/07 23:19:00 changed by ronald

Replying to amit:

What are the consequences of moving to the OTM layer for this?

The OTM doesn't change anything - this is a schema problem (we still have to specify the schema with OTM and still have to define the URI's). The OTM will hopefully allow us to focus more time on the actual schema definition instead of the nitty gritty iTQL etc.

(in reply to: ↑ 4 ) 03/29/07 16:08:42 changed by amit

Replying to ronald:

Replying to amit:

What are the consequences of moving to the OTM layer for this?

The OTM doesn't change anything - this is a schema problem (we still have to specify the schema with OTM and still have to define the URI's). The OTM will hopefully allow us to focus more time on the actual schema definition instead of the nitty gritty iTQL etc.

:) Let me rephrase. What should/could we do in OTM to make it easier to manage this?

05/29/07 17:39:12 changed by amit

  • version changed from 0.5-SNAPSHOT to 0.8.
  • milestone changed from TBD to 0.8.

06/20/07 15:51:00 changed by amit

  • owner changed from pradeep to ebrown.
  • priority changed from critical to medium.

This is related to the OWL dump work done by Eric and needs to be handled there.

07/05/07 13:17:23 changed by ebrown

See also #452 & #266

07/06/07 16:06:47 changed by ebrown

Indeed there are a few bugs introduced because of otm changes. I'll check in fixes shortly.

But as discussed in a few emails in April, this stuff is dependent on a number of mulgara fixes which we have not yet taken:

We can of course merge the mulgara head -- or cherry pick.

I don't think this is needed on production. Any machine that can dump the object definitions will probably suffice. (i.e. The ability to dump the schema isn't needed in production.) Thus, we could branch our own version of mulgara and merge with the mulgara's head and make that available to plos or whoever else wants it. However, I'd suggest closing #417 first.

07/09/07 10:44:00 changed by amit

I don't think there is a direct dependency on #417 as that is a nice to have. I agree that we do not need Mulgara on the production system so that can wait too. Let's use an internal build on Mulgara (from svn of Mulgara.org) to do the testing for now so at least we can give them an option.

07/14/07 11:37:55 changed by amit

  • priority changed from medium to high.
  • version changed from 0.8 to 0.7.

Moving this up to to ensure that the OWL stuff works to provide the content model information to PLoS. Please test this on your Mulgara build and then we will figure out when to move to it for production purposes.

07/18/07 22:35:14 changed by ebrown

This is the 0.7 model:

itql> .meta load /Users/ebrown/.m2/repository/org/plosone/otm-models/0.8-SNAPSHOT/otm-models-0.8-SNAPSHOT.jar
Loaded org.plos.models.AbstractAnnotation into local:///topazproject#ri
Loaded org.plos.models.Annotation into local:///topazproject#ri
Loaded org.plos.models.Annotea into local:///topazproject#ri
Loaded org.plos.models.Article into local:///topazproject#ri
Loaded org.plos.models.AuthenticationId into local:///topazproject#users
Loaded org.plos.models.Category into local:///topazproject#ri
Loaded org.plos.models.ObjectInfo into local:///topazproject#ri
Loaded org.plos.models.Rating into local:///topazproject#ri
Loaded org.plos.models.RatingContent into local:///topazproject#ri
Loaded org.plos.models.RatingSummary into local:///topazproject#ri
Loaded org.plos.models.RatingSummaryContent into local:///topazproject#ri
Loaded org.plos.models.Reply into local:///topazproject#ri
Loaded org.plos.models.ReplyThread into local:///topazproject#ri
Loaded org.plos.models.UserAccount into local:///topazproject#users
Loaded org.plos.models.UserPreference into local:///topazproject#preferences
Loaded org.plos.models.UserPreferences into local:///topazproject#preferences
Loaded org.plos.models.UserProfile into local:///topazproject#profiles
Loaded org.plos.models.UserRole into local:///topazproject#users

itql> .meta classes
class                                     model
----------------------------------------- -----------------------------
<topaz:RatingSummaryContent>              <local:///topazproject#ri>
<topaz:Article>                           <local:///topazproject#ri>
<http://www.w3.org/2001/03/thread#Reply>  <local:///topazproject#ri>
<a:Annotation>                            <local:///topazproject#ri>
<topaz:RatingContent>                     <local:///topazproject#ri>
<topaz:RatingSummaryAnnotation>           <local:///topazproject#ri>
<topaz:RatingsAnnotation>                 <local:///topazproject#ri>
<http://xmlns.com/foaf/0.1/OnlineAccount> <local:///topazproject#users>
8 rows

itql> .meta showall
Full URI: <http://rdf.topazproject.org/RDF/RatingSummaryContent>
Details: <topaz:RatingSummaryContent> in <local:///topazproject#ri>
prop                                               type
-------------------------------------------------- ------------
<topaz:RatingSummaryContent/numUsersThatRated>     <xsd:int>
<topaz:RatingSummaryContent/reliabilityTotal>      <xsd:double>
<topaz:RatingSummaryContent/insightTotal>          <xsd:double>
<topaz:RatingSummaryContent/styleTotal>            <xsd:double>
<topaz:RatingSummaryContent/reliabilityNumRatings> <xsd:int>
<topaz:RatingSummaryContent/insightNumRatings>     <xsd:int>
<topaz:RatingSummaryContent/styleNumRatings>       <xsd:int>
7 rows

Full URI: <http://rdf.topazproject.org/RDF/Article>
Details: <topaz:Article> in <local:///topazproject#ri>
prop                             type
-------------------------------- ----------------
<dc:date>                        <xsd:date>
<dc:source>
<dc:subject>                     <rdf:XMLLiteral>
<dc_terms:abstract>
<dc:language>
<dc:format>
<topaz:hasCategory>
<dc:title>                       <rdf:XMLLiteral>
<dc_terms:dateAccepted>          <xsd:date>
<dc:publisher>                   <rdf:XMLLiteral>
<dc_terms:modified>              <xsd:date>
<dc:contributor>
<dc:rights>                      <rdf:XMLLiteral>
<dc_terms:issued>                <xsd:date>
<dc:type>                        <xsd:anyURI>
<topaz:isPID>
<dc_terms:available>             <xsd:date>
<dc:creator>
<dc:description>                 <rdf:XMLLiteral>
<topaz:contextElement>
<dc_terms:dateSubmitted>         <xsd:date>
<dc_terms:dateCopyrighted>       <xsd:int>
<dc:identifier>
<dc_terms:license>
<dc_terms:references>
<dc_terms:created>               <xsd:date>
<topaz:nextObject>
<topaz:articleState>             <xsd:int>
<dc_terms:bibliographicCitation>
<dc_terms:hasPart>
<topaz:hasRepresentation>
<dc_terms:isPartOf>              <topaz:Article>
32 rows

Full URI: <http://www.w3.org/2001/03/thread#Reply>
Details: <http://www.w3.org/2001/03/thread#Reply> in <local:///topazproject#ri>
prop                                         type
-------------------------------------------- ----------------------------------------
<rdf:type>                                   <xsd:anyURI>
<a:created>                                  <xsd:dateTime>
<a:body>                                     <topaz:RatingContent>
<dc:title>                                   <rdf:XMLLiteral>
<http://www.w3.org/2001/03/thread#inReplyTo> <http://www.w3.org/2001/03/thread#Reply>
<dc:creator>
<http://www.w3.org/2001/03/thread#root>      <xsd:anyURI>
<dc_terms:mediator>
<topaz:state>
<topaz:anonymousCreator>
10 rows

Full URI: <http://www.w3.org/2000/10/annotation-ns#Annotation>
Details: <a:Annotation> in <local:///topazproject#ri>
prop                     type
------------------------ ----------------
<rdf:type>               <xsd:anyURI>
<a:created>              <xsd:dateTime>
<dc_terms:replaces>      <a:Annotation>
<dc:title>               <rdf:XMLLiteral>
<dc_terms:isReplacedBy>  <a:Annotation>
<dc:creator>
<dc_terms:mediator>
<a:context>
<topaz:state>
<topaz:anonymousCreator>
<a:annotates>            <xsd:anyURI>
11 rows

Full URI: <http://rdf.topazproject.org/RDF/RatingContent>
Details: <topaz:RatingContent> in <local:///topazproject#ri>
prop                                   type
-------------------------------------- ---------
<topaz:RatingContent/styleValue>       <xsd:int>
<topaz:RatingContent/commentTitle>
<topaz:RatingContent/commentValue>
<topaz:RatingContent/reliabilityValue> <xsd:int>
<topaz:RatingContent/insightValue>     <xsd:int>
5 rows

Full URI: <http://rdf.topazproject.org/RDF/RatingSummaryAnnotation>
Details: <topaz:RatingSummaryAnnotation> (<a:Annotation>) in <local:///topazproject#ri>
prop                     type
------------------------ ---------------------
<rdf:type>               <xsd:anyURI>
<a:created>              <xsd:dateTime>
<dc_terms:replaces>      <a:Annotation>
<a:body>                 <topaz:RatingContent>
<dc:title>               <rdf:XMLLiteral>
<dc_terms:isReplacedBy>  <a:Annotation>
<dc:creator>
<dc_terms:mediator>
<a:context>
<topaz:state>
<topaz:anonymousCreator>
<a:annotates>            <xsd:anyURI>
12 rows

Full URI: <http://rdf.topazproject.org/RDF/RatingsAnnotation>
Details: <topaz:RatingsAnnotation> (<a:Annotation>) in <local:///topazproject#ri>
prop                     type
------------------------ ---------------------
<rdf:type>               <xsd:anyURI>
<a:created>              <xsd:dateTime>
<dc_terms:replaces>      <a:Annotation>
<a:body>                 <topaz:RatingContent>
<dc:title>               <rdf:XMLLiteral>
<dc_terms:isReplacedBy>  <a:Annotation>
<dc:creator>
<dc_terms:mediator>
<a:context>
<topaz:state>
<topaz:anonymousCreator>
<a:annotates>            <xsd:anyURI>
12 rows

Full URI: <http://xmlns.com/foaf/0.1/OnlineAccount>
Details: <http://xmlns.com/foaf/0.1/OnlineAccount> in <local:///topazproject#users>
prop                                     type
---------------------------------------- ----------------------------------
<http://xmlns.com/foaf/0.1/holdsAccount> <http://xmlns.com/foaf/0.1/Person>
<topaz:accountState>                     <xsd:int>
<topaz:hasAuthId>
<topaz:hasRoles>
<topaz:hasPreferences>
5 rows

07/18/07 22:45:27 changed by ebrown

This is the 0.8 model (it is very likely to change in small ways):

itql> drop <local:///topazproject#metadata>;
Successfully dropped model local:///topazproject#metadata
itql> .meta load /Users/ebrown/.m2/repository/org/plosone/otm-models/0.7-SNAPSHOT/otm-models-0.7-SNAPSHOT.jar                       
Loaded org.plos.models.Annotation into local:///topazproject#ri                                                                     
Loaded org.plos.models.Annotea into local:///topazproject#ri                                                                        
Loaded org.plos.models.Article into local:///topazproject#ri                                                                        
Loaded org.plos.models.AuthenticationId into local:///topazproject#users
Loaded org.plos.models.Category into local:///topazproject#ri
Loaded org.plos.models.Citation into local:///topazproject#ri
Loaded org.plos.models.Comment into local:///topazproject#ri
Loaded org.plos.models.EditorialBoard into local:///topazproject#ri
Loaded org.plos.models.License into local:///topazproject#ri
Loaded org.plos.models.ObjectInfo into local:///topazproject#ri
Loaded org.plos.models.Rating into local:///topazproject#ri
Loaded org.plos.models.RatingContent into local:///topazproject#ri
Loaded org.plos.models.RatingSummary into local:///topazproject#ri
Loaded org.plos.models.RatingSummaryContent into local:///topazproject#ri
Loaded org.plos.models.Reply into local:///topazproject#ri
Loaded org.plos.models.ReplyThread into local:///topazproject#ri
Loaded org.plos.models.UserAccount into local:///topazproject#users
Loaded org.plos.models.UserPreference into local:///topazproject#preferences
Loaded org.plos.models.UserPreferences into local:///topazproject#preferences
Loaded org.plos.models.UserProfile into local:///topazproject#profiles
Loaded org.plos.models.UserRole into local:///topazproject#users

itql> .meta classes
class                                        model
-------------------------------------------- --------------------------------
<topaz:RatingSummaryContent>                 <local:///topazproject#ri>
<topaz:Article>                              <local:///topazproject#ri>
<http://xmlns.com/foaf/0.1/Person>           <local:///topazproject#profiles>
<http://www.w3.org/2001/03/thread#Reply>     <local:///topazproject#ri>
<a:Annotation>                               <local:///topazproject#ri>
<http://purl.org/net/nknouf/ns/bibtex#Entry> <local:///topazproject#ri>
<http://rdf.plos.org/RDF/EditorialBoard>     <local:///topazproject#ri>
<topaz:RatingContent>                        <local:///topazproject#ri>
<http://xmlns.com/foaf/0.1/OnlineAccount>    <local:///topazproject#users>
<http://web.resource.org/cc/License>         <local:///topazproject#ri>
<topaz:RatingSummaryAnnotation>              <local:///topazproject#ri>
<topaz:RatingsAnnotation>                    <local:///topazproject#ri>
12 rows

itql> .meta showall
Full URI: <http://rdf.topazproject.org/RDF/RatingSummaryContent>
Details: <topaz:RatingSummaryContent> in <local:///topazproject#ri>
prop                                               type
-------------------------------------------------- ------------
<topaz:RatingSummaryContent/numUsersThatRated>     <xsd:int>
<topaz:RatingSummaryContent/reliabilityTotal>      <xsd:double>
<topaz:RatingSummaryContent/insightTotal>          <xsd:double>
<topaz:RatingSummaryContent/styleTotal>            <xsd:double>
<topaz:RatingSummaryContent/reliabilityNumRatings> <xsd:int>
<topaz:RatingSummaryContent/insightNumRatings>     <xsd:int>
<topaz:RatingSummaryContent/styleNumRatings>       <xsd:int>
7 rows

Full URI: <http://rdf.topazproject.org/RDF/Article>
Details: <topaz:Article> in <local:///topazproject#ri>
prop                             type
-------------------------------- --------------------------------------------
<dc:date>                        <xsd:date>
<dc:source>
<dc:subject>                     <rdf:XMLLiteral>
<dc_terms:abstract>
<dc:language>
<dc:format>
<topaz:hasCategory>
<dc:title>                       <rdf:XMLLiteral>
<dc_terms:dateAccepted>          <xsd:date>
<dc:publisher>                   <rdf:XMLLiteral>
<dc_terms:modified>              <xsd:date>
<dc:contributor>
<dc:rights>                      <rdf:XMLLiteral>
<dc_terms:issued>                <xsd:date>
<dc:type>                        <xsd:anyURI>
<topaz:isPID>
<dc_terms:available>             <xsd:date>
<dc:creator>
<dc:description>                 <rdf:XMLLiteral>
<topaz:contextElement>
<dc_terms:dateSubmitted>         <xsd:date>
<dc_terms:dateCopyrighted>       <xsd:int>
<dc:identifier>
<dc_terms:license>               <http://web.resource.org/cc/License>
<dc_terms:references>            <http://purl.org/net/nknouf/ns/bibtex#Entry>
<dc_terms:created>               <xsd:date>
<topaz:nextObject>
<topaz:articleState>             <xsd:int>
<dc_terms:bibliographicCitation> <http://purl.org/net/nknouf/ns/bibtex#Entry>
<dc_terms:hasPart>
<topaz:hasRepresentation>
<dc_terms:isPartOf>              <topaz:Article>
32 rows

Full URI: <http://xmlns.com/foaf/0.1/Person>
Details: <http://xmlns.com/foaf/0.1/Person> in <local:///topazproject#profiles>
prop                                                     type
-------------------------------------------------------- ------------
<http://wymiwyg.org/ontologies/foaf/postaddress#town>
<topaz:positionType>
<http://xmlns.com/foaf/0.1/homepage>                     <xsd:anyURI>
<http://xmlns.com/foaf/0.1/givenname>
<http://xmlns.com/foaf/0.1/title>
<topaz:researchAreas>
<http://xmlns.com/foaf/0.1/weblog>                       <xsd:anyURI>
<http://xmlns.com/foaf/0.1/publications>                 <xsd:anyURI>
<http://xmlns.com/foaf/0.1/surname>
<http://xmlns.com/foaf/0.1/interest>                     <xsd:anyURI>
<topaz:bio>
<topaz:organizationType>
<http://purl.org/vocab/bio/0.1/olb>
<topaz:organizationName>
<topaz:displayName>
<http://xmlns.com/foaf/0.1/gender>
<http://wymiwyg.org/ontologies/foaf/postaddress#country>
<topaz:interests>
<topaz:postalAddress>
<http://xmlns.com/foaf/0.1/mbox>                         <xsd:anyURI>
<http://xmlns.com/foaf/0.1/name>
21 rows

Full URI: <http://www.w3.org/2001/03/thread#Reply>
Details: <http://www.w3.org/2001/03/thread#Reply> in <local:///topazproject#ri>
prop                                         type
-------------------------------------------- ----------------
<rdf:type>                                   <xsd:anyURI>
<a:created>                                  <xsd:dateTime>
<a:body>                                     <xsd:anyURI>
<dc:title>                                   <rdf:XMLLiteral>
<http://www.w3.org/2001/03/thread#inReplyTo> <xsd:anyURI>
<dc:creator>
<http://www.w3.org/2001/03/thread#root>      <xsd:anyURI>
<dc_terms:mediator>
<topaz:state>
<topaz:anonymousCreator>
10 rows

Full URI: <http://www.w3.org/2000/10/annotation-ns#Annotation>
Details: <a:Annotation> in <local:///topazproject#ri>
prop                     type
------------------------ ----------------------------------------
<rdf:type>               <xsd:anyURI>
<a:created>              <xsd:dateTime>
<dc_terms:replaces>      <http://rdf.plos.org/RDF/EditorialBoard>
<a:body>                 <xsd:anyURI>
<dc:title>               <rdf:XMLLiteral>
<dc_terms:isReplacedBy>  <http://rdf.plos.org/RDF/EditorialBoard>
<dc:creator>
<dc_terms:mediator>
<a:context>
<topaz:state>
<topaz:anonymousCreator>
<a:annotates>            <xsd:anyURI>
12 rows

Full URI: <http://purl.org/net/nknouf/ns/bibtex#Entry>
Details: <http://purl.org/net/nknouf/ns/bibtex#Entry> in <local:///topazproject#ri>
prop                                                 type
---------------------------------------------------- ----------------------------------
<http://purl.org/net/nknouf/ns/bibtex#hasAuthorList> <http://xmlns.com/foaf/0.1/Person>
<http://purl.org/net/nknouf/ns/bibtex#hasAddress>    <xsd:String>
<http://purl.org/net/nknouf/ns/bibtex#hasPublisher>  <xsd:String>
<http://purl.org/net/nknouf/ns/bibtex#hasEditorList> <http://xmlns.com/foaf/0.1/Person>
<dc:title>                                           <rdf:XMLLiteral>
<http://purl.org/net/nknouf/ns/bibtex#hasPages>      <xsd:String>
<http://purl.org/net/nknouf/ns/bibtex#hasYear>       <xsd:double>
<http://purl.org/net/nknouf/ns/bibtex#hasAbstract>
<http://purl.org/net/nknouf/ns/bibtex#hasJournal>    <xsd:String>
<http://purl.org/net/nknouf/ns/bibtex#hasNote>       <xsd:String>
<http://purl.org/net/nknouf/ns/bibtex#hasVolume>     <xsd:double>
<http://purl.org/net/nknouf/ns/bibtex#hasURL>        <xsd:String>
<http://purl.org/net/nknouf/ns/bibtex#hasMonth>      <xsd:string>
13 rows

Full URI: <http://rdf.plos.org/RDF/EditorialBoard>
Details: <http://rdf.plos.org/RDF/EditorialBoard> in <local:///topazproject#ri>
prop                              type
--------------------------------- ----------------------------------------
<dc_terms:replaces>               <http://rdf.plos.org/RDF/EditorialBoard>
<http://rdf.plos.org/RDF/editors> <http://xmlns.com/foaf/0.1/Person>
<dc_terms:isReplacedBy>           <http://rdf.plos.org/RDF/EditorialBoard>
3 rows

Full URI: <http://rdf.topazproject.org/RDF/RatingContent>
Details: <topaz:RatingContent> in <local:///topazproject#ri>
prop                                   type
-------------------------------------- ---------
<topaz:RatingContent/styleValue>       <xsd:int>
<topaz:RatingContent/commentTitle>
<topaz:RatingContent/commentValue>
<topaz:RatingContent/reliabilityValue> <xsd:int>
<topaz:RatingContent/insightValue>     <xsd:int>
5 rows

Full URI: <http://xmlns.com/foaf/0.1/OnlineAccount>
Details: <http://xmlns.com/foaf/0.1/OnlineAccount> in <local:///topazproject#users>
prop                                     type
---------------------------------------- ----------------------------------
<http://xmlns.com/foaf/0.1/holdsAccount> <http://xmlns.com/foaf/0.1/Person>
<topaz:accountState>                     <xsd:int>
<topaz:hasAuthId>
<topaz:hasRoles>
<topaz:hasPreferences>
5 rows

Full URI: <http://rdf.topazproject.org/RDF/RatingSummaryAnnotation>
Details: <topaz:RatingSummaryAnnotation> (<a:Annotation>) in <local:///topazproject#ri>
prop                     type
------------------------ ----------------------------------------
<rdf:type>               <xsd:anyURI>
<a:created>              <xsd:dateTime>
<dc_terms:replaces>      <http://rdf.plos.org/RDF/EditorialBoard>
<a:body>                 <xsd:anyURI>
<dc:title>               <rdf:XMLLiteral>
<dc_terms:isReplacedBy>  <http://rdf.plos.org/RDF/EditorialBoard>
<dc:creator>
<dc_terms:mediator>
<a:context>
<topaz:state>
<topaz:anonymousCreator>
<a:annotates>            <xsd:anyURI>
12 rows

Full URI: <http://rdf.topazproject.org/RDF/RatingsAnnotation>
Details: <topaz:RatingsAnnotation> (<a:Annotation>) in <local:///topazproject#ri>
prop                     type
------------------------ ----------------------------------------
<rdf:type>               <xsd:anyURI>
<a:created>              <xsd:dateTime>
<dc_terms:replaces>      <http://rdf.plos.org/RDF/EditorialBoard>
<a:body>                 <xsd:anyURI>
<dc:title>               <rdf:XMLLiteral>
<dc_terms:isReplacedBy>  <http://rdf.plos.org/RDF/EditorialBoard>
<dc:creator>
<dc_terms:mediator>
<a:context>
<topaz:state>
<topaz:anonymousCreator>
<a:annotates>            <xsd:anyURI>
12 rows

07/18/07 23:00:58 changed by ebrown

(In [3221]) re #131 Match changes to otm

07/18/07 23:11:29 changed by ebrown

(In [3222]) re #131 Add .meta showall command to show all owl classes

07/18/07 23:20:50 changed by ebrown

  • status changed from new to closed.
  • resolution set to fixed.

This works with mulgara 1.1. 0.7 and 0.8 models were dumped above.

07/16/08 11:00:34 changed by

  • milestone deleted.

Milestone 0.8 deleted