473,403 Members | 2,222 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,403 software developers and data experts.

Serializing RDF...why not start with the triples?

I'm new to the world of RDF and RDF/XML so pardon my naive question:

I understand that the "real" RDF model is the conceptual network of
nodes (Subjects and Objects) connected by predicate arcs; and that the
official way to serialize the graph is to use the RDF/XML specification.

So far so good; but N3 and/or N-Triple notations are also used, and it
sure seems to me that N3 is "iso-morphic" to the graph; i.e. The
triples (properly constructed) represent the graph, the whole graph and
nothing but the graph.

And now the question:

If we need to express the graph model in an XML -ish form, why wouldnt
it be easier, simpler, less fattening, whatever, to start with the the
triples thus:

<tripleSet>
<triple>
<subject>http://mydomain.com/myStuff/Thing42.doc</subject>
<predicate>http://mydomain.com/myvocabulary#title</predicate>
<object>Sitting On A Fence</object>
</triple>
...
etc for all the known triples
</tripleSet>

But as far as I can tell, no one has done or proposed such a thing. Has
it got some sort of fatal flaw, conceptual or practical, that I'm
looking right past?

What makes RDF/XML , which to my inexperienced eye seems a bit clunky in
comparison, the preferred notation over N3 or an xml-ized version of N3 ?

Jan 5 '07 #1
3 1658

Leeh wrote:
I understand that the "real" RDF model is the conceptual network of
nodes (Subjects and Objects) connected by predicate arcs;
Congratulations! You're probably the first person to ever post an RDF
question here, yet to understand that already. And you thought you were
"naive" ?

the official way to serialize the graph is to use the RDF/XML specification.
Hmmm.....

It's certainly not "the official way", just one of the oficially
described ways.
So far so good; but N3 and/or N-Triple notations are also used, and it
sure seems to me that N3 is "iso-morphic" to the graph;
You're not really getting this "naive" thing are you? 8-) That's a
pretty insightful comment and it took the RDF WG about 3 years before
it really sank in. The _history_ of RDF is as a fix to some issues with
XML. The "typical" understanding of RDF is as a sub-dialect of
XML(sic). The clueful understanding of it around the WG is increasingly
that triples are where it's at and what do we need this XML stuff for
anyway? Pragmatic reality obviously has to be somewhere in the middle.

If RDF were started again today, I don't think there'd be any XML
anywhere near it.

You have to remember though that RDF is pretty old, and it began at a
time when XML was suffering from being looked down on by the SGML and
HyTime people as too limited and so needed extensions built on top of
it. There was also a pervasive attitude that XML could solve everything
(I mean _everything_ - it was the era of universal semantic translation
by XSLT) and it would be truly universal in the future.
If we need to express the graph model in an XML -ish form, why wouldnt
it be easier, simpler, less fattening, whatever, to start with the the
triples
Good.
thus: [some XML stuff]
Bad.

The problem is one of legacy. RDF/XML's strength (its only strength) is
in its close resemblance to a pure-XML solution devoid of most RDF
structure and certainly devoid of "triples". Look at the post-2004
descriptions of RDF/XML; compare them to the pre-2004 "striped" use of
XML to represent RDF in XML and constrast them to pre-2000 notions of
representing RDF in XML.

RDF/XML's main weakness is as you've identified: it's a weird way to
represent triples and triples are the clear representation of RDF.
RDF/XML is RDF's own worst enemy when it comes to clear understanding
of what's really going on.

However if RDF/XML is ever to fly, it _must_ be XML-like, including a
strong resemblance to the sort of XML documents that a non-RDF
architect would design. User acceptance from the existing XML community
demands this. For another thing it (currently) relies on the
data-typing of XML Schema, and that itself depends on binding through
mapping properties and element names in the RDF/XML approach rather
than your triples-in-XML approach.

But as far as I can tell, no one has done or proposed such a thing. Has
it got some sort of fatal flaw, conceptual or practical, that I'm
looking right past?
What you suggest is an excellent way to directly represent triples in
XML. However triples can be represented in many ways, and XML doesn't
really offer anything here (compared to N3)
What makes RDF/XML , which to my inexperienced eye seems a bit clunky in
comparison, the preferred notation over N3 or an xml-ized version of N3 ?
"Clunky" is certainly true. It's not even sure if RDF/XML _is_ the
preferred notation any more. I don't think it is for most of Bristol
(from my last conversations with HP people). The RDF theoretical people
seem to focus on N3 entirely.

I'm in a different non-HP world these days. I have to work with XML and
I introduce RDF into things as far as I can get away with. So for me,
RDF/XML is the only way I can possibly work. It's still a little weird,
but then I remember how bad it was before 2004!

I don't think your RDF-in-triples-in-XML will ever be adopted. It's a
great idea, but it solves the wrong problem. No-one wants both triples
_and_ XML, the triples people don't need XML, the XML people can't work
with something that's so different to non-RDF XML.

Jan 5 '07 #2
Lee
Andy Dingley wrote:
Leeh wrote:

>>I understand that the "real" RDF model is the conceptual network of
nodes (Subjects and Objects) connected by predicate arcs;


Congratulations! You're probably the first person to ever post an RDF
question here, yet to understand that already. And you thought you were
"naive" ?
>>the official way to serialize the graph is to use the RDF/XML specification.


Hmmm.....

It's certainly not "the official way", just one of the oficially
described ways.

