=Paper= {{Paper |id=Vol-40/paper-10 |storemode=property |title=RDF Models for Dynamic Syndication and Wireless Applications |pdfUrl=https://ceur-ws.org/Vol-40/shklar-semweb2001.pdf |volume=Vol-40 }} ==RDF Models for Dynamic Syndication and Wireless Applications== https://ceur-ws.org/Vol-40/shklar-semweb2001.pdf
           RDF Models for Dynamic Syndication and Wireless
                            Applications
                                                                            Leon Shklar
                                                                      Information Architects

                                                                             70 Hudson St.

                                                                   Hoboken, NJ 07030, USA

                                                                      shklar@cs.rutgers.edu


ABSTRACT                                                                              syndication models can be naturally extended from targeting
Machine-understandable metadata is providing the foundation for                       different content channels to enabling the expanding variety of
next-generation frameworks that enable automated construction                         desktop and wireless devices.
of server-side Java applications. Such applications are composed                      Emerging commercial products support multiple devices by
of metadata objects implementing RDF models and Java classes                          building libraries of device-specific XSLT stylesheets to
that use metadata objects as processing context. Using RDF to                         transcode XML content. Such stylesheets may be fairly efficient
support dynamic transformation of content to different channels                       when compiled into Java bytecode (Sun distributes the XSLT
and devices opens up opportunities for multi-purpose content                          compiler). The problem is in maintaining stylesheet libraries for
services that target different audiences and a wide variety of                        the rapidly growing variety of new and evolving devices, let
desktop and wireless devices. Such services do not have to                            alone device personalization. The proposed solution is to change
depend on costly maintenance to keep up with new, evolving,                           the level of granularity of transformations and design them for
and personalized devices. Properly designed applications that are                     individual features rather than devices. Using RDF models to
built in the era of cell phones and palm devices should still work                    implement device and user agent profiles, it is possible to
for interactive TV and futuristic Star Trek-like personal                             dynamically compose transformations by adapting and combining
communicators.                                                                        feature-based stylesheets, making it unnecessary to build and
                                                                                      maintain ever-expanding libraries of complex device-specific
Keywords                                                                              components.
Metadata, RDF, Transformation, Wireless.                                              W3C, in coordination with the Wireless Access Protocol (WAP)
                                                                                      Forum, is developing the Composite Capabilities/Preference
1. INTRODUCTION                                                                       Profiles (CC/PP) specification as the standard for setting device
The Resource Description Framework (RDF) is a metadata                                and user agent preferences. The upcoming RDF-based
standard that was designed by the World Wide Web Consortium                           specification would allow defining a device by its features (e.g.,
(W3C) to enable Web applications that depend on machine-                              screen size, keyboard (if any), display characteristics, etc). Next-
understandable metadata and to support interoperability between                       generation servers that target multiple devices would combine
such applications. It targets a number of important areas that                        device and user agent profile information with connection
include dynamic syndication and personalization, mobile devices,                      bandwidth and use it to construct stylesheet transformations. An
resource discovery, intelligent agents, content rating, intellectual                  efficient server would optimize stylesheet construction by
property rights, and privacy preferences. RDF uses XML to                             caching components, as well as intermediate composites. For
encode and transport RDF models but may also use alternative                          example, caching device-specific stylesheets that are constructed
mechanisms in the future.                                                             based on individual device profiles and combining them with
Applying RDF to redesigning the syndication process makes it                          stylesheet components that are determined by the operating
possible to model content subscriptions. Instead of having to                         system, user agent software, and connection bandwidth.
receive scheduled distributions of content, subscribers can direct                    Currently, the main practical limitation is the lack of CC/PP
their customers to syndicators' sites, while syndicators use the                      support on the part of device vendors and service providers; it is
subscription models to recognize subscriptions (e.g., based on                        likely to be remedied in the near future. In the prototype, we
User-Agent or HTTP-Referer HTTP headers) and                                          implement our own version of this service based on the local
dynamically tailor content to subscribers' profiles. RDF-based                        database of CC/PP-based device profiles. This implies that
                                                                                      administering the server involves maintaining device and user
 Permission to make digital or hard copies of all or part of this work for            profiles, which is orders of magnitude less work than
 personal or classroom use is granted without fee provided that copies are            maintaining device-specific XSLT transformations. Even this
 not made or distributed for profit or commercial advantage and that copies           overhead will not be necessary when CC/PP becomes the
 bear this notice and the full citation on the first page. To copy otherwise, or
 republish, to post on servers or to redistribute to lists, requires prior specific   recommendation and vendors start providing CC/PP services.
 permission and/or a fee.
                                                                                      2. DEVICE SPECIFICATIONS
 Semantic Web Workshop 2001 Hong Kong, China.
                                                                                      We begin by discussing sample RDF specifications for devices
 Copyright by the author.                                                             and user agents. These specifications, when represented as
addressable metadata graphs, will provide processing context for          
Consider the XML-encoded RDF specification describing a                     
                                                                                                                          rdf:resource="http://www.mozilla.org/wap/profiles/

rdf-syntax-ns#"                                                             Symbian-
         xmlns:ccpp="http://www.w3.org/2000/07/04-                 beta
ccpp#"                                                                    
                                                                       
xmlns:uaprof="http://www.wapforum.org/UAPROF/ccpps
chema-19991014#">                                                    
   
about="http://www.mozilla.org/wap/profiles/Mozilla
">                                                                 Individual Here, ccpp:Defaults elements reference default
                                uaprof:BrowserVersion override default properties of the
Mozilla                   device and user agent correspondingly. The resulting profile,
                                                                   when interpreted by the server-side transformation agent, would
Symbian
     
                                                                   compiled into Java bytecode and cached on the server.
                                                          A feature-based approach to building device profiles helps to
         
  • text/plain
  • text/vnd.wap.wml
  • automate targeted transformations of XML content. A new and
    unknown device may be analyzed and mapped to a known device
    with the closest set of features. The resulting specification gets
    stored in a repository and serves as the basis for combining transformations into a single XSLT stylesheet. Here, the subject of the description is http://www.mozilla.org/wap/profiles/Mozilla . The rdf:type element identifies the subject resource, the uaprof:BrowserName identifies the browser name as Mozilla , uaprof:BrowserVersion identifies the browser version as Symbian , and uaprof:CcppAccept defines MIME types supported by the browser. Individual devices and user agents are likely to differ from default configurations. For example, my xyz device may have an optional screen, and I may have configured my browser to support HTML in addition to plain text and WML. However, it is possible to incorporate default configurations by reference. My profile would have the following form: 3. CC/PP SERVER Since CC/PP is defined as an RDF application, our approach is to models as processing context for programmable plug-ins. In this 320x200 inference engine. Instead, we are taking a pragmatic approach by supporting a Java API for pluggable Actor modules that get invoked in the context of the nodes in the RDF graph. The system graph is composed of three sub-graphs - the content graph that models content and encapsulates content retrieval functionality, the delivery graph that models end-user devices 3. Invokes the content retrieval Actor to perform the and browsers, and the transformation graph that models feature- following steps: based transformations (see Figures 1 and 2). The distinction 3.1 Recursively refer to other content nodes and between the sub-graphs is semantic; structure-wise they are all invoke their associated content retrieval Actors (if RDF graphs and are connected to the same root node. For required). convenience, we will refer to content nodes, delivery nodes, and 3.2 Compute and apply content-specific transformations transformation nodes depending on the context of the respective graph. Note that the same node may belong to more than one based on device and user agent profiles. graph (e.g., the node associated with the "screen size" feature 3.3 Apply profile-based content-independent belongs to both the delivery graph and the transformation graph). transformations. The idea of our system is to promote the design of content The architecture allows for multiple content retrieval and transformations for features and not devices. Adding support for transformation actors that implement different policies for a new device will only require creating a new feature profile and content aggregation, feature profiling, and the composition of even this will become unnecessary in the future. The further idea stylesheet transformations. Transformation actors are responsible is to separate out content-independent components of feature- for compiling feature profiles that they use to compose XSLT- based transformations and to minimize the amount of design based transformations. Feature profiles are also used by content work needed to define transformations when adding new content. retrieval actors for the purpose of selecting and composing content-specific transformations. Content retrieval actors get invoked recursively and may or may not apply transformations to their content components. 3.2 Content Transformation Actors Content transformation actors are responsible for figuring out device and user agent features based on device identification and user preference profiles that may include information about custom extensions (e.g., additional memory) or preferences regarding not making use of certain features that are available with the device (e.g., keyboard). In the future, with the support for the CC/PP standard, we will expect browsers to submit either CC/PP specifications or Figure 2. Sample Model - Transformation and Delivery references to such specifications. The specification may be Subgraphs. further refined based on user preferences but it will be the primary source for building device feature profiles. Our 3.1 Server Operation implementation is designed to function in the absence of CC/PP Details of the server operation are illustrated in fig. 1. User support but benefit from such support when it becomes available. requests are always directed at a content node. When the To this end, the server maintains a local repository of device Controller receives the first request in a session, it performs the specifications. Device identities may be inferred by the following steps: transformation actor based on information in the request (e.g., User Agent). They may also be identified by authenticating users 1. Sets references to content retrieval and transformation and retrieving device preferences from their profiles. Actors according to the following priorities (in descending Having inferred information about the type of the device the order): transformation actor checks for the availability of user 1.1 information in the request; preferences and creates the device feature profile based on 1.2 properties of the content node; combining this information. For example, the User Agent header 1.3 global defaults. in the request indicates the version of the browser that runs on a Motorola cell phone of a particular model. The transformation 2. Invokes the transformation Actor to perform the following actor queries the local repository for device features and creates steps: the initial profile. This profile may get modified based user 2.1 Establish a new session. preferences. 2.2 Traverse the delivery graph to compute device and For example, I may have upgraded memory on my Motorola cell user agent profiles and store them in the session. phone. The transformation actor can at best infer the make and 2.3 Check for the availability of cached content- model of my device based on information in the request but it independent transformations for computed can not learn about and take advantage of my upgraded memory. profiles; if such transformations are not available, However, I can list my devices and their upgrades in my profile. traverse the transformation graph, compute the The transformation actor can use this information to update the transformations, and store them for future use. initial feature profile that gets retrieved from the local repository. Once the transformation actor compiles the feature profile, it is conducive to applying content-specific transformations may uses it to combine feature-based XSLT transformations (if the have dramatic affect on presentation quality. target transformation is not already available). It passes the feature profile to the content retrieval actor that may use it to 4. CONCLUSIONS select and/or compose content-specific transformations. Once the The future direction of RDF, CC/PP, and related standards has transformation actor receives partially transformed content from immediate implications on design and development of wireless the content retrieval actor, it applies feature-based applications. This includes building separate classes responsible transformations and returns the result. for the assembly and transformation of content, and implementing feature-based XSLT stylesheets that may be 3.3 Content Retrieval Actors assembled into device-specific transformations. The way is open Content retrieval actors are responsible for interpreting request for commercial wireless application development products that context and using it to control retrieval and transformation of do not make use of proprietary formats and protocols and that content. A content retrieval request always targets a metadata establish a clear path for supporting W3C and WAP Forum node that provides the processing context, along with request standards. headers and session information which includes the feature RDF is emerging as the foundation for next-generation profile of the target device. Node metadata may reference frameworks that enable automated construction of Java content, applications, or recursively refer to other metadata applications. Such applications are composed of networks of nodes. It may also reference content-specific XSLT stylesheets metadata objects implementing RDF models and Java classes that get selected based on feature profiles for target devices. that use metadata objects as processing context. Using RDF for For example, a metadata node may reference a fragment of an wireless applications opens up opportunities for building next- XML file, and two other metadata nodes that, in turn, are generation mobile services that don't depend on costly associated with a database query and an LDAP query maintenance to keep up with new, evolving, and personalized correspondingly. The content retrieval actor that gets invoked in devices. In other words, properly designed applications that are the context of the first node retrieves the XML fragment and built in the era of cell phones and palm devices would still work recursively invokes content retrieval actors for the referenced for future microwave ovens that connect to the Internet to nodes. Content retrieval actors for the query nodes may select download cooking instructions. and apply their own transformations to query results prior to returning them to the original content retrieval actor. Having 5. REFERENCES received all responses, the original content retrieval actor may [1] Composite Capabilities/Preference Profiles, Work in apply different transformations depending on whether the Progress, W3C. browser is running on a cell phone or a desktop computer. [2] Resource Description Framework Model and Syntax 3.4 Summary Specification, W3C, 1999. Our RDF server is designed to provide metadata context for [3] Resource Description Framework Schema functional actors. Transformation actors are responsible for Specification 1.0, W3C, 2000. building feature representations of end user devices and for using the feature models to assemble content-independent XSLT [4] Didier Martin, How would you like that served?, transformations. Content retrieval actors are responsible for xml.com, 2001. retrieving and partially transforming content. Content design that