473,890 Members | 1,705 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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#ti tle</predicate>
<object>Sitti ng 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 1679

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
353
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. Actually, the class I'm serializing is two steps down in the inheritance ladder. It's got a parent class which also has a parent class :( All those classes in the hierarchy are Xml Serializable, and I'd think that it should be obvious that all...
37
3429
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 to extract pythagorean triples from an input stream. The input is formatted so that only the first two components <a,b> of a pythagorean triple are specified. The function signature will be: std::istream &operator>>(std::istream &is,...
1
2091
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 created a couple of objects and serializing it into XML based upon the schema works perfectly. The XML / Schema looks something like this:
2
3527
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: + More ways to contact me __________________________________________________________________
4
1682
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 on the impact serializing something has on an asp.net page rendering, compared to say, hitting the db or something like that. THanks Jason Shohet
1
1369
by: hasky | last post by:
Where can I find simple code of triples.
11
4314
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 listbox. I have done this so far: 'Allocate some local variables Dim LegA As Integer Dim LegB As Integer Dim Hyp As Integer Dim Triple As String Dim Found As Integer
5
4726
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 the relationship that the sum of the squares of two of the sides is equal to the square of the hypotenuse. Find all Pythagorean triples for side1, side2, and the hypotenuse that fall within a user-specified range. Limit the upper-bound to 500. Use a...
3
3546
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
9976
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9815
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10451
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9618
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, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
8008
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 presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
7160
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5835
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
4259
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3267
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.