Title: XML Visualization using GROVEData Model
1XML Visualizationusing GROVE-Data Model
Cairo University Faculty of Computer Science and
Information Systems.
- Prepared By
- Ahmed Saleh ALSUM.
- Heba Zaki.
- Shahenda Slah-alden.
- Supervisor
- Dr. Amr Kamel
2Outlines
- Problem.
- Grove Architecture.
- Solution.
3The ProblemXML Visualization
- We need simple method to display XML files, and
the ability to understand the contents and schema
of the file. - We need flexible way to make modification in the
data and how to update the file with this
modification.
4The ProblemVisualization by Tree
- XML closely relates to the tree view which
expresses the elements of XML file such as node,
element, property,.. - New Problems,
- How to Address Tree node to XML node??
- How to link different Trees (XML) ?
5The ProblemLooking at tree-based options
- Linking and processing are done in terms of some
data model, not in terms of syntax. - Four popular modules do tree-based processing of
XML - Document Object Model (DOM)
- Grove
- Twig
- Simple
6Why not Twig?
- Twig offers a tree-oriented interface to a
document while still allowing the processing of
documents of any size. - Twig is a tool that would allow people to process
text the way they wanted, offering tons of
feature. - The only thing Twig does not do is follow
standards (except XML of course).
7Why not Simple?
- Simple was originally developed for the purpose
of reading and writing config files in XML format
- If you are working with very large XML files,
Simple's approach of representing the whole file
in memory as a 'tree' data structure may not be
suitable. Because if it did, it would no longer
be simple.
8The ProblemDOM Vs. GROVE
- The main difference is that the DOM is not
schema-driven. It has a single (implicit and
as-yet-undocumented) schema -- a schema for the
XML notation. - The DOM can only be used for documents expressed
in XML, whereas any information, in any notation,
can be represented as a grove. - Even in XML-land, the DOM does not provide access
to the information sets conveyed by specific XML
document types, whereas a grove can be a set of
nodes that reflect the information set.
9The ProblemDOM Vs. GROVE
- DOM is not really an object model in the abstract
sense. It is rather just a collection of IDL
interfaces and some descriptions of how they
relate. - The DOM is too flexible in that it is not
rigorous enough to be a basis for addressing.
10The ProblemDOM Vs. GROVE
- In Grove a property is a combination of a name
and a value. Conceptually, this is similar to an
attribute in XML. - Allows hyperlinking systems to meaningfully mix
and match data from different sources to create
new results
11The ProblemDOM Vs. GROVE
- Groves allow there to be a single authoritative
copy of each datum, regardless of its notation. - Databases can be made to appear to be groves.
12Outlines
- Problem.
- Grove Architecture.
- Solution.
13GROVE ArchitectureWhat Are GROVEs?
- Abbreviation of
- "Graph Representation Of property ValuEs."
- Definition
- Grove is 'An abstract data structure consisting
of a directed graph of nodes in which each node
may be connected to other nodes by labeled arcs.
14GROVE ArchitectureWhy GROVEs?
- A generic, implementation-independent data model
for representing data of any type. - A mechanism for enabling reliable, robust
addressing of data regardless of syntax or format.
15GROVE ArchitectureWhy GROVEs?
- Provides a common object model, allowing
information in many notations to be addressed in
a common fashion, even if the sources from which
groves were generated were not. - Enables effective processing of very large
collections of structured content.
16GROVE ArchitectureHow GROVEs Work ?
- Every media type ("notation") defines its own
vocabulary of "properties" in terms of the basic
concepts underlying the notation. - We call these vocabularies "property sets."
- All properties are held in containers called
nodes. - Nodes represent everything in an XML document
elements, attributes, every significant
character, all insignificant whitespace, etc.
17GROVE ArchitectureGROVE notation processor
- The process of creating a grove starts with a
notation processor. - A notation processor is a piece of software that
can read (and make sense of) resources in a given
source notation (say, MP3). A notation processor
reads data in the source notation and creates a
grove to represent it. This process is called the
grove construction process. - In our project we develop a class that will do
this function that call GROVEBuilder class
18 19GROVE ArchitectureGROVE plan
- The applications do not need to keep track of all
of the information if it is not using it. - System designers can ask a grove builder to trim
nodes that they do not need from the grove using
a "GROVE plan".
20"GROVE plan"
21GROVE ArchitectureWhats in a NODE?
- A node consists of a set of named values.
- Each named value is called a property
assignment.
22Properties Collection
23GROVE ArchitectureWhats in a Property?
- A property is a named characteristic of an
information object. - Each property has a specific datatype.
24What DATATYPES canproperties have?
- Primitive datatypes
- character, string, integer,
- string list, integer list,
- Nodal datatypes
- node, node list, named node list
25Whats a NODAL DATATYPE?
- The value assigned to a nodal property is a
node or list of nodes. - Nodal properties represent relationships between
information objects.
26GROVE Architecture The quick brown fox jumped
over the lazy dog lying next to the top of the
cliff and regretted..
27Outlines
- Problem.
- Grove Architecture.
- Solution.
28The solution of Linking Problem
- Linking two GROVES is implemented using GROVE, by
define a new property called reference which
describe the edges between the nodes.
29What kinds of NODAL RELATIONSHIPS are there?
- Subordinate (SUBNODE)
- forms hierarchies (trees) of nodes
- each grove is a single SUBNODE tree
30What kinds of NODAL RELATIONSHIPS are there?
- Internal reference (IREFNODE)
- creates cross-references within a single grove
- Unrestricted reference (UREFNODE)
- creates cross-references between groves
- a set of UREFNODE-connected groves is called a
hypergrove.
31(No Transcript)
32What kinds of NODAL RELATIONSHIPS are there?
33Conclusion
- Groves can support software that creates and
maintains links, bookmarks, annotations, auditing
records, etc. that cannot be lost merely because
of subsequent changes in computer technology, or
changes in system vendors. All such referencing
information can be stored in freestanding XML
documents that contain addresses expressed in a
way that is correctly resolvable by any
grove-aware application. - Due to the shortage of a good implementation for
GROVE, we provide a new implementation to GROVE
data-model which achieves the most essential
features that distinct the GROVE from other
models. - We use the new GROVE implementation to ensure
that GROVE data-model actually can solve linking
problem by applying it on XML files and its
related schema and we succeed in the linking
between many xml files by linking its GROVE
data-model.
34Questions
35Thanks