Shared publicly  - 
 
Understanding Data Objects -- Part 1 of many to follow.

What are Data Objects?

Data Objects are named encapsulations of observations.
Encapsulation is just a few layers:

1. Document (Data Container or Wrapper)

2. Data (Datum Collection)

3. Datum (Atom)

Thus a unit of accessible and addressable data would look something
like this:

[ Document [ Data [ Datum ] ] ]

Key Characteristics

1. Data Objects are unambiguously identified using Identifiers that
serve as Names; resolution of these Identifiers is optional.

2. Data Object Representation, or the expression of the observation(s),
is achieved via graphs. Various syntaxes are used to express graph
pictorials, which are essentially comprised of a number of
"Attribute = Value" pairs, which themselves coalesce around
a subject Name.

3. Data Object Representations are accessible via Addresses.

4. These Representations may be serialized in a variety of formats.

What are Distributed Data Objects?

Distributed Data Objects are a subset of Data Objects, which have
been network-enabled.

Key Characteristics

All characteristics of Data Objects remain, with some expectations:

1. All Identifiers Resolve.

2. Resolvable Identifiers are used in Representation-oriented graphs.

What are Linked Data Objects?

Linked Data Objects are a subset of Distributed Data Objects, which
use Resolvable Identifiers more uniformly, and conform to a more
limited (but also more flexible) overall data model.

Key Characteristics

All characteristics of Distributed Data Objects remain, with some
additional expectations:

1. Representation is expressed as EAV-model directed graphs.

2. Resolvable Names are always used in the Entity and Attribute
slots, and may be used optionally in the Value slot, of the
EAV based directed graphs.

What does this all mean?

The real post-relational DBMS era is nigh. Every data object has
an unambiguous Name (a Hyperlink), a Structured Representation
(a collection of Entity-Attribute-Value based records), and an
unambiguous Data Access Address (a Hyperlink).

Names and Addresses are both hyperlinks (URIs), but each offers
a different level of indirection for actual access to a given Data
Object Representation (the actual Data).

Unobtrusive Evolution

1. WWW 1.0 -- The World Wide Web used HTTP to construct a global
Information Space, comprised of HTML-based Data Objects which
represented Web Pages (containing text, graphics, multimedia data
streams, etc.), with with hyperlinks used ambiguously as both _Data
Object Names_ and Data Object Access Addresses.

2. WWW 2.0 -- The evolving World Wide Web used HTTP to construct
a global Information Space, comprised of HTML, XML (RSS, AtomPub
etc.), and JSON Data Objects (among others) which represented
a variety of things, with hyperlinks used ambiguously as both _Data
Object Names_ and Data Object Access Addresses.

3. WWW 3.0 -- The Web as a Global Distributed Graph Model DBMS comprised of
HTML, HTML5+Microdata, (X)HTML+RDFa, XML (RSS, AtomPub,
OData-Atom etc.), ASN.1, CSV, and JSON Data Objects (among other things)
that can represent anything, while conveying a clear unambiguous distinction
between hyperlinks that function as Data Object Names OR Data Object Access Addresses.


Where did this go wrong in the past?

1. Object-Oriented Programming -- Data Objects were inextricably
bound to specific Object Oriented Programming Language.

2. Object-Oriented Databases -- Data Objects were inextricably
bound within a given database, in addition to being bound to one
or more Object Oriented Programming Languages.

3. Distributed Objects (CORBA & Friends) -- Data Objects were freed
to cross the wire between machines, but were still tightly bound
within mutually incompatible networks, and only accessible within
the confines of Object Oriented Programming Languages and/or Object
Oriented Databases.

4. Object-Relational Databases (ORDBMS) -- Relational+Object hybrid
databases extended SQL in non-standard ways; by the time standards
arrived, "Object-Oriented Anything" already had a bad rap.

5. HTTP -- The HyperText Transport Protocol improved on CORBA's
IIOP ("Internet Inter-ORB Protocol") by removing the conflation
of Programming Logic and Object Theory, shedding the inherent
shortcomings of that conflation. In HTTP, Data Object
expression syntaxes and serialization formats vary and are
negotiable on-the-fly.

Related

1. Object Theory --
http://en.wikipedia.org/wiki/Object_theory .

2. Object Identity --
http://www.cs.cmu.edu/afs/cs.cmu.edu/user/clamen/OODBMS/Manifesto/htManifesto/node4.html .

3. Universal Resource Identifiers in WWW --
http://www.w3.org/Addressing/rfc1630.txt .

