US20050125431A1 - System and method for XML based content management - Google Patents

System and method for XML based content management Download PDF

Info

Publication number
US20050125431A1
US20050125431A1 US11/038,677 US3867705A US2005125431A1 US 20050125431 A1 US20050125431 A1 US 20050125431A1 US 3867705 A US3867705 A US 3867705A US 2005125431 A1 US2005125431 A1 US 2005125431A1
Authority
US
United States
Prior art keywords
content
computer
recited
indicative
content units
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/038,677
Inventor
David Emmick
Michael Barta
Bryn Waibel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US11/038,677 priority Critical patent/US20050125431A1/en
Publication of US20050125431A1 publication Critical patent/US20050125431A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/86Mapping to a database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Definitions

  • the present invention relates generally to the field of computing. More particularly, the invention relates to a system and method for content management.
  • content includes any type of digital information that is used to populate a document, a document page, a web page, etc.
  • the digital data can be text, images, graphics, video, sound etc.
  • CMS Content management systems
  • Content management systems provides for the management of the content, by combining rules, process and/or workflows in such a way that decentralized authors/editors can create, edit, manage and publish all the content of a document or web pages.
  • DMS document management systems
  • CMS's and DMS's enable information to be managed according to rules, processes and workflows, the main differentiation between the two products becomes the granularity of management of the digital information a CMS offers when compared to a DMS.
  • a DMS generally deals with a document as a whole and the information that the document contains is essentially irrelevant.
  • a CMS effectively manages at a micro level the individual units of information that go to making up a document or web page.
  • the Internet is redefining the way organizations create and publish corporate information and documents. Intra-, inter- and extra-nets are replacing the document approach to the storage of information with online, up-to-date web based information. The result of this shift is that companies are more interested in managing information at the more granular content level rather than the less granular document level.
  • XML is rapidly becoming the vehicle of choice as a definition language for the description of content-related structures.
  • XML provides great flexibility and universality because XML provides a grammar that can express nearly any content.
  • the standardized representation of content structures fosters the development of previously unrecognized applications.
  • relational databases In addition to the rise of structured content like XML, relational databases have long been the bulwark of the information infrastructure of countless businesses. Relational databases provide a primary tool for business to maintain, access, and analyze data. Such database technologies have evolved over many years so that they are optimized for accessing and manipulating large information bases. Many businesses store the majority of their critical information in relational databases. Moreover, many Internet sites manage their content using relational database technology. The database approach to content management also makes it possible to develop database search engines for sifting through the large volumes of information that “live” on the Internet.
  • the invention provides a system and method for representing content graphs in a relational database manager for physical instantiation by defining the nodes and relationships as entities in the database.
  • the Dublin core forms the base group of data model entity attribution. This forms a quick physical index scheme for content search and use.
  • the Dublin Core Metadata Initiative serves as the definition of commonly used meta data and forms the core meta data of the CMS Store. This repository is a forest of node-labeled trees in a Dublin core attributed graph store with C# assemblies exposed as Web Service with Content one-level abstracted from structure.
  • the invention facilitates the creation of consumable content, based on an expandable razor/blade approach; content is targeted for multiple consumption methods with targeting editorial voice based upon target platform and audience. Different devices such as digital phones, tablets and PC's require different presentation due to device limits and constraints. Services can be targeted using SOAP for application consumption. Audiences can be targeted with separate navigation, editorial voice and content.
  • FIG. 1 is a schematic diagram of a content management system in accordance with the present invention
  • FIG. 2 is an example of a computer network wherein aspects of the present invention may be employed
  • FIG. 3 is a sample of a web page illustrating the content layout and structure provided by a content management system
  • FIG. 4 is an illustration of the mapping of hierarchical content data into a relational node and edge tables
  • FIG. 5A-5G illustrate the mapping of hierarchical content data into relation tables where the hierarchical structure is represented by a relational model based on nodes and edges;
  • FIG. 6 is an illustration of a database schema derived from an entity relationship model that represents hierarchical content in a relational model
  • FIG. 7 is a block diagram of an exemplary computing environment in which aspects of the invention may be implemented.
  • the foundation of the content store in accordance with aspects of the invention is based on three basic graphs:
  • the graphs are converted into a SQL database manager for physical instantiation by moving into set theory and defining the nodes and relationships as entities.
  • the Dublin core forms the base group of data model entity attribution. This forms a quick physical index scheme for content search and use.
  • the Dublin Core Metadata Initiative serves as the definition of commonly used meta data and forms the core meta data of the CMS Store.
  • the invention facilitates the creation of consumable content, based on an expandable razor/blade approach; content is targeted for multiple consumption methods with targeting editorial voice based upon target platform and audience. Different devices such as digital phones, tablets and PC's require different presentation due to device limits and constraints. Services can be targeted using SOAP for application consumption. Audiences can be targeted with separate navigation, editorial voice and content.
  • XML stands for eXtensible Markup Language. It is not a language per se but rather a meta language for creating languages. XML provides structure to a document by using tags. XML is a markup language for creating other markup languages. XML was designed to be extensible and simple to implement and is based on SGML. A document that follows XML rules is said to be well-formed. A document can be invalid, but still be well-formed. A valid XML document conforms to a DTD or XML-Schema.
  • XML Since XML is text-based data type, it is a lightweight and small, making it an efficient transport protocol for dynamic and consumable content. XML allows the efficient exchange of data between applications making it useful for distributed applications.
  • XML schemas are an agreed upon industry-wide initiative to share common application languages based upon XML. The Organization for the Advancement of Structured Information Standards sponsors the ww.xml.org site. The site hosts industry group schemas.
  • XSL stands for eXtensible Style sheet Language. It is a language for expressing stylesheets and provides display semantics for XML. SXL maps XML elements into HTML or any other formatting language. It is similar in functionality to Cascading Style Sheets (CSS).
  • CSS Cascading Style Sheets
  • XML-Schema a current proposal, is a replacement for DTD.
  • DTD Document Type Declaration
  • DTD does not support data type validation and supports only one document.
  • a Schema working Group was established to propose the standard to the W3C (see http://www.w3.org/1999/201706-xmlschema-1/).
  • Schemas support XML syntax and data typing. It is an open content model that supports inheritance, constraints and namespaces. Namespaces are a way to share data between organizations and are a way to avoid element definition collision.
  • Schemas are built in XML and can be used via DOM in Visual Basic or VBScript in ASP. Schemas provide datatypes such as float, currencies as well as relationships between elements. Schemas are extensible and allow for user defined data types.
  • SOAP stands for Simple Object Access Protocol (sometimes seen as XOAP).
  • SOAP is an XML-based programming interface that is machine and language independent. It will travel through firewalls. It is extensible and loosely coupled.
  • SOAP uses XML for remote invocation of object methods and can interact with COM, CORBA or EJB. SOAP's goals are to create a standard object invocation protocol built on Internet standards, XML and HTTP that is extensible with an evolving payload format.
  • FIG. 1 illustrates an overview of the architecture of CMS 10 in accordance with an aspect of the system.
  • CMS 10 provides an application program interface (API) 10 a whereby a user uses a CMS Tool UI 14 on a client computer 20 b to interface with CMS 10 .
  • the user may have an application that keep operates on content in Application DB 13 .
  • the user may use a web based interface 16 to access content maintained by CMS 10 .
  • Build process 18 generates content from CMS 10 to generate a document, web page, etc. for storage in Application DB 13 .
  • the build process then outputs web pages 11 , etc.
  • Stored procedures 17 store and retrieve content in Relational DB Management System 12 a which manages the structured of the content in accordance with aspects of the invention.
  • NTFS 15 stores various portions of content accessible to the CMS 10 .
  • FIG. 2 illustrates how the system of FIG. 1 may be configured to communicate in a network environment.
  • computers 20 a - 20 c and 21 a - 21 b may host various databases such as databases used in CMS 10 and Application DB 13 in accordance with aspects of the present invention.
  • the physical environment shows the connected devices as computers, such illustration is merely exemplary and may comprise various digital devices such as PDAs, network appliances, notebook computers, etc.
  • computing systems may be connected together by wireline or wireless systems, by local networks or widely distributed networks.
  • networks are coupled to the Internet which provides the infrastructure for widely distributed computing and encompasses many different networks.
  • the Internet commonly refers to the collection of networks and gateways that utilize the TCP/IP suite of protocols, which are well-known in the art of computer networking.
  • TCP/IP is an acronym for “Transport Control Protocol/Interface Program.”
  • the Internet can be described as a system of geographically distributed remote computer networks interconnected by computers executing networking protocols that allow users to interact and share information over the networks. Because of such wide-spread information sharing, remote networks such as the Internet have thus far generally evolved into an “open” system for which developers can design software applications for performing specialized operations or services, essentially without restriction.
  • the network infrastructure enables a host of network topologies such as client/server, peer-to-peer, or hybrid architectures.
  • the “client” is a member of a class or group that uses the services of another class or group to which it is not related.
  • a client is a process (i.e., roughly a set of instructions or tasks) that requests a service provided by another program.
  • the client process utilizes the requested service without having to “know” any working details about the other program or the service itself.
  • a client/server architecture particularly a networked system
  • a client is usually a computer that accesses shared network resources provided by another computer (i.e., a server).
  • computers 20 a - 20 c can be thought of as clients and computers 21 a, 21 b can be thought of as servers where server 21 a maintains the data that is then exported for use by the client computer 20 .
  • a server is typically a remote computer system accessible over a remote network such as the Internet.
  • the client process may be active in a first computer system, and the server process may be active in a second computer system, communicating with one another over a communications medium, thus providing distributed functionality and allowing multiple clients to take advantage of the information-gathering capabilities of the server.
  • Client and server communicate with one another utilizing the functionality provided by a protocol layer.
  • HTTP Hypertext-Transfer Protocol
  • WWW World Wide Web
  • Web World Wide Web
  • a computer network address such as a Universal Resource Locator (URL) or an Internet Protocol (IP) address is used to identify the server or client computers to each other.
  • the network address can be referred to as a Universal Resource Locator address.
  • communication can be provided over a communications medium.
  • the client and server may be coupled to one another via TCP/IP connections for high-capacity communication.
  • the computer network may comprise both server devices and client devices deployed in a network environment (in a peer-to-peer environment devices may be both clients and servers).
  • FIG. 2 illustrates an exemplary network environment, with server computers in communication with client computers via a network, in which the present invention may be employed.
  • a number of servers 21 a, 21 b, etc. are interconnected via a communications network 160 (which may be a LAN, WAN, intranet or the Internet, or a combination of any of these) with a number of client computers 20 a, 20 b, 20 c, etc.
  • communication network 160 may comprise wireless, wireline, or combination wireless and wireline connections.
  • the present invention can be utilized in a computer network environment having client computers for accessing and interacting with the network and a server computer for interacting with client computers.
  • client computers for accessing and interacting with the network
  • server computer for interacting with client computers.
  • the systems and methods of the present invention can be implemented with a variety of network-based architectures, and thus should not be limited to the example shown. The present invention will now be described in more detail with reference to an illustrative implementation.
  • FIG. 3 illustrates how the content management system applies content units to build various web pages.
  • Web page 30 comprises a variety of content units that may be reassembled from CMS 10 in a variety of ways to create web pages for different applications.
  • Web page 30 for example, comprises a table of contents 302 , subtitles and abstracts 304 , news titles 306 , and graphics 308 .
  • Graph Theory is used to express XML and has corollaries to directory structures and content objects—the directory tree for storing content in computers.
  • Graph Theory is much more extensible, allowing more than hierarchical relationships called polyhierarchy, but the allegory is easily grasped.
  • Relational databases such as SQL is based on Set Theory (Unions, Intersections, etc.). SQL is a great scalable storage and retrieval mechanism for set based information.
  • Graph Theory can be expressed in Set Theory by modeling Graph Theory nodes as collections and elements and Graph Theory edges as relationships (relations between collections, relations between elements and relations between collections and elements). The edges (relationships) between nodes (collections and elements) are named. Thus we have named relationships between elements and elements (such as synonym), collections with collections (related vocabularies), and collections and elements (is member). This is also known as a labeled-edge graph.
  • CMS 10 is implemented with separate entities for content containing elements and structure collections. This is done primary for performance.
  • edge relationships are named but not enumerated.
  • FIG. 4 Illustrates how the present invention converts a graph structure library, book, or document, e.g., represented by table of contents 45 , into relational tables, e.g., 41 , 42 .
  • the table of contents 45 can be represented by graph 48 .
  • Graph 48 is represented by a collection of nodes, e.g., 48 a, 48 b, etc.
  • the nodes, e.g., 48 a, 48 b correspond to content and structure in from the structured table of contents 45 .
  • root node 45 corresponds to MSDN Library in table of contents 45 .
  • Other titles in the table of contents 45 will also be represented by nodes in graph 48 .
  • the relationship of titles in the table of contents 45 can be represented by edges in graph 48 , e.g., edges 47 a, 47 b.
  • FIG. 5A presents a simple subject graph 502 that further illustrates aspects of the invention. Rendered in XML this Simple Subject graph is: ⁇ productoverview> ⁇ title> The Windows 2000 Implementation Strategy for the United Kingdom ⁇ /title> ⁇ author> John Smith ⁇ /author> ⁇ product> Windows 2000 ⁇ /product> ⁇ /productoverview>
  • XML attributes of an XML element can be expressed as either XML elements or XML attributes of the elements. The decision on which to use is made on the concept of future node use. It is easier to break down elements into future element structures than it is to change XML element attributes into XML elements. If no further breakdown is anticipated then attribution is acceptable. XML element definition can be used exclusively and is potentially more flexible in the future.
  • Expressing the XML graph in a relational data model maps the XML attributes as data model attributes (or sometimes called properties—physically modeled as the columns in the SQL table) of the data model entities (set theory).
  • CMS 10 is preferably implemented with a distinction between leaf nodes containing information and structure nodes (collections).
  • content 504 is attributed with various terms to indicate content subject 506 .
  • Content carries metadata and relationships as well as key values pairs 508 for attribution.
  • the content or resource instance is attributed by converting the resource graph into set theory by placing the resource instance (DR_Content) 52 and attribute instance (DR_Attribute) 56 into SQL tables.
  • the labeled edge becomes a many to many relationship table (DR_ContentAttribute) 54 .
  • the content associations can be extended to include tree structure that forms the basis of the Table of Contents (TOC).
  • the structure or tree root, node and leaf) is represented in CMS 10 as separate and distinct tables from the content entity.
  • the tree structure begins with a root element and constructs labeled edge relationships with nodes.
  • the end node or leaf is a relationship to content. Entities can be thought of as “files” and Structure can be thought of as “directories”. Structure can also occur within documents—with introductory paragraph, body paragraph etc.
  • the structure node is typed with a “document” to note the leaf node of the TOC navigation structure and the “root” node of the document structure. This makes explicit the distinction between bounded “internal” structure and unbounded “external” structure.
  • the tree structure graph nodes are represented as Nodes.
  • the labeled edge forms a many to many relationship entity (DR_Branch) 51 and is labeled with a Branch Type 53 .
  • DR_Branch many to many relationship entity
  • branch Type 53 a branch
  • the Node entity is used twice 50 a, 50 b, and thus collapses into a single entity used twice in the relationship (Branch) as shown in FIG. 5E .
  • the Node entity is used for both nodes of the graph.
  • Content also has a notion of ownership.
  • the ownership of content can be represented in graph form as shown in FIG. 5F .
  • certain content in the directed graph 550 including TechNet 556 , MSDN 554 , and BDM 552 is owned by slevy 546 , amyi 544 , and tpetras 542 . All of this is owned by RPU 532 , which is in turn owned by kimsau 522 .
  • the owner entity does not carry the Dublin core properties.
  • Structure and Content have different relationships and some properties not in common.
  • Content carries a relationship to content data, format and status that structure does not. All three graphs can be represented by a single ER model as shown in FIG. 5G . 0
  • Attributes (DR_Attributes) 56 are grouped in sets (DR_AttributeSet) 562 and sets are grouped in Attribute groups (DR_AttributeGroup) 564 .
  • the content entity is extended by recognizing content versions.
  • the actual content data is related to the content version.
  • a content type is extended and relates to structure as well.
  • a status is applied to version.
  • the Content Entity (DR_Content) 52 is related to an Owner (DR_Owner) 533 and the status (DR_ContentStatus).
  • Resource An resource is a unit of Knowledge Management, a content item. Download Overviews, KB Articles and Book Overviews all represent objects.
  • a resource has a GUID or ID.
  • Resource Instance two states: a resource URI—images, streaming media, etc., or a piece of ACCII text.
  • a resource URI images, streaming media, etc.
  • a piece of ACCII text As a metaphor consider that node makes up the card in a library card catalog, the content entity is like the ISBN of the book.
  • the content When content can be instantiated as text, the content is stored in the Content column. Otherwise, for binary, graphics, and unstructured content the content is stored in HTFS files and referenced by URI.
  • Bound attributes are expressed in the form of:
  • the attribute entity is the subject associations of related content and node entities. It is a key value pair name space token. Key space is global such as source name. This would exclude things like ratings since they are not content. Attributes are vocabulary terms; the individual elements in a vocabulary. An individual word or phrase in a vocabulary can be related to other terms, i.e. WINDOWS 2000, SQL SERVER 2000, OFFICE 10, EXCHANGE 2000, Powerpoint 2000.
  • the vocabulary or set of attribute values comprise a collection of words or phrases in a list. These can be arranged and explained or defined as a hierarchy. A vocabulary may be controlled or not. A vocabulary represents the set of attribute values that make up an enumerated list.
  • VSIA Voicetic System for Mobile communications
  • MSDN act as a domain boundary which allows multiple taxonomies to be used.
  • a structure graph node is used as the collection node and leaf node: like the file system, the directory, a collection. It is separated from the content entity for ease of use. Structure never has content. Different kinds of structure exist.
  • a structure leaf is related to a Content Entity.
  • This entity represents the kind of structure, or hierarchy—like a tree presentation. It represents the label of the edge and indicated dependencies between nodes.
  • This entity forms the relationship between nodes, and is not part of a structure tree. This allows branch to allow attribute inheritance. NodeNode relation allows attribution that is not inherited or bubbled up to the root.
  • This entity represents the relationship between a node and content.
  • This entity represents the organization graph node of the organization tree. It is used as a collection or leaf node. It is used as the owner of content and structure trees.
  • This entity represents the parent child relationship between owner nodes forming an organization tree.
  • FIG. 6 further illustrates the data model in accordance with the present invention by providing a database schema wherein content in the form of a graph structure in converted into and stored as a relational model wherein it can be accessed, searched and manipulated by a database management system.
  • an exemplary system for implementing the invention includes a general purpose computing device in the form of a computer 110 that could form a portion of client computer 20 a - 20 c or server computers 21 a, 21 b (see FIG. 1 ).
  • Components of computer 110 may include, but are not limited to, a processing unit 120 , a system memory 130 , and a system bus 121 that couples various system components including the system memory to the processing unit 120 .
  • the system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus (also known as Mezzanine bus).
  • ISA Industry Standard Architecture
  • MCA Micro Channel Architecture
  • EISA Enhanced ISA
  • VESA Video Electronics Standards Association
  • PCI Peripheral Component Interconnect
  • Computer 110 typically includes a variety of computer readable media.
  • Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media.
  • Computer readable media may comprise computer storage media and communication media.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 110 .
  • Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.
  • modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
  • the system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132 .
  • ROM read only memory
  • RAM random access memory
  • BIOS basic input/output system
  • RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120 .
  • FIG. 7 illustrates operating system 134 , application programs 135 , other program modules 136 , and program data 137 .
  • Computer 110 may also include other removable/non-removable, volatile/nonvolatile computer storage media.
  • FIG. 7 illustrates a hard disk drive 141 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 151 that reads from or writes to a removable, nonvolatile magnetic disk 152 , and an optical disk drive 155 that reads from or writes to a removable, nonvolatile optical disk 156 , such as a CD ROM or other optical media.
  • removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
  • the hard disk drive 141 is typically connected to the system bus 121 through an non-removable memory interface such as interface 140
  • magnetic disk drive 151 and optical disk drive 155 are typically connected to the system bus 121 by a removable memory interface, such as interface 150 .
  • hard disk drive 141 is illustrated as storing operating system 144 , application programs 145 , other program modules 146 , and program data 147 . Note that these components can either be the same as or different from operating system 134 , application programs 135 , other program modules 136 , and program data 137 . Operating system 144 , application programs 145 , other program modules 146 , and program data 147 are given different numbers here to illustrate that, at a minimum, they are different copies.
  • a user may enter commands and information into the computer 110 through input devices such as a keyboard 162 and pointing device 161 , commonly referred to as a mouse, trackball or touch pad.
  • Other input devices may include a microphone 163 , joystick, game pad, satellite dish, scanner, or the like (not shown).
  • These and other input devices are often connected to the processing unit 120 through a user input interface 160 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB).
  • a monitor 191 or other type of display device is also connected to the system bus 121 via an interface, such as a video interface 190 .
  • computers may also include other peripheral output devices such as speakers 197 and printer 196 , which may be connected through an output peripheral interface 195 .
  • the computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180 .
  • the remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110 , although only a memory storage device 181 has been illustrated in FIG. 7 .
  • the logical connections depicted in FIG. 7 include a local area network (LAN) 171 and a wide area network (WAN) 173 , but may also include other networks.
  • LAN local area network
  • WAN wide area network
  • Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
  • the computer 110 When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170 .
  • the computer 110 When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173 , such as the Internet.
  • the modem 172 which may be internal or external, may be connected to the system bus 121 via the user input interface 160 , or other appropriate mechanism.
  • program modules depicted relative to the computer 110 may be stored in the remote memory storage device.
  • FIG. 7 illustrates remote application programs 185 as residing on memory device 181 . It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
  • the various techniques described herein may be implemented with hardware or software or, where appropriate, with a combination of both.
  • the methods and apparatus of the present invention may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention.
  • the computer will generally include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device.
  • One or more programs are preferably implemented in a high level procedural or object oriented programming language to communicate with a computer system.
  • the program(s) can be implemented in assembly or machine language, if desired.
  • the language may be a compiled or interpreted language, and combined with hardware implementations.
  • the methods and apparatus of the present invention may also be embodied in the form of program code that is transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as an EPROM, a gate array, a programmable logic device (PLD), a client computer, a video recorder or the like, the machine becomes an apparatus for practicing the invention.
  • a machine such as an EPROM, a gate array, a programmable logic device (PLD), a client computer, a video recorder or the like
  • PLD programmable logic device
  • client computer a client computer
  • video recorder or the like
  • the program code When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates to perform the indexing functionality of the present invention.