>>So far so good; but N3 and/or N-Triple notations are also used, and it
sure seems to me that N3 is "iso-morphic" to the graph;


You're not really getting this "naive" thing are you? 8-) That's a
pretty insightful comment and it took the RDF WG about 3 years before
it really sank in. The _history_ of RDF is as a fix to some issues with
XML. The "typical" understanding of RDF is as a sub-dialect of
XML(sic). The clueful understanding of it around the WG is increasingly
that triples are where it's at and what do we need this XML stuff for
anyway? Pragmatic reality obviously has to be somewhere in the middle.

If RDF were started again today, I don't think there'd be any XML
anywhere near it.

You have to remember though that RDF is pretty old, and it began at a
time when XML was suffering from being looked down on by the SGML and
HyTime people as too limited and so needed extensions built on top of
it. There was also a pervasive attitude that XML could solve everything
(I mean _everything_ - it was the era of universal semantic translation
by XSLT) and it would be truly universal in the future.

>>If we need to express the graph model in an XML -ish form, why wouldnt
it be easier, simpler, less fattening, whatever, to start with the the
triples


Good.

>>thus: [some XML stuff]


Bad.

The problem is one of legacy. RDF/XML's strength (its only strength) is
in its close resemblance to a pure-XML solution devoid of most RDF
structure and certainly devoid of "triples". Look at the post-2004
descriptions of RDF/XML; compare them to the pre-2004 "striped" use of
XML to represent RDF in XML and constrast them to pre-2000 notions of
representing RDF in XML.

RDF/XML's main weakness is as you've identified: it's a weird way to
represent triples and triples are the clear representation of RDF.
RDF/XML is RDF's own worst enemy when it comes to clear understanding
of what's really going on.

However if RDF/XML is ever to fly, it _must_ be XML-like, including a
strong resemblance to the sort of XML documents that a non-RDF
architect would design. User acceptance from the existing XML community
demands this. For another thing it (currently) relies on the
data-typing of XML Schema, and that itself depends on binding through
mapping properties and element names in the RDF/XML approach rather
than your triples-in-XML approach.
>>But as far as I can tell, no one has done or proposed such a thing. Has
it got some sort of fatal flaw, conceptual or practical, that I'm
looking right past?


What you suggest is an excellent way to directly represent triples in
XML. However triples can be represented in many ways, and XML doesn't
really offer anything here (compared to N3)

>>What makes RDF/XML , which to my inexperienced eye seems a bit clunky in
comparison, the preferred notation over N3 or an xml-ized version of N3 ?


"Clunky" is certainly true. It's not even sure if RDF/XML _is_ the
preferred notation any more. I don't think it is for most of Bristol
(from my last conversations with HP people). The RDF theoretical people
seem to focus on N3 entirely.

I'm in a different non-HP world these days. I have to work with XML and
I introduce RDF into things as far as I can get away with. So for me,
RDF/XML is the only way I can possibly work. It's still a little weird,
but then I remember how bad it was before 2004!

I don't think your RDF-in-triples-in-XML will ever be adopted. It's a
great idea, but it solves the wrong problem. No-one wants both triples
_and_ XML, the triples people don't need XML, the XML people can't work
with something that's so different to non-RDF XML.
It is to laugh; see Triples to RDF thus:

http://www.mulberrytech.com/Extreme/...tickler01.html

I should have done more homework!
Jan 6 '07 #3

Lee wrote:
http://www.mulberrytech.com/Extreme/...tickler01.html
That's a useful link. Jeremy was one of the people I was thinking of
when I suggested that more of the thoretical work was focussed on N3
these days than on RDF/XML.

Jan 8 '07 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
by: Angelos Karantzalis | last post by:
Hi guys. I've come across a problem when I tried to serialize a class into xml, only to discover that the parent class's XML Serialization properties weren't included in the output xml. ...
37
by: Jason Heyes | last post by:
A pythagorean triple is a triple <a,b,c> whose components are positive integers satisfying a*a + b*b = c*c. An example is <3,4,5> since 3*3 + 4*4 = 9 + 16 = 25 = 5*5. I want to write a function...
1
by: Ivo Bronsveld | last post by:
All, I have quite a challenging task ahead of me. I need to write an object model (for code access) based on a schema, which cannot be made into a dataset because of it's complexity. So I...
2
by: Tobias Zimmergren | last post by:
Hi, just wondering what serializing really is, and howto use it? Thanks. Tobias __________________________________________________________________ Tobias ICQ#: 55986339 Current ICQ status: +...
4
by: Jason Shohet | last post by:
We are thinking of serializing an object & passing it toseveral functions on web service. This will happen about 35 times as the page loads. The class has about 20 attributes. We're not sure...
1
by: hasky | last post by:
Where can I find simple code of triples.
11
by: corwood | last post by:
I am in a VB .NET class, and one of the assignments is to use loops to generate a list of all the pythagorean triples where legA and legB <100 and hypotenuse < 200, and then put this list into a...
5
by: stephanieanne2 | last post by:
The Problem: A right triangle can have sides that are all integers. The set of three integer values for the sides of a right triangle is called a Pythagorean triple. These three sides must satisfy...
3
by: nuzhatjahan | last post by:
Hello, please help me .I want program written in c language or c++ to conver regular expression to quadruples and regular expression to triples. also program related with compiler construction
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.