Showing posts with label RDF. Show all posts
Showing posts with label RDF. Show all posts

2009-12-15

Excerpts from RDF Primer

RDF was based on the idea of expressing simple statements about resources, where each statement consists of a subject, a predicate, and an object. In RDF, the English statement:

http://www.example.org/index.html has a creator whose value is John Smith

could be represented by an RDF statement having:
  • a subject http://www.example.org/index.html
  • a predicate http://purl.org/dc/elements/1.1/creator
  • and an object http://www.example.org/staffid/85740

(...)

Taken as a whole, RDF is basically simple: nodes-and-arcs diagrams interpreted as statements about things identified by URIrefs.



(...)

However, in addition to the basic techniques for describing things using RDF statements discussed so far, it should be clear that people or organizations also need a way to describe the vocabularies (terms) they intend to use in those statements, specifically, vocabularies for:
  • describing types of things (like exterms:Person)
  • describing properties (like exterms:age and exterms:creation-date), and
  • describing the types of things that can serve as the subjects or objects of statements involving those properties (such as specifying that the value of an exterms:age property should always be an xsd:integer).

Reference: http://www.w3.org/2007/02/turtle/primer/

2009-10-23

Developing smart Java code

Core Jena interfaces simplified:
Development Methodology
- Define/re-use schema
- Play with example instances, queries etc
- Take a data-centric approach!
- Link key classes of the schema to your Java code (Data Binding)
- Assume schema evolution
- Develop smart, generic code instead of domain specific code

Data model in RDF and RDF Schema
- Data binding to link RDF and Java worlds
- Let the data work with SPARQL

Generic data binding architecture:
New development paradigm based on Linked Data:
- Smart code walks the data graph at run-time
- Very little hard-coding of behavior
- Benefits
-- flexible architecture
-- faster turn-around times
- Challenges
-- learning curve (different from object oriented development)
-- integration with established technologies

Source: Holger Knublauch at JavaOne 2009

I would add that probably "performance" is an additional challenge. Maybe I'll give it a try one of these days...