Categories
Writing

O’Reilly twenty-five year anniversary

O’Reilly is celebrating it’s 25 year anniversary. That’s a lot of critters on a lot of covers. Congratulations to the many people I have worked with at O’Reilly, especially Simon, Tara, David, Andy, Linda, Ron, Edd, Nate, Todd, and Derrick

I’m celebrating by finishing the first draft of the last book I’m writing for O’Reilly.

Rah.

Categories
RDF Writing

Final TOC and home stretch

Next week I’m delivering to my editor the complete first draft of “Practical RDF” for O’Reilly. Yeah, finally. No one has seen the complete TOC, including the tools, APIs and whatever used in the book and I thought I would provide a heads up before the book is released for public review.

If you’re interested, the TOC is duplicated below. If you have concerns about the technology used, or are curious as to why I’m covering one tool over another, or suggestions about tools/apis/topics you feel I should have covered, please leave a comment or send me an email.

Once the book has had a look over by my editor, I’ll be posting OpenOffice versions of each chapter for chapter by chapter review at http://rdf.burningbird.net.

The book ended up featuring over 50 different tools and APIs, in seven different languages (Perl, PHP, Python, C, LISP, Java, C#, and even Javascript), on three different databases; most of the APIs and tools are currently in alpha/beta state, not to mention the RDF spec itself, now heading towards last call. This was a challenging and rather frustrating experience at times.

Grr.

But, most of the tools and APIs were freely given and open source, supported by people who want nothing more than to provide nifty technologies for people to use.

Grr-eat.

TOC:

 

Chapter 1. Introduction
This chapter will introduce the book, as well as provide a brief history of RDF including current efforts as of the date the first draft of the book.

What exactly is RDF?
A Brief History
RDF and the Semantic Web
Current Specification Efforts
The RDF Specifications
When to use and not use RDF
RDF Controversies
Related Technologies
The RDF Primer

Chapter 2. RDF: Heart and Soul
Focuses on the Concepts and Semantics specifications

The Search for Knowledge
The RDF Triple
The RDF Graph
The URI
RDF Serialization: N-Triples
Datatypes
Talking RDF: Lingo and Vocabulary
Sub-Graphs
Graph and Not Ground
Entailment
Equality
Assertions

Chapter 3. Basics of RDF/XML
The major elements of the RDF syntax are introduced and discussed. Covers the syntax and test cases docs

Serializing RDF to XML
Nodes
Stripped Syntax
Properties
URIs, Qnames, and Abbreviations
The Type Property
RDF Blank Nodes
More on RDF Data Types
RDF Shortcuts
The RDF Test Cases

Chapter 4. Specialized RDF Relationships: Reification, Collections, and Containers
More complex constructs with some semantic challenges.

RDF Containers
Basic Container syntax
Typed node emulation
RDF Collections
What Containers and Collections ‘mean’
Reified Statements
An Example of Reification
The Necessity of Reification and Higher-Order Statements
A Shorthand Reification Syntax
Why Big Ugly?
Why Reify?

Chapter 5 Important concepts from the RDF Vocabulary
The RDF Schema provides the roadmap to creating an RDF vocabulary. The “rules” are covered, with examples to clarify the more complex topics.

RDF Schema: Defining the Metadata
Metadata’s Role in Existing Applications
RDF Schema: Metadata Repository
Core RDF Schema Elements
Overview of the RDF Core Classes
Demonstrations of the RDF Core Classes
Refining RDF Vocabularies with Constraints
RDF Schema Alternatives

Chapter 6. Defining RDF Data Schemas
This chapter provides coverage of defining a custom vocabulary for RDF. Discussion will also cover PICS, as an example, as well as other examples.

What do we mean by Vocabulary
Defining the Vocabulary Business and Scope
Defining the Vocabulary Elements
The PostCon Elements
Prototyping the Vocabulary
Adding in Repeating Values and a container
Formalizing the Vocabulary with RDFS
Another Example: The Dublin Core
An overview of the Dublin Core MetaData Element Set
Dublin Core in RDF/XML
The Qualified Dublin Core elements
Mixing Vocabularies
Using DC-dot to generate DC RDF
When Precision isn’t enough

Chapter 7. Ontologies: RDF Business Models
Why Ontology?
DAML+OIL
RDF and OWL

Section II – RDF Tools
Now that we know what it is, how can we work with it?

Chapter 8. Merging RDF with Other Technologies
Using RDF with other applications.

RDF and Links
RDF and SOAP
Generating RDF with XSLT
RDF and UML
RDF and SVG

Chapter 9. Editing, Parsing, Generating, Converting, and Browsing RDF
Browsers
BrownSauce
Parsers
ARP
Raptor RDF/XML Parser
ICS-FORTH Validating RDF Parser
Javascript RDF Parser
Wilbur
Editors
SMORE — Semantic Markup, Ontology, and RDF Editor
RDF Editor written in Java
Converters
Grove’s ConvertToRDF
Convert RDF to iCalendar (Dan Connolly) – RDF Calendar task force
DMOZ RDF Parser for MySQL

Chapter 10. Jena: A Java-Based RDF API
Overview of the Classes
The Underlying Parser
The Model
The Query
The Iterators
DAML+OIL
Creating and Serializing a model
Very Quick Simple Look
Encapsulating the Vocabulary in a Java Wrapper Class
Adding in more complex structures
Creating a Typed node
Creating a container
Parsing and Querying an RDF Document
Just doing a basic dump
Accessing specific values
In Memory versus Persistent Memory Model Storage
A Brief look at DAML+OIL in Jena

Chapter 11 RDF and the Three P’s

RDF/XML and Perl
Ginger Alliance PerlRDF
Model Persistence and Basic Querying
Serializing RDF/XML
Examining the Schema
RDFStore
The PHP XML RDF Classes
RDF-API
Class Overview
Creating an RDF Model
Parsing and Querying an RDF Model
PHP Classes for XML
Class overview
Rdql
Persistent RDF – rdql db
Python Support
RDFlib
Building a basic Model and Serializing
Parsing a model and queries
TripleStore and ZODB

Chapter 12 Querying RDF: RDF as Data
Basic relational syntax of RDF query languages
Querying with Jena
The Query Language
RDF Query-o-Matic
Querying with PHP
The Query Language
RDF Query-o-Matic light
Inkling–Querying RDF Data using SquishQL
Sesame
RDF Server (rdftp)
Versa RDF Querying Language

Chapter 13. A Brief look at other RDF Application Environments
Whatever works with XML, works with RDF/XML
Overview of Redland — a multi-language -based RDF Framework
Working with the Redland Framework
Redland’s language du jour – C
Using the Language APIs
Perl and Python
Redfoot
RDF and NET
C# RDF Parser
4Suite

Section III – RDF Goes to Work
We know what it is, we know how to use it, now list some of the uses.

Chapter 14. Subscription and Aggregation with RDF/RSS (RSS 1.0)
This chapter focuses on RSS, including how to expose content, including exposing content through userland, other sources. Chapter also covers Meerkat.

RSS: A quick History
RSS 1.0: A quick introduction
A Detailed Look at the Specification
Channel
Title, Link, Description
Items
Image
Textinput
Item
Extending the Specification through Modules
The RSS Modules
Core: Dublin Core, Syndication, Content
Extended
Brief look at RDF/RSS Aggregators
AmphetaDesk
Meerkat
Aggregating on a Mac
Creating your own RDF/RSS Content
(RDF/RSS isn’t only for news feeds)
Build your own RDF/RSS Consumer
PHP – using an XML API
Python – using an RDF API
Java – using a specialized RSS API
Perl – Ditto
Validating and Converting to RDF/RSS

Chapter 15. Mozilla: User Interface Development with XUL and RDF
Covers Mozilla’s use of RDF to process template data within XUL. Strong enough and significant enough to leave as separate chapter.
The Concepts behind XUL
A Brief Review of the XUL User Interfaces
Dynamic Table of Contents using XUL/RDF
Nested TOC Data

Chap 16. A World of Other Uses
FOAF: Friend-of-a-Friend
DMOZ Directory Outputs and the DMOZ parser
RDF Gateway, a commercial RDF Database
Chandler: RDF within an Open Source PIM
RDF and Adobe: XMP
Creative Commons license
Tucana KnowledgeStore (TKS)
A look at the RDF projects underway at Sourceforge

Appendix A. A Detailed Look at the RDF Grammar

Get permission from W3C to duplicate the RDF Grammar and productions

Appendix B. RDF Resources

URLs and notes to as many RDF resources as we can scrape together

Categories
Just Shelley

New Year: Universal Do Over

Recovered from the Wayback Machine.

Jeneane Sessum isn’t particularly fond of New Year’s Eve, but she still looks for the positive within this year’s end:

 

Beyond the obvious, I think about this place we’re building online. And I think 2002 was a year of a different kind of love. A different kind of family. A kind of rebuilding, re-creation. Somewhere I said that blogging is a do-over of our childhoods. Getting the family thing right. Getting love right. Even getting anger and arguments and resolution right. I think this past year has proven those words true for me. Something is healthier in here.

I, on the other hand, love New Year’s Eve. It’s one of my favorite times of the year. It’s on this day that I realize that it’s too late to try and fulfill all those foolish resolutions I made last year, so I might as well give them up as a lost cause and come up with a fresh batch for next year.

New Year’s Eve is also the day to remember that whatever happened last year — the hurts, the pain and sadness, the political battles lost, the friends who drift away — happened last year. This isn’t forcing events into forgetfulness as much as it is softening them with perspective. Maybe even a little hope.

New Year’s Eve is the period being put to the sentence that is 2002. It is the Universe’s gift to us — our own personal do-over. Whatever mistakes we made in 2002 belong in 2002, and we will not carry them with us into 2003.

In 2002 we came closer to war with Iraq and now North Korea. Okay, then 2003 is the year that we don’t go to war with Iraq, or with North Korea. In 2002 we watched the world shudder from financial breakdown, an event that was not confined to any one border. Okay then, 2003 is the year that we start, gradually, carefully, hopefully making our way out of the financial bottom.

In 2003 we have a chance to help the environment, to make our neighborhoods better places to live, to read good books, to make new friends, to discover great opportunities, to uncover stories that need to be told, to see new cures for disease, to listen to wondrous new music, to share new words with each other, to fall in love all over again. Next year we’ll touch hands for the first time, and watch a baby’s first steps.

Next year is a another year to once again try to make peace, stop famine, provide hope. Maybe even, as a people, grow up a little. All that anticipation — how can one not like New Year’s eve?

In 2002, I read the words of my friend Chris, as he wrote about his close friend’s death from terrorism. In 2002, Rick died for the worst of reasons, a blend of politics and religion that makes no sense regardless of whose side one is on. Yet into 2003, I hope what Chris brings with him is the memory of the years that he shared with his friend; that he brings with him the bright and unstoppable spirit that is Rick. And thanks to Chris’ sharing of what was probably one of the most difficult times of his life, we all take into the new year an even stronger will to end these tragedies.

leavessm.jpgIf we don’t go into the new year with hope, and determination based on this hope, how then can we possibly build future New Year’s eve’s that don’t close on similar tragedy?

So I sit in my chair, filled with the sense of anticipation that has nothing to do with clocks and countdowns, confetti and fireworks. And I ask you to check your worldly cynicism at the door, face forward not back, and join me in cherishing that which was, but dreaming of that which will be. For you see, next year is going to be a good year. No, next year is going to be a great year.

Happy New Year to all my friends!

 

With arms wide open
Under the sunlight
Welcome to this place
I’ll show you everything.

Creed, With Arms Wide Open

 

 

Categories
Just Shelley

Snowfall

Recovered from the Wayback Machine.

There’s something magical about seeing the first snow flake falling. At that moment, you and nature are joined in a special secret only shared by those who look out their windows at just the right moment. The first flakes are few, and dance lightly about in the breeze, like the tip of a tongue during foreplay. Moving here, no there, no here.

During the snowfall I watch the pattern of the wind, no longer limited by my crude perceptions that tells me the wind is blowing in a straight line from here to there. The snow traces the individual movements of the wind, a waltz of breezes.

During the day, through my window I watch a father take his child for her first walk in the snow. Hesitant footsteps made a little more unsure by suddently uneven footing that shifts about and causes her to fall. Cruel! But then there’s that moment when tiny face is turned up into the snowfall for the first time; gently, cold touches sweep across cheeks and wisps of cotton at lashes and falls and melts in mouth opened to cry out in pure discovery. All is forgiven, and another child is found winter.

Better than watching the first flake, I love to go to bed with bare streets and wake up in the mornings knowing that snow has started falling. You can hear it by the absence of sound, and you can see it through your window as streetlight reflected. Pulling back the curtain, you look out on a world of white, lines softened between objects until the differences are erased. All you see is soft, crystalline mounds, sparkling in the light.

Snow brings with it a hint of Mother tucking us in against the cold, and a promise of waking.

Categories
Weblogging Writing

And they lived happily ever after

Recovered from the Wayback Machine.

A joke for you:

 

A woman approaches the counter at a bookstore. The guy behind the counter smiles and says, “May I help you?”

“Yes. I bought this book last week,” she said. “And I wasn’t able to put it down for a moment”.

The clerk replied, “It was that good?”

“It had everything”, the woman exclaimed. “It had laughter. It had tears. It had drama, and comedy, and angst. This book explored every aspect of the human condition.”

The clerk smiled. “Great! We like to hear from happy customers. Thanks for coming by and telling us you were pleased with the book.”

“Oh. That’s not why I came by. I want to return the book and get my money back.”

The clerk was puzzled. “But you said this book had everything. It had comedy and drama, and tears and smiles, and even angst. Why would you return the book?”

“Because,” the woman explained. “The book is supposed to be about programming Python.”

 

My favorite new papa, Gary Turner, is talking about weblog writing at his weblog. Specifically he wonders if there’s anything about good writing in the Essential Blogging book, which I co-authored:

 

Shelley had a hand in Essential Blogging, which I haven’t read, but does anyone know if there’s any focus at all given to writing in Essential Blogging? Knowing Shelley and how she highly she values good writing it would seem a little ironical if there’s no coverage on writing in EB. Presuming, of course, that good writing is an essential part of good blogging.

 

Must be something in the air because a few other people are talking about weblog writing. Maybe it’s that end of the year reflectivity that strikes us all, that desire to look back at where we were and figure out where we’re going. Auld Lang Syne.

Steve Himmer the question:

 

What are we we writing, and how are we writing it? What constitutes good writing on the web, and is it determined by the same criteria that determine good writing elsewhere?

 

As you can see from the joke that started this post, good writing is relative. With computer books ‘good writing’ is measured by how little you really notice the writing. Why do you want the book? To learn about Python, you say? Well, did you learn about Python? And did the book help? Then that’s good writing.

Jeff Ward answers Steve by comparing forms of writing. He writes of what I call the LinkerLoggers (Blinkers?):

 

Link heavy blogs create persona through a process of selection, of valuation. It’s interesting that this is perhaps the longest surviving mode of blogging, which does not show much sign of fading— I remember when I started that this seemed mostly bush-league. It takes guts to put yourself out on the commons without any trinkets to sell.

 

After first counting the number of links in this posting (four), I thought long and hard about what Jeff is saying. He has a point — why weblog if you don’t write? Still, there’s that relative thing again. Isaac Asimov once wrote that short stories were the truest challenge to the writer. Anyone can write a story in 400 pages, but only a great writer can write a story in 400 words.

There is skill involved in linking to a story and providing just enough information about it that people want to follow the link, to see how the story ends. Just because the diamonds are tiny doesn’t mean they don’t still sparkle.

What do I think is good weblog writing? I think weblogging is weird. If there’s a crack between all the traditional writing forms — the books, the articles, plays, and poems — weblogging fills that crack. We’re not bricks, we’re cement and we’re oozing all over the world. We’ll never know what is or is not good weblog writing, because the writing is as unique as the number of writers, as good as the worst of us and as poor as the best. We define the rules and we can break the rules, and the first rule we break is to throw out all our assumptions about ‘what is good writing’.

I once said in a post that weblogging is writing the world’s greatest novel with 10,000 of your best friends. Hell on royalities.

Jonathon Delacour joined the writing discussion with the following:

 

Comparing the link+quote+comment weblog to show-and-tell made me laugh, even though I started out that way myself. I didn’t stay there for long—within my first week of blogging I’d written my first long form post. Thinking back to how I approached blogging in those early days, there was an element of wanting to please that’s less evident now (to me anyway).

 

…there was an element of wanting to please that’s less evident now… I watched Jonathon emerge, from dark background to light; from frequent small posts heavy with links, to creating lovely melodies in virtual ink. Doing a Dave. The less he cared about wanting to please, the more pleasing the work. Odd that.

Jonathon discovered the real essence of ‘good’ weblog writing — not really caring if others think your writing is good, or not. Try putting that on your scale and see if you don’t get jello.

I haven’t said Happy Holidays, have I? Happy Holidays, fellow authors. I wish you joy in your words.