4. Distributed objects are the very heart of the Web, and have been since its invention,
an essay by Dan Connolly --
http://www.w3.org/People/Connolly/9703-web-apps-essay.html .

5. NeXT Enterprise Objects Framewroks Demo by Steve Jobs -- NeXTSTEP Release 3 Demo .

6. Pernicious Computer Traditions by Ted Nelson -- Ted Nelson on Pernicious Computer Traditions .

7. Historical Timeline of Computable Knowledge: 20,000 BC-0 -- http://www.wolframalpha.com/docs/timeline/ .

8. _Deconstructing how Facebook implemented a Linked Data Space without
disrupting their existing infrastructure or business model_ --
http://goo.gl/y7Gq4 .

9. Linked Open Data star scheme by example --
http://lab.linkeddata.deri.ie/2010/star-scheme-by-example/ .

10. Ken Wilber expands on the nature of "I amness" or the pure "Self" - Ken Wilber - Subject becomes object .

11. Facebook Open Graph Beta - https://developers.facebook.com/docs/beta/

12. Data Objects and their importance to XML Signature - http://www.w3.org/TR/xmldsig-core/ #def -DataObject

13. Data Objects in relation to CalDAV (a Calendaring protocol) -- http://rfc-ref.org/RFC-TEXTS/4791/chapter4.html

14. A Convention for HTTP Access to JSON Resources -- http://tools.ietf.org/html/draft-pbryan-http-json-resource-01

15. Description of a Data Object from the Nepomuk Ontology -- http://linkeddata.uriburner.com/describe/?url=http%3A%2F%2Fwww.semanticdesktop.org%2Fontologies%2F2007%2F01%2F19%2Fnie%23DataObject

16. HTTP Next Generation Interfaces Explained -- http://www.w3.org/TR/WD-HTTP-NG-interfaces/

17. Migrating the Web toward Distributed Objects -- ftp://ftp.parc.xerox.com/pub/ilu/misc/webilu.html

18. Diagram illustrating different types of data object oriented resources -- http://id.myopenlink.net/DAV/home/DanielLewis/Public/dataobjects.html 

19. Existence, Uniqueness, and Identity  -- http://www.aisintl.com/case/exist_unique.html 

20. Why Names Trump Addresses when dealing with Data --http://bit.ly/TCzfQT 

21. The Web Object Model  and Type System -- http://www.w3.org/DesignIssues/DistObjApps.html .

#LinkedData #AWWW #SemanticWeb #DataObjects #DataObject #Nepomuk #Ontology   #Web   #HTTP   #URI   #URL  
6
5
Adrian Guzman's profile photoAli H's profile photoKingsley Idehen's profile photo
6 comments
Ali H
 
Hi Kingsley,

Great post!
One request - would you be able to provide some pointers for this bit:

HTTP -- The HyperText Transport Protocol improved on CORBA's IIOP ("Internet Inter-ORB Protocol") by removing the conflation of Programming Logic and Object Theory, shedding the inherent shortcomings of that conflation.

thanks :D.
 
+Ali H -- the issue is that pre. WWW, we had many attempts at Object based or oriented systems. Unfortunately, in all cases, you had to pay a programming language tax. In a nutshell, Object Theory was confined to programming language exploitation. HTTP - as part of the WWW juggernaut - fixed this anomaly via REST based client-server patterns.

Links:

1. http://en.wikipedia.org/wiki/Object_theory -- object theory

2. http://lod.openlinksw.com/describe/?url=http://dbpedia.org/resource/Object_theory -- alternative view that allows deeper exploration of the subject matter courtesy of DBpedia .
 
+Ali H -- CORBA was programming language oriented. It was all about ORBs and OO language bindings re. pursuit of distributed object computing. Courtesy, of HTTP, REST, and Linked Data, we now have Distributed Data Objects modulo any programming language, DBMS, or host operating system specificity. Object Theory is finally free to unleash its immense power, at InterWeb scales.
Ali H
 
Ah, you are talking about decoupling the concept of Object Theory from any one specific programming implementation. That was not clear to me from the original phrasing.

Thanks for the clarification!
 
+Ali H -- Yep! Confining Object Theory exploitation to programming languages (as per OO programming lang. revolution) lead to the eventual downfall the OODBMS, ORDBMS, CORBA and IIOP (re distributed objects) etc..

Via Linked Data, REST, and HTTP we finally have Distributed Data Objects available for exploitation that extends all the way up to InterWeb scales :-)
 
Linked Data and Facebook Ontolog, Great!
Add a comment...