Subject: Re: one thesis issue Resent-Date: Tue, 26 Sep 2000 12:26:07 -0400 Resent-From: Geoffrey Fox Resent-To: Geoffrey Fox Date: Mon, 25 Sep 2000 22:51:56 -0400 From: Mehmet SEN To: Geoffrey Fox , msen@ecs.syr.edu please see below Geoffrey Fox wrote: > > Please explain how RDF is interesting here. I know roughly waht it is but I > am rather rusty > > Geoffrey Fox gcf@cs.fsu.edu or fox@csit.fsu.edu > Phones Cell 315-254-6387 FSU Office 850-644-4587 FAX 850-644-0098 I got interested with it last fall, and practically did not use. However, I believe that it is useful. Below is my some knowledge about RDF. I plan an architecture to reach the education objects through RDF descriptions. It may make some implementation necessary for future work. On the other hand, architecture part can be designed in a short time while writing the thesis. I am not very expert on RDF but I feel like it is useful in that perspective. Resource Description Framework Basically, XML by itself does not give semantic information to other applications. XML is very good that syntax is understandable by other applications. RDF provides XML data's semantics. RDF integrates metadata information on the data, which helps to discover and retrieve in-XML-format provided resources, like students, courses, etc. RDF is domain and application neutral. The syntax of RDF is again in XML, which helps interoperability between the applications. While it may represented in XML it is independent data model, an abstract-conceptual layer on top of XML. RDF data can even be stored in other formats. RDF model consists of following three types of objects: -Resource: anything having an URI. For example, HTML pages on the web. -Property:relations or attributes to describe resources -Statement: the triple of (resource, property, value). For example, [the HTML(XML) page at https://students..2000/java/studentobject]--->email-->'msen7@npac.syr.edu' This statement structure can go more complex, by embedding properties as resources in it. RDF is only useful "if" we know the meanings of properties. To know the properties applications everybody should agree on some standards like doublin_core metadata, or IMS education metadatas, or LTSA specifications, etc. In my opinion this brings us the opportunity of using a single resource, e.g. grading system, with various other environments using slightly different education object standards. Of course grading system objects should be as generic as possible. (An out of context example is that a student can write an applet. Then grader sees it as student homework responsibility. A kid can see it as a nice game. A recruiter can think about him as a good employee.) RDF descriptions are very useful for searching the objects. It is a free choice to include different&multiple namespaces, i.e., standards, in an RDF document. RDF may manage metadata data for the XML data or the database in reality. We could easily define couple keywords to communicate with TANGO applications over http by sending XML files, which are decided dynamically with the help of RDF descriptions focused on our keywords without building friendship between softwares and their locations. RDF allows containers to allow grouping of the resources. A RDF container can also be described in a single statement. There is no limit to make statements over statements. Therefore, this simple triple can describe very complex information systems. One another thing is that RDF can be contained within the resource or separate. Can be transported together with the resource or separate, and also before and after data. RDF model is correlated with object oriented paradigm. This property provides usability to programmers when needed. However, RDF is not an obj-oriented system since it does not have methods in. RDF got good from every other system, but not completely. It is not database, but relational database logic exists in properties. It is not a complete knowledge representation but its main function related with it. Basically, XML and RDF are very complementary for web applications. Java is the best way to deal with middle tier services to realize high level abstractions on at very back data in databases. There is another work to address these issues, i.e., XMI. However, my little knowledge is that XMI is just a complex thing to work. It is not practical, and may not survive. XMI is much powerful than RDF. This may mean that it is not efficient as RDF. RDF is simple enough to use and complex enough to compensate immediate needs. As far as I know there are many tools available to produce RDF documents. Different from above, I am thinking about an event system of middle tier triggered by XML documents. This is like SAX implementation of XML parsing. Right now we reach to the middle tier through servlet calls from HTML, which is easy and I like it. However, it may be more elegant using pure XML in any communication. This will still keep servlets as service provider, however, they will only understand from the language written in XML, (maybe by the help of RDF). They are already sending XML to the front tier through XML-parser. I also implemented a tier between database and real middle tier which forwards database information in XML from back-end database to middle-tier services. The back way is designed but some functions are not implemented because it allows direct storage too, and I did not go further to implement it. Actual reason was that there was no real XML formatted feedback from front side. I think that there is two alternatives for the front end. Either using javascript to turn data in XML format, or leave it into a java abstract layer on the server site. Maybe new technologies like Java server pages might be useful on that. I believe that XML communication-JAVA processing-DB storage triple is main choice of IBM productions currently. Please comment me. Thank you very much mehmet