Redland/Windows RDF
John C Barstow
What Is Redland?
- It's an RDF Application Framework
- Provides parser
- RDF/XML (everyone's favourite)
- n3 (simple text notation)
- GRDDL ("convert" XML/XHTML documents)
- Vocabulary-specific (RSS tag soup)
- Provides backing store
- MySQL
- Berkerly DB
- flat file
- In-memory
What Is Redland?
- Provides query support
- Query-by-example
- SPARQL (latest W3 draft!)
- RDQL
- Provides language bindings
- C# (developed on Mono, ported to MS runtime)
- Python (ported to Windows)
- Ruby (ported; some more work)
- Perl (next on list)
- PHP
Porting to Windows
- Written in C - create vcproj files; easy
- MSVC is NOT very ANSI compliant
- Exporting of constants is problematic
- Multiple C runtimes - need to use only one
- Preprocessor macros are global!
RDF Use Cases
- Distributed XML
- Agile database
- AI enabler
- Semantic Web
- Software agents
- RDF vocabularies
- FOAF, Dublin Core, RSS, PRISM, SKOS, etc.
Distributed XML
- Private annotations
- "Modify" documents you don't control
- Store sensitive details seperately
- Work with info all over the Web
Agile Database
- Open, extensible schema by default
- Incomplete records are a feature
- Anonymous records can be specified inline
- The data is the model
AI enabler
- Roots in graph theory
- Formal knowledge representation
- OWL enables descriptive logic
- Unambiguous, extensible vocabularies
RDF-based vocabularies
- Dublin Core - document annotation
- FOAF and FOAFCorp - information about people
- RSS - syndication feeds
- SKOS - thesauri, glossaries, formal taxonomies
- OWL - Web Ontology Language; formal logic
In Summary
- Redland makes working with RDF from code easy
- Porting to Windows simplifies our lives
- RDF is the future