Abstract

System and method for a content management system are described. The content management system takes complex hierarchically represented content structures and represents the hierarchical model by way of a relational model that creates node tables and edge tables to represent various content structures. Moreover, the content is separated from the structure such that the same content units may be used by multiple content structures.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is related to the following commonly-assigned patent application: U.S. patent application Ser. No. 10/121,767, entitled “System and Method for XML Based Content Management”, filed Apr. 12, 2002.
  • FIELD OF THE INVENTION
  • The present invention relates generally to the field of computing. More particularly, the invention relates to a system and method for content management.
  • BACKGROUND OF THE INVENTION
  • In the digital realm, content includes any type of digital information that is used to populate a document, a document page, a web page, etc. The digital data can be text, images, graphics, video, sound etc. Content management systems (CMS) have been developed that provide the controls to effectively manage this digital content. Content management systems provides for the management of the content, by combining rules, process and/or workflows in such a way that decentralized authors/editors can create, edit, manage and publish all the content of a document or web pages.
  • The concept of content differs from that of a document. Prior to the development of content management systems, much effort was focused on document management systems (DMS) that provided companies with the ability to gain control over the ever increasing amount of information that they were producing using products like Word, Lotus123, Excel, etc. Companies recognized the need to internally organize documents such as word files, spreadsheets, PowerPoint presentations etc. The need to organize documents resulted in the development of DMS's.
  • With the onslaught of the web and the need to manipulate content at a more granular level than a document provides, many have recognized the need for a variation of the basic DMS. Both CMS's and DMS's enable information to be managed according to rules, processes and workflows, the main differentiation between the two products becomes the granularity of management of the digital information a CMS offers when compared to a DMS. A DMS generally deals with a document as a whole and the information that the document contains is essentially irrelevant. On the other hand, a CMS effectively manages at a micro level the individual units of information that go to making up a document or web page.
  • The Internet is redefining the way organizations create and publish corporate information and documents. Intra-, inter- and extra-nets are replacing the document approach to the storage of information with online, up-to-date web based information. The result of this shift is that companies are more interested in managing information at the more granular content level rather than the less granular document level.
  • XML is rapidly becoming the vehicle of choice as a definition language for the description of content-related structures. XML provides great flexibility and universality because XML provides a grammar that can express nearly any content. On the Internet in particular, the standardized representation of content structures fosters the development of previously unrecognized applications.
  • In addition to the rise of structured content like XML, relational databases have long been the bulwark of the information infrastructure of countless businesses. Relational databases provide a primary tool for business to maintain, access, and analyze data. Such database technologies have evolved over many years so that they are optimized for accessing and manipulating large information bases. Many businesses store the majority of their critical information in relational databases. Moreover, many Internet sites manage their content using relational database technology. The database approach to content management also makes it possible to develop database search engines for sifting through the large volumes of information that “live” on the Internet.
  • The disconnect between XML and relational databases is that one is hierarchically structured and the other is relationally structured to provide efficient management of large amounts of data. The combination of database technology with self-describing structure of hierarchical languages such as XML opens an interesting perspective for CMS's. One vexing issue is presented when ensuring that seemingly inapposite theoretical constructs between the two data representations are harmonized.
  • SUMMARY OF THE INVENTION
  • The invention provides a system and method for representing content graphs in a relational database manager for physical instantiation by defining the nodes and relationships as entities in the database. The Dublin core forms the base group of data model entity attribution. This forms a quick physical index scheme for content search and use. The Dublin Core Metadata Initiative serves as the definition of commonly used meta data and forms the core meta data of the CMS Store. This repository is a forest of node-labeled trees in a Dublin core attributed graph store with C# assemblies exposed as Web Service with Content one-level abstracted from structure.
  • The invention facilitates the creation of consumable content, based on an expandable razor/blade approach; content is targeted for multiple consumption methods with targeting editorial voice based upon target platform and audience. Different devices such as digital phones, tablets and PC's require different presentation due to device limits and constraints. Services can be targeted using SOAP for application consumption. Audiences can be targeted with separate navigation, editorial voice and content.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The foregoing summary, as well as the following detailed description of preferred embodiments, is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, there is shown in the drawings exemplary constructions of the invention; however, the invention is not limited to the specific methods and instrumentalities disclosed. In the drawings:
  • FIG. 1 is a schematic diagram of a content management system in accordance with the present invention;
  • FIG. 2 is an example of a computer network wherein aspects of the present invention may be employed;
  • FIG. 3 is a sample of a web page illustrating the content layout and structure provided by a content management system;
  • FIG. 4 is an illustration of the mapping of hierarchical content data into a relational node and edge tables;
  • FIG. 5A-5G illustrate the mapping of hierarchical content data into relation tables where the hierarchical structure is represented by a relational model based on nodes and edges;
  • FIG. 6 is an illustration of a database schema derived from an entity relationship model that represents hierarchical content in a relational model; and
  • FIG. 7 is a block diagram of an exemplary computing environment in which aspects of the invention may be implemented.
  • DETAILED DESCRIPTION OF THE INVENTION
  • Overview
  • The foundation of the content store in accordance with aspects of the invention is based on three basic graphs:
      • 1) Content—Subject
      • 2) Structure
      • 3) Organization
  • The graphs are converted into a SQL database manager for physical instantiation by moving into set theory and defining the nodes and relationships as entities. The Dublin core forms the base group of data model entity attribution. This forms a quick physical index scheme for content search and use. The Dublin Core Metadata Initiative serves as the definition of commonly used meta data and forms the core meta data of the CMS Store.
  • The invention facilitates the creation of consumable content, based on an expandable razor/blade approach; content is targeted for multiple consumption methods with targeting editorial voice based upon target platform and audience. Different devices such as digital phones, tablets and PC's require different presentation due to device limits and constraints. Services can be targeted using SOAP for application consumption. Audiences can be targeted with separate navigation, editorial voice and content.
  • The following definitions are useful guides in understanding the present invention. Note, however, that the definitions below are known to those of ordinary skill in the art and are presented here for convenience of the reader.
  • XML
  • XML stands for eXtensible Markup Language. It is not a language per se but rather a meta language for creating languages. XML provides structure to a document by using tags. XML is a markup language for creating other markup languages. XML was designed to be extensible and simple to implement and is based on SGML. A document that follows XML rules is said to be well-formed. A document can be invalid, but still be well-formed. A valid XML document conforms to a DTD or XML-Schema.
  • Since XML is text-based data type, it is a lightweight and small, making it an efficient transport protocol for dynamic and consumable content. XML allows the efficient exchange of data between applications making it useful for distributed applications. XML schemas are an agreed upon industry-wide initiative to share common application languages based upon XML. The Organization for the Advancement of Structured Information Standards sponsors the ww.xml.org site. The site hosts industry group schemas.
  • XSL
  • XSL stands for eXtensible Style sheet Language. It is a language for expressing stylesheets and provides display semantics for XML. SXL maps XML elements into HTML or any other formatting language. It is similar in functionality to Cascading Style Sheets (CSS).
  • XML-Schema
  • XML-Schema, a current proposal, is a replacement for DTD. DTD, Document Type Declaration, was designed for legacy text and is not XML compliant. DTD does not support data type validation and supports only one document. A Schema working Group was established to propose the standard to the W3C (see http://www.w3.org/1999/05/06-xmlschema-1/). Schemas support XML syntax and data typing. It is an open content model that supports inheritance, constraints and namespaces. Namespaces are a way to share data between organizations and are a way to avoid element definition collision.
  • Schemas are built in XML and can be used via DOM in Visual Basic or VBScript in ASP. Schemas provide datatypes such as float, currencies as well as relationships between elements. Schemas are extensible and allow for user defined data types.
  • Soap
  • SOAP stands for Simple Object Access Protocol (sometimes seen as XOAP). SOAP is an XML-based programming interface that is machine and language independent. It will travel through firewalls. It is extensible and loosely coupled. SOAP uses XML for remote invocation of object methods and can interact with COM, CORBA or EJB. SOAP's goals are to create a standard object invocation protocol built on Internet standards, XML and HTTP that is extensible with an evolving payload format.
  • Dublin Core Metadata Initiative
  • A recognized external standards initiative built around Library sciences, the Dublin Core specifies the following fifteen (15) tags for building card catalogs and meta data. These tags could form the basis for classifying and tagging:
  • Title, Creator, Subject, Description, Publisher, Contributor, Date, Type,
  • Format, Identifier, Source, Language, Relation, Coverage, Rights.
  • Details of the Dublin Core can be found at the following web address:
      • http://purl.org/dc/documents/rec-dces-19990702.htm
        The Dublin Core tags are defined as briefly follows:
      • Element: Title
      • Name: Title
      • Identifier: Title
      • Definition: A name given to the resource.
      • Comment: Typically, a Title will be a name by which the resource is formally known.
      • Element: Creator
      • Name: Creator
      • Identifier: Creator
      • Definition: An entity primarily responsible for making the content of the resource.
      • Comment: Examples of a Creator include a person, an organization, or a service.
        • Typically, the name of a Creator should be used to indicate the entity.
      • Element: Subject
      • Name: Subject and Keywords
      • Identifier: Subject
      • Definition: The topic of the content of the resource.
      • Comment: Typically, a Subject will be expressed as keywords, key phrases or classification codes that describe a topic of the resource.
        • Recommended best practice is to select a value from a controlled vocabulary or formal classification scheme.
      • Element: Description
      • Name: Description
      • Identifier: Description
      • Definition: An account of the content of the resource.
      • Comment: Description may include but is not limited to: an abstract, table of contents, reference to a graphical representation of content or a free-text account of the content.
      • Element: Publisher
      • Name: Publisher
      • Identifier: Publisher
      • Definition: An entity responsible for making the resource available
      • Comment: Examples of a Publisher include a person, an organization, or a service.
        • Typically, the name of a Publisher should be used to indicate the entity.
      • Element: Contributor
      • Name: Contributor
      • Identifier: Contributor
      • Definition: An entity responsible for making contributions to the content of the resource.
      • Comment: Examples of a Contributor include a person, an organization, or a service.
        • Typically, the name of a Contributor should be used to indicate the entity.
      • Element: Date
      • Name: Date
      • Identifier: Date
      • Definition: A date associated with an event in the life cycle of the resource.
      • Comment: Typically, Date will be associated with the creation or availability of the resource. Recommended best practice for encoding the date value is defined in a profile of ISO 8601 and follows the YYYY-MM-DD format.
      • Element: Type
      • Name: Resource Type
      • Identifier: Type
      • Definition: The nature or genre of the content of the resource.
      • Comment: Type includes terms describing general categories, functions, genres, or aggregation levels for content.
  • Recommended best practice is to select a value from a controlled vocabulary (for example, the working draft list of Dublin Core Types).
        • To describe the physical or digital manifestation of the resource, use the FORMAT element.
      • Element: Format
      • Name: Format
      • Identifier: Format
      • Definition: The physical or digital manifestation of the resource.
      • Comment: Typically, Format may include the media-type or dimensions of the resource. Format may be used to determine the software, hardware or other equipment needed to display or operate the resource. Examples of dimensions include size and duration.
        • Recommended best practice is to select a value from a controlled vocabulary (for example, the list of Internet Media Types defining computer media formats).
      • Element: Identifier
      • Name: Resource Identifier
      • Identifier: Identifier
      • Definition: An unambiguous reference to the resource within a given context.
      • Comment: Recommended best practice is to identify the resource by means of a string or number conforming to a formal identification system.
        • Example formal identification systems include the Uniform Resource Identifier (URI) (including the Uniform Resource Locator (URL)), the Digital Object Identifier (DOI) and the International Standard Book Number (ISBN).
      • Element: Source
      • Name: Source
      • Identifier: Source
      • Definition: A Reference to a resource from which the present resource is derived.
      • Comment: The present resource may be derived from the Source resource in whole or in part.
        • Recommended best practice is to reference the resource by means of a string or number conforming to a formal identification system.
      • Element: Language
      • Name: Language
      • Identifier: Language
      • Definition: A language of the intellectual content of the resource.
      • Comment: Recommended best practice for the values of the Language element is defined by RFC 1766 which includes a two-letter Language Code (taken from the ISO 639 standard), followed optionally, by a two-letter Country Code (taken from the ISO 3166 standard).
        • For example, ‘en’ for English, ‘fr’ for French, or ‘en-uk’ for English used in the United Kingdom.
      • Element: Relation
      • Name: Relation
      • Identifier: Relation
      • Definition: A reference to a related resource.
      • Comment: Recommended best practice is to reference the resource by means of a string or number conforming to a formal identification system.
      • Element: Coverage
      • Name: Coverage
      • Identifier: Coverage
      • Definition: The extent or scope of the content of the resource.
      • Comment: Coverage will typically include spatial location (a place name or geographic coordinates), temporal period (a period label, date, or date range) or jurisdiction (such as a named administrative entity).
        • Recommended best practice is to select a value from a controlled vocabulary (for example, the Thesaurus of Geographic Names [TGN]) and that, where appropriate, named places or time periods be used in preference to numeric identifiers such as sets of coordinates or date ranges.
      • Element: Rights
      • Name: Rights Management
      • Identifier: Rights
      • Definition: Information about rights held in and over the resource.
      • Comment: Typically, a Rights element will contain a rights management statement for the resource, or reference a service providing such information. Rights information often encompasses Intellectual Property Rights (IPR), Copyright, and various Property Rights.
        • If the Rights element is absent, no assumptions can be made about the status of these and other rights with respect to the resource.
  • FIG. 1 illustrates an overview of the architecture of CMS 10 in accordance with an aspect of the system. CMS 10 provides an application program interface (API) 10 a whereby a user uses a CMS Tool UI 14 on a client computer 20 b to interface with CMS 10. The user may have an application that keep operates on content in Application DB 13. The user may use a web based interface 16 to access content maintained by CMS 10. Build process 18 generates content from CMS 10 to generate a document, web page, etc. for storage in Application DB 13. The build process then outputs web pages 11, etc. Stored procedures 17 store and retrieve content in Relational DB Management System 12 a which manages the structured of the content in accordance with aspects of the invention. NTFS 15 stores various portions of content accessible to the CMS 10.
  • Illustrative Computer Network Environment
  • FIG. 2 illustrates how the system of FIG. 1 may be configured to communicate in a network environment. Here computers 20 a-20 c and 21 a-21 b may host various databases such as databases used in CMS 10 and Application DB 13 in accordance with aspects of the present invention. Although the physical environment shows the connected devices as computers, such illustration is merely exemplary and may comprise various digital devices such as PDAs, network appliances, notebook computers, etc.
  • There are a variety of systems, components, and network configurations that support distributed computing environments. For example, computing systems may be connected together by wireline or wireless systems, by local networks or widely distributed networks. Currently, many of the networks are coupled to the Internet which provides the infrastructure for widely distributed computing and encompasses many different networks.
  • The Internet commonly refers to the collection of networks and gateways that utilize the TCP/IP suite of protocols, which are well-known in the art of computer networking. TCP/IP is an acronym for “Transport Control Protocol/Interface Program.” The Internet can be described as a system of geographically distributed remote computer networks interconnected by computers executing networking protocols that allow users to interact and share information over the networks. Because of such wide-spread information sharing, remote networks such as the Internet have thus far generally evolved into an “open” system for which developers can design software applications for performing specialized operations or services, essentially without restriction.
  • The network infrastructure enables a host of network topologies such as client/server, peer-to-peer, or hybrid architectures. The “client” is a member of a class or group that uses the services of another class or group to which it is not related. Thus, in computing, a client is a process (i.e., roughly a set of instructions or tasks) that requests a service provided by another program. The client process utilizes the requested service without having to “know” any working details about the other program or the service itself. In a client/server architecture, particularly a networked system, a client is usually a computer that accesses shared network resources provided by another computer (i.e., a server). In the example of FIG. 2, computers 20 a-20 c can be thought of as clients and computers 21 a, 21 b can be thought of as servers where server 21 a maintains the data that is then exported for use by the client computer 20.
  • A server is typically a remote computer system accessible over a remote network such as the Internet. The client process may be active in a first computer system, and the server process may be active in a second computer system, communicating with one another over a communications medium, thus providing distributed functionality and allowing multiple clients to take advantage of the information-gathering capabilities of the server.
  • Client and server communicate with one another utilizing the functionality provided by a protocol layer. For example, Hypertext-Transfer Protocol (HTTP) is a common protocol that is used in conjunction with the World Wide Web (WWW) or, simply, the “Web.”, Typically, a computer network address such as a Universal Resource Locator (URL) or an Internet Protocol (IP) address is used to identify the server or client computers to each other. The network address can be referred to as a Universal Resource Locator address. For example, communication can be provided over a communications medium. In particular, the client and server may be coupled to one another via TCP/IP connections for high-capacity communication.
  • In general, the computer network may comprise both server devices and client devices deployed in a network environment (in a peer-to-peer environment devices may be both clients and servers). FIG. 2 illustrates an exemplary network environment, with server computers in communication with client computers via a network, in which the present invention may be employed. As shown in FIG. 2, a number of servers 21 a, 21 b, etc., are interconnected via a communications network 160 (which may be a LAN, WAN, intranet or the Internet, or a combination of any of these) with a number of client computers 20 a, 20 b, 20 c, etc. Moreover, communication network 160 may comprise wireless, wireline, or combination wireless and wireline connections.
  • Thus, the present invention can be utilized in a computer network environment having client computers for accessing and interacting with the network and a server computer for interacting with client computers. However, the systems and methods of the present invention can be implemented with a variety of network-based architectures, and thus should not be limited to the example shown. The present invention will now be described in more detail with reference to an illustrative implementation.
  • FIG. 3 illustrates how the content management system applies content units to build various web pages. Web page 30 comprises a variety of content units that may be reassembled from CMS 10 in a variety of ways to create web pages for different applications. Web page 30, for example, comprises a table of contents 302, subtitles and abstracts 304, news titles 306, and graphics 308.
  • Data Model
  • Content normally is expressed mathematically following Named Edge Graph Theory (e.g., title, chapter, paragraph, and so on). Graph Theory is used to express XML and has corollaries to directory structures and content objects—the directory tree for storing content in computers. Graph Theory is much more extensible, allowing more than hierarchical relationships called polyhierarchy, but the allegory is easily grasped.
  • Relational databases such as SQL is based on Set Theory (Unions, Intersections, etc.). SQL is a great scalable storage and retrieval mechanism for set based information. Graph Theory can be expressed in Set Theory by modeling Graph Theory nodes as collections and elements and Graph Theory edges as relationships (relations between collections, relations between elements and relations between collections and elements). The edges (relationships) between nodes (collections and elements) are named. Thus we have named relationships between elements and elements (such as synonym), collections with collections (related vocabularies), and collections and elements (is member). This is also known as a labeled-edge graph.
  • In accordance with an aspect of the invention, a distinction is made between leaf nodes containing content and collections containing only structure. CMS 10 is implemented with separate entities for content containing elements and structure collections. This is done primary for performance. Preferably, the edge relationships are named but not enumerated.
  • FIG. 4 Illustrates how the present invention converts a graph structure library, book, or document, e.g., represented by table of contents 45, into relational tables, e.g., 41, 42. The table of contents 45 can be represented by graph 48. Graph 48 is represented by a collection of nodes, e.g., 48 a, 48 b, etc. The nodes, e.g., 48 a, 48 b correspond to content and structure in from the structured table of contents 45. Here, root node 45 corresponds to MSDN Library in table of contents 45. Other titles in the table of contents 45 will also be represented by nodes in graph 48. The relationship of titles in the table of contents 45 can be represented by edges in graph 48, e.g., edges 47 a, 47 b.
  • Simple Content Subject Graph
  • FIG. 5A presents a simple subject graph 502 that further illustrates aspects of the invention. Rendered in XML this Simple Subject graph is:
    <productoverview>
        <title>
    The Windows 2000 Implementation Strategy for the United Kingdom
      </title>
      <author>
      John Smith
      </author>
      <product>
      Windows 2000
      </product>
    </productoverview>
  • Well formed XML has matching markups and follows the rules of XML creation. A valid XML has an XML-Schema (XSD) and conforms to that XML-Schema (XSD). The XML-Schema for the example is:
    <?xml version=“1.0” ?>
    <Schema name=“productoverview”
           xmlns=“urn:schemas-microsoft-com:xml-data”
                xmlns:dt=“urn:schemas-microsoft-
    com:datatypes”>
     <!-- ... -->
      <ElementType name= “productoverview” content=“eltOnly”>
      <element type=“title”/>
      <element type= “author”/>
      <element type= “product”/>
    </ElementType>
      <ElementType name= “title” content=‘textOnly’ order=“one”/>
      <ElementType name= “author” content=‘textOnly’
    order=“one”/>
      <ElementType name= “product” content=‘textOnly’
    order=“one”/>
  • XML attributes of an XML element can be expressed as either XML elements or XML attributes of the elements. The decision on which to use is made on the concept of future node use. It is easier to break down elements into future element structures than it is to change XML element attributes into XML elements. If no further breakdown is anticipated then attribution is acceptable. XML element definition can be used exclusively and is potentially more flexible in the future.
  • Expressing the XML graph in a relational data model maps the XML attributes as data model attributes (or sometimes called properties—physically modeled as the columns in the SQL table) of the data model entities (set theory).
  • CMS 10 is preferably implemented with a distinction between leaf nodes containing information and structure nodes (collections).
  • Container/Leaf Structure
      • The container/leaf structure and the actual chunking structure (separate data files) are parallel but orthogonal.
      • All chunks are containers or leafs, but not all containers or leafs are chunks (chunks contain sub-trees possibly).
      • Chunks are checked-in/out and versioned, nodes are shared and referenced by version.
      • Each chunk must be branch-versioned or at least linearly versioned.
      • Each container can contain:
      • Children who are distinct chunks (i.e., they are separate files):
      • As un-sequenced, un-positioned sibling chunks (like a file system or VSS does, where everyone seems like an equal-level child).
      • As sequenced, un-positioned sibling chunks (order is indicated and preserved presumably by the CMS internal per-container children list).
      • Children who are not distinct chunks (i.e., they are part of the same chunk as the parent container node).
      • As sequenced, positioned sibling nodes (order and position is indicated and preserved within the container's content).
      • Node-to-node referential integrity and counts are preferably tracked and maintained by CMS 10.
      • Chunks of structured elements (say, XML files) may only expose particular container or leaf elements as addressable for CMS purposes.
      • Any CMS-aware node (whether it begins a chunk or is itself inside of a chunk) have a CMS-aware ID unique in the namespace of its container node.
      • The children of a container have unique IDs relative to the container's namespace.
      • Uniquely addressing a node and desired version from an ancestor scope can always be expressed (preferably by using all the ancestor IDs in some way).
  • As illustrated in FIG. 5B, content 504 is attributed with various terms to indicate content subject 506. Content carries metadata and relationships as well as key values pairs 508 for attribution. As shown in the entity relationship diagram of FIG. 5C, the content or resource instance is attributed by converting the resource graph into set theory by placing the resource instance (DR_Content) 52 and attribute instance (DR_Attribute) 56 into SQL tables. The labeled edge becomes a many to many relationship table (DR_ContentAttribute) 54. The content associations can be extended to include tree structure that forms the basis of the Table of Contents (TOC). The structure or tree (root, node and leaf) is represented in CMS 10 as separate and distinct tables from the content entity. The tree structure begins with a root element and constructs labeled edge relationships with nodes. The end node or leaf is a relationship to content. Entities can be thought of as “files” and Structure can be thought of as “directories”. Structure can also occur within documents—with introductory paragraph, body paragraph etc. The structure node is typed with a “document” to note the leaf node of the TOC navigation structure and the “root” node of the document structure. This makes explicit the distinction between bounded “internal” structure and unbounded “external” structure.
  • Structure Entity Relationship Model
  • As shown in FIG. 5D, the tree structure graph nodes are represented as Nodes. The labeled edge forms a many to many relationship entity (DR_Branch) 51 and is labeled with a Branch Type 53. Note that the Node entity is used twice 50 a, 50 b, and thus collapses into a single entity used twice in the relationship (Branch) as shown in FIG. 5E. The Node entity is used for both nodes of the graph.
  • Content Ownership
  • Content also has a notion of ownership. The ownership of content can be represented in graph form as shown in FIG. 5F. For example, certain content in the directed graph 550 including TechNet 556, MSDN 554, and BDM 552 is owned by slevy 546, amyi 544, and tpetras 542. All of this is owned by RPU 532, which is in turn owned by kimsau 522.
  • Entity Relationship Model
  • The three graphs: Owner, Structure and Content have different properties. The owner entity does not carry the Dublin core properties. Structure and Content have different relationships and some properties not in common. Content carries a relationship to content data, format and status that structure does not. All three graphs can be represented by a single ER model as shown in FIG. 5G.0
  • Attributes (DR_Attributes) 56 are grouped in sets (DR_AttributeSet) 562 and sets are grouped in Attribute groups (DR_AttributeGroup) 564.
  • The content entity is extended by recognizing content versions. The actual content data is related to the content version. A content type is extended and relates to structure as well. A status is applied to version.
  • The Content Entity (DR_Content) 52 is related to an Owner (DR_Owner) 533 and the status (DR_ContentStatus).
  • Entity Model Glossary
  • The entities and relationships of the ER diagram of FIG. 5G is further described below:
  • Resource Instance Cluster
  • Resource: An resource is a unit of Knowledge Management, a content item. Download Overviews, KB Articles and Book Overviews all represent objects.
  • DR_Content 52
  • The instance of a content objects metadata.
  • A resource has a GUID or ID.
  • Resource Instance, two states: a resource URI—images, streaming media, etc., or a piece of ACCII text. As a metaphor consider that node makes up the card in a library card catalog, the content entity is like the ISBN of the book.
  • When content can be instantiated as text, the content is stored in the Content column. Otherwise, for binary, graphics, and unstructured content the content is stored in HTFS files and referenced by URI.
  • Resource Attribution Cluster
  • In bound attributes are exposed, unbound attributes are not exposed. Bound attributes are expressed in the form of:
      • <Key group=“VSIA” name=“devlang” value=“C#”/>
        DR_Attributes 56
  • The attribute entity is the subject associations of related content and node entities. It is a key value pair name space token. Key space is global such as source name. This would exclude things like ratings since they are not content. Attributes are vocabulary terms; the individual elements in a vocabulary. An individual word or phrase in a vocabulary can be related to other terms, i.e. WINDOWS 2000, SQL SERVER 2000, OFFICE 10, EXCHANGE 2000, Powerpoint 2000.
  • DR_AttributeSet 562
  • The vocabulary or set of attribute values comprise a collection of words or phrases in a list. These can be arranged and explained or defined as a hierarchy. A vocabulary may be controlled or not. A vocabulary represents the set of attribute values that make up an enumerated list.
  • DR_AttributeGroup 564
  • The group or “Owner” of vocabulary set. For example, VSIA, MSDN act as a domain boundary which allows multiple taxonomies to be used.
  • DR_ContentAttribute 54
  • The relationships between the Content Entity (Subject) and Attributes.
  • DR_NodeAttribute 512
  • The relationships between Node Entity (Structure) and attributes.
  • Resource Tree Structure Cluster
  • DR_Node 50
  • A structure graph node is used as the collection node and leaf node: like the file system, the directory, a collection. It is separated from the content entity for ease of use. Structure never has content. Different kinds of structure exist. A structure leaf is related to a Content Entity. A leaf node, as different from a collection or branch node which are Structural Entities.
  • DR_Branch 51
  • The parent child relationship between nodes forming a structure tree.
  • DR_BranchType 53
  • This entity represents the kind of structure, or hierarchy—like a tree presentation. It represents the label of the edge and indicated dependencies between nodes.
  • DR_NodeNode 505
  • This entity forms the relationship between nodes, and is not part of a structure tree. This allows branch to allow attribute inheritance. NodeNode relation allows attribution that is not inherited or bubbled up to the root.
  • DR_NodeContent 510
  • This entity represents the relationship between a node and content.
  • Resource Owner Cluster
  • DR_Owner 533
  • This entity represents the organization graph node of the organization tree. It is used as a collection or leaf node. It is used as the owner of content and structure trees.
  • DR_OwnerOwner 523
  • This entity represents the parent child relationship between owner nodes forming an organization tree.
  • FIG. 6 further illustrates the data model in accordance with the present invention by providing a database schema wherein content in the form of a graph structure in converted into and stored as a relational model wherein it can be accessed, searched and manipulated by a database management system.
  • With reference to FIG. 7, an exemplary system for implementing the invention includes a general purpose computing device in the form of a computer 110 that could form a portion of client computer 20 a-20 c or server computers 21 a, 21 b (see FIG. 1). Components of computer 110 may include, but are not limited to, a processing unit 120, a system memory 130, and a system bus 121 that couples various system components including the system memory to the processing unit 120. The system bus 121 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus (also known as Mezzanine bus).
  • Computer 110 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 110 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 110. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
  • The system memory 130 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 131 and random access memory (RAM) 132. A basic input/output system 133 (BIOS), containing the basic routines that help to transfer information between elements within computer 110, such as during start-up, is typically stored in ROM 131. RAM 132 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 120. By way of example, and not limitation, FIG. 7 illustrates operating system 134, application programs 135, other program modules 136, and program data 137.
  • Computer 110 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only, FIG. 7 illustrates a hard disk drive 141 that reads from or writes to non-removable, nonvolatile magnetic media, a magnetic disk drive 151 that reads from or writes to a removable, nonvolatile magnetic disk 152, and an optical disk drive 155 that reads from or writes to a removable, nonvolatile optical disk 156, such as a CD ROM or other optical media. Other removable/non-removable, volatile/nonvolatile computer storage media that can be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like. The hard disk drive 141 is typically connected to the system bus 121 through an non-removable memory interface such as interface 140, and magnetic disk drive 151 and optical disk drive 155 are typically connected to the system bus 121 by a removable memory interface, such as interface 150.
  • The drives and their associated computer storage media discussed above and illustrated in FIG. 7, provide storage of computer readable instructions, data structures, program modules and other data for the computer 110. In FIG. 7, for example, hard disk drive 141 is illustrated as storing operating system 144, application programs 145, other program modules 146, and program data 147. Note that these components can either be the same as or different from operating system 134, application programs 135, other program modules 136, and program data 137. Operating system 144, application programs 145, other program modules 146, and program data 147 are given different numbers here to illustrate that, at a minimum, they are different copies. A user may enter commands and information into the computer 110 through input devices such as a keyboard 162 and pointing device 161, commonly referred to as a mouse, trackball or touch pad. Other input devices may include a microphone 163, joystick, game pad, satellite dish, scanner, or the like (not shown). These and other input devices are often connected to the processing unit 120 through a user input interface 160 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A monitor 191 or other type of display device is also connected to the system bus 121 via an interface, such as a video interface 190. In addition to the monitor, computers may also include other peripheral output devices such as speakers 197 and printer 196, which may be connected through an output peripheral interface 195.
  • The computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180. The remote computer 180 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 110, although only a memory storage device 181 has been illustrated in FIG. 7. The logical connections depicted in FIG. 7 include a local area network (LAN) 171 and a wide area network (WAN) 173, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
  • When used in a LAN networking environment, the computer 110 is connected to the LAN 171 through a network interface or adapter 170. When used in a WAN networking environment, the computer 110 typically includes a modem 172 or other means for establishing communications over the WAN 173, such as the Internet. The modem 172, which may be internal or external, may be connected to the system bus 121 via the user input interface 160, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 110, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation, FIG. 7 illustrates remote application programs 185 as residing on memory device 181. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
  • The various techniques described herein may be implemented with hardware or software or, where appropriate, with a combination of both. Thus, the methods and apparatus of the present invention, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. In the case of program code execution on programmable computers, the computer will generally include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. One or more programs are preferably implemented in a high level procedural or object oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language, and combined with hardware implementations.
  • The methods and apparatus of the present invention may also be embodied in the form of program code that is transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via any other form of transmission, wherein, when the program code is received and loaded into and executed by a machine, such as an EPROM, a gate array, a programmable logic device (PLD), a client computer, a video recorder or the like, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code combines with the processor to provide a unique apparatus that operates to perform the indexing functionality of the present invention.
  • While the present invention has been described in connection with the preferred embodiments of the various figures, it is to be understood that other similar embodiments may be used or modifications and additions may be made to the described embodiment for performing the same function of the present invention without deviating there from. Therefore, the present invention should not be limited to any single embodiment, but rather construed in breadth and scope in accordance with the appended claims.

Claims (20)

1. A method in a content management system for representing in a relational format content units arranged in a hierarchical order, comprising:
providing a first table comprising a column indicative of nodes corresponding to the structure of the hierarchical order;
providing a second table comprising a column indicative of edges corresponding to the arrangement of the structure of the hierarchical order;
relating the first table to the second table such that the structure of the hierarchical content can be derived therefrom; and
storing the content units and storing information indicative of the location of the storage of the content units.
2. The method as recited in claim 1 further comprising another table comprising columns indicative of leaf nodes in the hierarchical structure and columns for storing information indicative of the storage location of the content units.
3. The method as recited in claim 2 wherein the columns indicative of content point to files store in a file system.
4. The method as recited in claim 1 further comprising a table indicative of ownership of content units.
5. The method as recited in claim 1 wherein the content units comprise at least one of text or graphics.
6. The method as recited in claim 1 wherein the hierarchical order corresponds to internal divisions of a document.
7. The method as recited in claim 6 wherein the internal document divisions comprise chapter headings of the document.
8. A computer readable medium bearing computer-readable instructions for representing in a relational format content units arranged in a hierarchical order in a content management system, comprising:
computer-readable instructions for providing a first table comprising a column indicative of nodes corresponding to the structure of the hierarchical order;
computer-readable instructions for providing a second table comprising a column indicative of edges corresponding to the arrangement of the structure of the hierarchical order;
computer-readable instructions for relating the first table to the second table such that the structure of the hierarchical content can be derived therefrom; and
computer-readable instructions for storing the content units and storing information indicative of the location of the storage of the content units.
9. The computer-readable medium as recited in claim 8 further comprising computer readable instructions for accessing another table comprising columns indicative of leaf nodes in the hierarchical structure and columns for storing information indicative of the storage location of the content units.
10. The computer-readable medium as recited in claim 9 wherein the columns indicative of content point to files store in a file system.
11. The computer-readable medium as recited in claim 8 further comprising computer readable instructions for accessing a table indicative of ownership of content units.
12. The computer-readable medium as recited in claim 8 wherein the content units comprise at least one of text or graphics.
13. The computer-readable medium as recited in claim 8 wherein the hierarchical order corresponds to internal divisions of a document.
14. The computer-readable medium as recited in claim 13 wherein the internal document divisions comprise chapter headings of the document.
15. A system for representing in a relational format content units arranged in a hierarchical order in a content management system, comprising:
at least one processor;
a memory coupled to said processor having processor executable instructions for providing a first table comprising a column indicative of nodes corresponding to the structure of the hierarchical order;
a memory coupled to said processor having processor executable instructions for providing a second table comprising a column indicative of edges corresponding to the arrangement of the structure of the hierarchical order;
a memory coupled to said processor having processor executable instructions for relating the first table to the second table such that the structure of the hierarchical content can be derived therefrom; and
a memory coupled to said processor having processor executable instructions for storing the content units and storing information indicative of the location of the storage of the content units.
16. The system as recited in claim 15 further comprising a memory coupled to said processor having processor executable instructions for accessing another table comprising columns indicative of leaf nodes in the hierarchical structure and columns for storing information indicative of the storage location of the content units.
17. The system as recited in claim 16 wherein the columns indicative of content point to files store in a file system.
18. The system as recited in claim 15 further comprising a memory coupled to said processor having processor executable instructions for accessing a table indicative of ownership of content units.
19. The system as recited in claim 18 wherein the content units comprise at least one of text or graphics.
20. The system as recited in claim 15 wherein the hierarchical order corresponds to internal divisions of a document.
US11/038,677 2002-04-12 2005-01-18 System and method for XML based content management Abandoned US20050125431A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/038,677 US20050125431A1 (en) 2002-04-12 2005-01-18 System and method for XML based content management

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/121,767 US6910040B2 (en) 2002-04-12 2002-04-12 System and method for XML based content management
US11/038,677 US20050125431A1 (en) 2002-04-12 2005-01-18 System and method for XML based content management

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/121,767 Continuation US6910040B2 (en) 2002-04-12 2002-04-12 System and method for XML based content management

Publications (1)

Publication Number Publication Date
US20050125431A1 true US20050125431A1 (en) 2005-06-09

Family

ID=28790400

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/121,767 Expired - Lifetime US6910040B2 (en) 2002-04-12 2002-04-12 System and method for XML based content management
US11/038,677 Abandoned US20050125431A1 (en) 2002-04-12 2005-01-18 System and method for XML based content management

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/121,767 Expired - Lifetime US6910040B2 (en) 2002-04-12 2002-04-12 System and method for XML based content management

Country Status (1)

Country Link
US (2) US6910040B2 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070027897A1 (en) * 2005-07-28 2007-02-01 Bremer John F Selectively structuring a table of contents for accesing a database
US20070043686A1 (en) * 2005-08-22 2007-02-22 International Business Machines Corporation Xml sub-document versioning method in xml databases using record storages
US20070043751A1 (en) * 2005-08-22 2007-02-22 International Business Machines Corporation Scalable storage schemes for native XML column data of relational tables
US20070043743A1 (en) * 2005-08-22 2007-02-22 Chen Yao-Ching S Packing nodes into records to store XML XQuery data model and other hierarchically structured data
WO2007070743A2 (en) * 2005-12-12 2007-06-21 Sbc Knowledge Ventures, L.P. Method for constructing and repurposing rhetorical content
US20080133553A1 (en) * 2006-12-04 2008-06-05 Microsoft Corporation Building, viewing, and manipulating schema sets
US7725416B2 (en) 2006-12-13 2010-05-25 Novell, Inc. Method for rule locating, ordering and combining in a polyhierarichical environment
US7937413B2 (en) 2004-05-04 2011-05-03 International Business Machines Corporation Self-adaptive prefix encoding for stable node identifiers
US20140201331A1 (en) * 2011-05-24 2014-07-17 Corethree Limited Platform for the delivery of content and services to networked connected computing devices
US20140304388A1 (en) * 2003-10-08 2014-10-09 Open Text SA Site and channel management to achieve content repurposing
US9516073B2 (en) 2001-11-20 2016-12-06 Open Text Sa Ulc System, method and computer program product for asset sharing among hierarchically interconnected objects
US20170109914A1 (en) * 2014-10-20 2017-04-20 Bernardo Jose Martinez-Avalos Methods and Computer Programs to Create Images and Information Based in Texts
US20180181549A1 (en) * 2016-12-28 2018-06-28 Dropbox, Inc. Automatically formatting content items for presentation
US11263221B2 (en) * 2013-05-29 2022-03-01 Microsoft Technology Licensing, Llc Search result contexts for application launch
US11526520B2 (en) 2013-05-29 2022-12-13 Microsoft Technology Licensing, Llc Context-based actions from a source application

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8600783B2 (en) 2000-08-18 2013-12-03 The Crawford Group, Inc. Business to business computer system for communicating and processing rental car reservations using web services
US20040003349A1 (en) * 2002-06-28 2004-01-01 Microsoft Corporation Content segments
US7188340B2 (en) * 2002-06-28 2007-03-06 Microsoft Corporation Hybrid tree for mixed user interface elements and sequential data
KR100558765B1 (en) * 2002-11-14 2006-03-10 한국과학기술원 Method for executing xml query using adaptive path index
US7337401B2 (en) * 2002-12-18 2008-02-26 Microsoft Corporation User interface element representation with simplified view
US7415484B1 (en) 2003-05-09 2008-08-19 Vignette Corporation Method and system for modeling of system content for businesses
US7941453B1 (en) * 2003-05-09 2011-05-10 Vignette Software Llc Method and system for deployment of content using proxy objects
US7464385B1 (en) * 2003-05-09 2008-12-09 Vignette Corporation Method and system for performing bulk operations on transactional items
US7676486B1 (en) 2003-05-23 2010-03-09 Vignette Software Llc Method and system for migration of legacy data into a content management system
FR2860084A1 (en) * 2003-09-22 2005-03-25 Joseph Michel Koskas Method for organising a database
US20050171760A1 (en) * 2003-10-08 2005-08-04 Marc Tinkler Visual thesaurus
US7676793B2 (en) * 2003-12-08 2010-03-09 Honeywell International Inc. Determination of dependent objects by a source control system and a method to automatically include those objects with the parent object when changes are enabled
US8037102B2 (en) 2004-02-09 2011-10-11 Robert T. and Virginia T. Jenkins Manipulating sets of hierarchical data
US20050201726A1 (en) * 2004-03-15 2005-09-15 Kaleidescape Remote playback of ingested media content
US9646107B2 (en) 2004-05-28 2017-05-09 Robert T. and Virginia T. Jenkins as Trustee of the Jenkins Family Trust Method and/or system for simplifying tree expressions such as for query reduction
US7860838B2 (en) * 2004-06-04 2010-12-28 Hewlett-Packard Development Company, L.P. Dynamic hierarchical data structure tree building and state propagation using common information model
US7620632B2 (en) 2004-06-30 2009-11-17 Skyler Technology, Inc. Method and/or system for performing tree matching
US7882147B2 (en) * 2004-06-30 2011-02-01 Robert T. and Virginia T. Jenkins File location naming hierarchy
US7627591B2 (en) 2004-10-29 2009-12-01 Skyler Technology, Inc. Method and/or system for manipulating tree expressions
US7801923B2 (en) 2004-10-29 2010-09-21 Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust Method and/or system for tagging trees
US7630995B2 (en) * 2004-11-30 2009-12-08 Skyler Technology, Inc. Method and/or system for transmitting and/or receiving data
US7636727B2 (en) 2004-12-06 2009-12-22 Skyler Technology, Inc. Enumeration of trees from finite number of nodes
US8056012B2 (en) * 2004-12-15 2011-11-08 International Business Machines Corporation Content aware workflow builder and workflow engine
US20060136434A1 (en) * 2004-12-21 2006-06-22 Campbell Susan L System and method for managing objects in a server namespace
US8316059B1 (en) 2004-12-30 2012-11-20 Robert T. and Virginia T. Jenkins Enumeration of rooted partial subtrees
GB2422451A (en) * 2005-01-21 2006-07-26 Hewlett Packard Development Co Using the discardable path element of contexts as context identifiers
GB2422452A (en) * 2005-01-21 2006-07-26 Hewlett Packard Development Co Having multiple contexts in a machine readable document
US8615530B1 (en) 2005-01-31 2013-12-24 Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust Method and/or system for tree transformation
US7444345B2 (en) * 2005-02-15 2008-10-28 International Business Machines Corporation Hierarchical inherited XML DOM
US7681177B2 (en) 2005-02-28 2010-03-16 Skyler Technology, Inc. Method and/or system for transforming between trees and strings
US8356040B2 (en) 2005-03-31 2013-01-15 Robert T. and Virginia T. Jenkins Method and/or system for transforming between trees and arrays
US7899821B1 (en) 2005-04-29 2011-03-01 Karl Schiffmann Manipulation and/or analysis of hierarchical data
US7454435B2 (en) * 2005-05-03 2008-11-18 Microsoft Corporation Systems and methods for granular changes within a data storage system
US7617190B2 (en) * 2005-11-29 2009-11-10 Microsoft Corporation Data feeds for management systems
US7912933B2 (en) * 2005-11-29 2011-03-22 Microsoft Corporation Tags for management systems
US20070143673A1 (en) * 2005-12-20 2007-06-21 Microsoft Corporation Extensible architecture for chart styles and layouts
US7865820B2 (en) * 2006-08-29 2011-01-04 Sap Ag Generating a business document model
CA2664941C (en) * 2006-10-06 2017-09-12 The Crawford Group, Inc. Method and system for communicating vehicle repair information to a business-to-business rental vehicle reservation management computer system
US7747610B2 (en) * 2006-11-10 2010-06-29 Sybase, Inc. Database system and methodology for processing path based queries
US8160906B2 (en) 2006-12-12 2012-04-17 The Crawford Group, Inc. System and method for improved rental vehicle reservation management
US7552127B2 (en) * 2006-12-19 2009-06-23 International Business Machines Corporation System and method for providing platform-independent content services for users for content from content applications leveraging Atom, XLink, XML Query content management systems
US7774301B2 (en) * 2006-12-21 2010-08-10 International Business Machines Corporation Use of federation services and transformation services to perform extract, transform, and load (ETL) of unstructured information and associated metadata
US7904809B2 (en) * 2007-06-29 2011-03-08 Microsoft Corporation Model-based editors for dynamic validation
CA2695131A1 (en) 2007-07-25 2009-01-29 The Crawford Group, Inc. System and method for allocating replacement vehicle rental costs using a virtual bank of repair facility credits
US8195635B1 (en) * 2007-12-06 2012-06-05 Sprint Communications Company L.P. Indicating related but absent media content
US20090187581A1 (en) * 2008-01-22 2009-07-23 Vincent Delisle Consolidation and association of structured and unstructured data on a computer file system
US8307277B2 (en) * 2010-09-10 2012-11-06 Facebook, Inc. Efficient event delegation in browser scripts
US8707187B2 (en) 2010-09-16 2014-04-22 Siemens Products Product Lifecycle Management Software Inc. Concurrent document markup
US8527556B2 (en) * 2010-09-27 2013-09-03 Business Objects Software Limited Systems and methods to update a content store associated with a search index
US8577823B1 (en) * 2011-06-01 2013-11-05 Omar M. A. Gadir Taxonomy system for enterprise data management and analysis
US8468449B1 (en) * 2011-12-08 2013-06-18 Microsoft Corporation Generating CSS shorthand properties
US9507875B2 (en) * 2012-02-09 2016-11-29 Fujitsu Limited Symbolic hyper-graph database
US8781815B1 (en) 2013-12-05 2014-07-15 Seal Software Ltd. Non-standard and standard clause detection
US20150178867A1 (en) * 2013-12-24 2015-06-25 Seal Software Ltd. Linked Addendum Detection
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US9805025B2 (en) 2015-07-13 2017-10-31 Seal Software Limited Standard exact clause detection
US10339179B2 (en) 2016-04-11 2019-07-02 Oracle International Corporation Graph processing system that can define a graph view from multiple relational database tables
US10567384B2 (en) * 2017-08-25 2020-02-18 Hewlett Packard Enterprise Development Lp Verifying whether connectivity in a composed policy graph reflects a corresponding policy in input policy graphs
US11120082B2 (en) 2018-04-18 2021-09-14 Oracle International Corporation Efficient, in-memory, relational representation for heterogeneous graphs
US11093459B2 (en) 2020-01-21 2021-08-17 Oracle International Corporation Parallel and efficient technique for building and maintaining a main memory, CSR-based graph index in an RDBMS
US11567932B2 (en) 2020-10-26 2023-01-31 Oracle International Corporation Efficient compilation of graph queries on top of SQL based relational engine
US11507579B2 (en) 2020-10-26 2022-11-22 Oracle International Corporation Efficient compilation of graph queries involving long graph query patterns on top of SQL based relational engine

Citations (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493504A (en) * 1992-10-28 1996-02-20 Nippon Telegraph And Telephone Corporation System and method for processing logic function and fault diagnosis using binary tree representation
US5664177A (en) * 1988-04-13 1997-09-02 Digital Equipment Corporation Data processing system having a data structure with a single, simple primitive
US5812995A (en) * 1993-10-14 1998-09-22 Matsushita Electric Industrial Co., Ltd. Electronic document filing system for registering and retrieving a plurality of documents
US5838965A (en) * 1994-11-10 1998-11-17 Cadis, Inc. Object oriented database management system
US6141655A (en) * 1997-09-23 2000-10-31 At&T Corp Method and apparatus for optimizing and structuring data by designing a cube forest data structure for hierarchically split cube forest template
US6192371B1 (en) * 1999-04-28 2001-02-20 Lucent Technologies, Inc Object morphing in an object oriented computing environment using relational database query procedure
US20020091677A1 (en) * 2000-03-20 2002-07-11 Sridhar Mandayam Andampikai Content dereferencing in website development
US6421656B1 (en) * 1998-10-08 2002-07-16 International Business Machines Corporation Method and apparatus for creating structure indexes for a data base extender
US20020116371A1 (en) * 1999-12-06 2002-08-22 David Dodds System and method for the storage, indexing and retrieval of XML documents using relation databases
US6449620B1 (en) * 2000-03-02 2002-09-10 Nimble Technology, Inc. Method and apparatus for generating information pages using semi-structured data stored in a structured manner
US20020133516A1 (en) * 2000-12-22 2002-09-19 International Business Machines Corporation Method and apparatus for end-to-end content publishing system using XML with an object dependency graph
US20030088715A1 (en) * 2001-10-19 2003-05-08 Microsoft Corporation System for keyword based searching over relational databases
US6581062B1 (en) * 2000-03-02 2003-06-17 Nimble Technology, Inc. Method and apparatus for storing semi-structured data in a structured manner
US6636845B2 (en) * 1999-12-02 2003-10-21 International Business Machines Corporation Generating one or more XML documents from a single SQL query
US20030221162A1 (en) * 2000-03-20 2003-11-27 Sridhar Mandayam Andampillai Meta-templates in website development and methods therefor
US6684222B1 (en) * 2000-11-09 2004-01-27 Accenture Llp Method and system for translating data associated with a relational database
US6704736B1 (en) * 2000-06-28 2004-03-09 Microsoft Corporation Method and apparatus for information transformation and exchange in a relational database environment
US6792414B2 (en) * 2001-10-19 2004-09-14 Microsoft Corporation Generalized keyword matching for keyword based searching over relational databases
US6801229B1 (en) * 2001-04-06 2004-10-05 Plumbdesign System for creation of visual representation of data
US6853997B2 (en) * 2000-06-29 2005-02-08 Infoglide Corporation System and method for sharing, mapping, transforming data between relational and hierarchical databases
US6871204B2 (en) * 2000-09-07 2005-03-22 Oracle International Corporation Apparatus and method for mapping relational data and metadata to XML
US6904432B2 (en) * 2001-11-30 2005-06-07 Intelligent Medical Objects, Inc. Adaptive data manager
US6925470B1 (en) * 2002-01-25 2005-08-02 Amphire Solutions, Inc. Method and apparatus for database mapping of XML objects into a relational database
US6976212B2 (en) * 2001-09-10 2005-12-13 Xerox Corporation Method and apparatus for the construction and use of table-like visualizations of hierarchic material
US7016910B2 (en) * 1999-12-30 2006-03-21 Decode Genetics Ehf. Indexing, rewriting and efficient querying of relations referencing semistructured data
US7047253B1 (en) * 2001-09-28 2006-05-16 Oracle Interntional Corporation Mechanisms for storing content and properties of hierarchically organized resources
US7072896B2 (en) * 2000-02-16 2006-07-04 Verizon Laboratories Inc. System and method for automatic loading of an XML document defined by a document-type definition into a relational database including the generation of a relational schema therefor
US7124144B2 (en) * 2000-03-02 2006-10-17 Actuate Corporation Method and apparatus for storing semi-structured data in a structured manner
US7171400B2 (en) * 2001-10-04 2007-01-30 Sun Microsystems, Inc. Inheritance and relationship to directory information in an e-commerce application
US7287216B1 (en) * 2000-05-31 2007-10-23 Oracle International Corp. Dynamic XML processing system

Patent Citations (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664177A (en) * 1988-04-13 1997-09-02 Digital Equipment Corporation Data processing system having a data structure with a single, simple primitive
US5493504A (en) * 1992-10-28 1996-02-20 Nippon Telegraph And Telephone Corporation System and method for processing logic function and fault diagnosis using binary tree representation
US5812995A (en) * 1993-10-14 1998-09-22 Matsushita Electric Industrial Co., Ltd. Electronic document filing system for registering and retrieving a plurality of documents
US5838965A (en) * 1994-11-10 1998-11-17 Cadis, Inc. Object oriented database management system
US6141655A (en) * 1997-09-23 2000-10-31 At&T Corp Method and apparatus for optimizing and structuring data by designing a cube forest data structure for hierarchically split cube forest template
US6421656B1 (en) * 1998-10-08 2002-07-16 International Business Machines Corporation Method and apparatus for creating structure indexes for a data base extender
US6192371B1 (en) * 1999-04-28 2001-02-20 Lucent Technologies, Inc Object morphing in an object oriented computing environment using relational database query procedure
US6636845B2 (en) * 1999-12-02 2003-10-21 International Business Machines Corporation Generating one or more XML documents from a single SQL query
US20020116371A1 (en) * 1999-12-06 2002-08-22 David Dodds System and method for the storage, indexing and retrieval of XML documents using relation databases
US7016910B2 (en) * 1999-12-30 2006-03-21 Decode Genetics Ehf. Indexing, rewriting and efficient querying of relations referencing semistructured data
US7072896B2 (en) * 2000-02-16 2006-07-04 Verizon Laboratories Inc. System and method for automatic loading of an XML document defined by a document-type definition into a relational database including the generation of a relational schema therefor
US7124144B2 (en) * 2000-03-02 2006-10-17 Actuate Corporation Method and apparatus for storing semi-structured data in a structured manner
US6581062B1 (en) * 2000-03-02 2003-06-17 Nimble Technology, Inc. Method and apparatus for storing semi-structured data in a structured manner
US6449620B1 (en) * 2000-03-02 2002-09-10 Nimble Technology, Inc. Method and apparatus for generating information pages using semi-structured data stored in a structured manner
US20030221162A1 (en) * 2000-03-20 2003-11-27 Sridhar Mandayam Andampillai Meta-templates in website development and methods therefor
US20020091677A1 (en) * 2000-03-20 2002-07-11 Sridhar Mandayam Andampikai Content dereferencing in website development
US7287216B1 (en) * 2000-05-31 2007-10-23 Oracle International Corp. Dynamic XML processing system
US6704736B1 (en) * 2000-06-28 2004-03-09 Microsoft Corporation Method and apparatus for information transformation and exchange in a relational database environment
US6853997B2 (en) * 2000-06-29 2005-02-08 Infoglide Corporation System and method for sharing, mapping, transforming data between relational and hierarchical databases
US6871204B2 (en) * 2000-09-07 2005-03-22 Oracle International Corporation Apparatus and method for mapping relational data and metadata to XML
US6684222B1 (en) * 2000-11-09 2004-01-27 Accenture Llp Method and system for translating data associated with a relational database
US20020133516A1 (en) * 2000-12-22 2002-09-19 International Business Machines Corporation Method and apparatus for end-to-end content publishing system using XML with an object dependency graph
US6801229B1 (en) * 2001-04-06 2004-10-05 Plumbdesign System for creation of visual representation of data
US6976212B2 (en) * 2001-09-10 2005-12-13 Xerox Corporation Method and apparatus for the construction and use of table-like visualizations of hierarchic material
US7047253B1 (en) * 2001-09-28 2006-05-16 Oracle Interntional Corporation Mechanisms for storing content and properties of hierarchically organized resources
US7171400B2 (en) * 2001-10-04 2007-01-30 Sun Microsystems, Inc. Inheritance and relationship to directory information in an e-commerce application
US20030088715A1 (en) * 2001-10-19 2003-05-08 Microsoft Corporation System for keyword based searching over relational databases
US6792414B2 (en) * 2001-10-19 2004-09-14 Microsoft Corporation Generalized keyword matching for keyword based searching over relational databases
US6904432B2 (en) * 2001-11-30 2005-06-07 Intelligent Medical Objects, Inc. Adaptive data manager
US6925470B1 (en) * 2002-01-25 2005-08-02 Amphire Solutions, Inc. Method and apparatus for database mapping of XML objects into a relational database

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9516073B2 (en) 2001-11-20 2016-12-06 Open Text Sa Ulc System, method and computer program product for asset sharing among hierarchically interconnected objects
US11658883B2 (en) * 2003-10-08 2023-05-23 Open Text Sa Ulc System and method for managing content items for sharing across multiple sites
US20140304388A1 (en) * 2003-10-08 2014-10-09 Open Text SA Site and channel management to achieve content repurposing
US9755915B2 (en) * 2003-10-08 2017-09-05 Open Text Sa Ulc System and method for managing content items for sharing across multiple sites
US20170331702A1 (en) * 2003-10-08 2017-11-16 Open Text Sa Ulc System and method for managing content items for sharing across multiple sites
US7937413B2 (en) 2004-05-04 2011-05-03 International Business Machines Corporation Self-adaptive prefix encoding for stable node identifiers
US8601001B2 (en) * 2005-07-28 2013-12-03 The Boeing Company Selectively structuring a table of contents for accessing a database
US20070027897A1 (en) * 2005-07-28 2007-02-01 Bremer John F Selectively structuring a table of contents for accesing a database
US8543614B2 (en) 2005-08-22 2013-09-24 International Business Machines Corporation Packing nodes into records to store XML XQuery data model and other hierarchically structured data
US7529726B2 (en) 2005-08-22 2009-05-05 International Business Machines Corporation XML sub-document versioning method in XML databases using record storages
US8161004B2 (en) 2005-08-22 2012-04-17 International Business Machines Corporation XML sub-document versioning method in XML databases using record storages
US8572125B2 (en) * 2005-08-22 2013-10-29 International Business Machines Corporation Scalable storage schemes for native XML column data of relational tables
US20070043743A1 (en) * 2005-08-22 2007-02-22 Chen Yao-Ching S Packing nodes into records to store XML XQuery data model and other hierarchically structured data
US20070043751A1 (en) * 2005-08-22 2007-02-22 International Business Machines Corporation Scalable storage schemes for native XML column data of relational tables
US20070043686A1 (en) * 2005-08-22 2007-02-22 International Business Machines Corporation Xml sub-document versioning method in xml databases using record storages
WO2007070743A3 (en) * 2005-12-12 2008-04-17 Sbc Knowledge Ventures Lp Method for constructing and repurposing rhetorical content
WO2007070743A2 (en) * 2005-12-12 2007-06-21 Sbc Knowledge Ventures, L.P. Method for constructing and repurposing rhetorical content
US20080133553A1 (en) * 2006-12-04 2008-06-05 Microsoft Corporation Building, viewing, and manipulating schema sets
US8370399B2 (en) * 2006-12-04 2013-02-05 Microsoft Corporation Building, viewing, and manipulating schema sets
US7725416B2 (en) 2006-12-13 2010-05-25 Novell, Inc. Method for rule locating, ordering and combining in a polyhierarichical environment
US20140201331A1 (en) * 2011-05-24 2014-07-17 Corethree Limited Platform for the delivery of content and services to networked connected computing devices
US11263221B2 (en) * 2013-05-29 2022-03-01 Microsoft Technology Licensing, Llc Search result contexts for application launch
US11526520B2 (en) 2013-05-29 2022-12-13 Microsoft Technology Licensing, Llc Context-based actions from a source application
US20170109914A1 (en) * 2014-10-20 2017-04-20 Bernardo Jose Martinez-Avalos Methods and Computer Programs to Create Images and Information Based in Texts
US10089765B2 (en) * 2014-10-20 2018-10-02 Bernardo Jose Martinez-Avalos Methods and computer programs to create images and information based in texts
US20180181549A1 (en) * 2016-12-28 2018-06-28 Dropbox, Inc. Automatically formatting content items for presentation

Also Published As

Publication number Publication date
US6910040B2 (en) 2005-06-21
US20030195885A1 (en) 2003-10-16

Similar Documents

Publication Publication Date Title
US6910040B2 (en) System and method for XML based content management
Hunter MetaNet-A Metadata Term Thesaurus to Enable
Sahuguet et al. Building intelligent web applications using lightweight wrappers
US7346598B2 (en) Schemaless dataflow within an XML storage solution
US7533124B2 (en) Method and system for collaborative ontology modeling
US6996571B2 (en) XML storage solution and data interchange file format structure
Ide et al. The linguistic annotation framework: a standard for annotation interchange and merging
US20060074980A1 (en) System for semantically disambiguating text information
Leuf The Semantic Web: crafting infrastructure for agency
JP2007519078A (en) System and method for storing and retrieving XML data encapsulated as an object in a database store
Hogue Tree pattern inference and matching for wrapper induction on the World Wide Web
EP1247213B1 (en) Method and apparatus for creating an index for a structured document based on a stylesheet
Szeredi et al. The semantic web explained: The technology and mathematics behind web 3.0
Geroimenko Dictionary of XML technologies and the semantic web
Salminen et al. Communicating with XML
Gu et al. OBSA: Ontology-based semantic information processing architecture
Galnares Augmenting applications with hypermedia functionality and meta-information
Myaeng et al. A Digital Library System for Easy Creation/Manipulation of New Documents from Existing Resources.
Bhowmick et al. Representation of web data in a web warehouse
Gertz et al. A Model and Architecture for Conceptualized Data Annotations
Dubin et al. Metadata enrichment for digital preservation
Myaeng et al. Virtual documents: a new architecture for knowledge management in digital libraries
Niemi et al. A query language for discovering semantic associations, Part I: Approach and formal definition of query primitives
Neuhold et al. Interoperability and Semantics: A Never-Ending Story
Abramowicz et al. Knowledge Representation Standards

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001

Effective date: 20141014