Introducing Time into RDF Claudio Gutierrez, Carlos A. Hurtado, and Alejandro Vaisman Abstract—The Resource Description Framework (RDF) is a metadata model and language recommended by the W3C. This paper presents a framework to incorporate temporal reasoning into RDF, yielding temporal RDF graphs. We present a semantics for these kinds of graphs which includes the notion of temporal entailment and a syntax to incorporate this framework into standard RDF graphs, using the RDF vocabulary plus temporal labels. We give a characterization of temporal entailment in terms of RDF entailment and show that the former does not yield extra asymptotic complexity with respect to nontemporal RDF graphs. We also discuss temporal RDF graphs with anonymous timestamps, providing a theoretical framework for the study of temporal anonymity. Finally, we sketch a temporal query language for RDF, along with complexity results for query evaluation that show that the time dimension preserves the tractability of answers. Index Terms—Data models, query languages, temporal databases. Ç 1 INTRODUCTION T HE Resource Description Framework (RDF) [21] is a metadata model and language recommended by the W3C for building an infrastructure of machine-readable semantics for the data on the Web, a long-term vision known as Semantic Web. In the RDF model, the universe to be modeled is a set of resources, essentially anything that can have a universal resource identifier, URI. The language to describe them is a set of properties, technically, binary predicates. Descriptions are statements in the subject- predicate-object structure. Both subject and object can be anonymous objects, known as blank nodes. In addition, the RDF specification includes a built-in vocabulary with a normative semantics (RDFS) [5]. This vocabulary deals with inheritance of classes and properties, as well as typing, among other features that allow the descriptions of concepts and relationships that can exist for a community of people and software agents, enabling knowledge sharing and reuse. The RDF specification can be seen as a graph where each subject-predicate-object triple is represented as a node- edge-node structure. Although some studies exist about addressing changes in an ontology [19] or the need for temporal annotations on Web documents [26], to the best of our knowledge, the first formal approach to the problem of modeling and querying temporal information in RDF was [16]. In this paper, we develop that framework in its entire generality. Time is present in almost any Web application. Indeed, as pointed out by Abiteboul [1], the modeling of time is one of the key primitives needed in a query language for Web and semistructured data. Thus, there is a clear need for applying temporal database concepts to RDF to allow metadata navigation across time. The need for querying the history of metadata descriptions may arise in different applications, such as accessing different versions of an ontology, retrieving past info about Web sites, distributing updates of logs (e.g., CVS), and querying metadata about resources that are temporal in nature (e.g., stocks and news). We will motivate temporal RDF with an example, which will be used throughout the paper, that refers to the application of RDF data to the description of Web services. Web services are software applications that interact using Web standards. Although Web services technology is rapidly gaining popularity, it still requires more human involvement than a user may want. Avoiding this will imply the ability of automatically discovering or invoking Web services. Semantic Web technology has been proposed for helping to solve this problem by means of ontologies of services that are used for representing a service profile (a mechanism for describing services offered by a Web site). These ontologies can be used by service-seeking agents. Nevertheless, ignoring the changes that can occur through- out the life cycle of the Web service may lead to several problems that will be discussed in the paper. We will start with a Web service ontology introduced by Antoniou and Van Harme [3], and then we will show how this initial ontology may pass through different states. Fig. 1 shows an RDF representation of an ontology for a Web service, denoted Sport News, offered by a sports network (ESPN). The Web site delivers up-to-date articles about sports. As input, the service receives a sports category and the customer’s credit card number; it returns the requested articles. Let us suppose that, at a certain point in time (we will denote this time instant “2”), ESPN sold the rights on Sport News to another sports network, Fox Sports; thus, begin- ning at time “3,” the Web service is offered by the latter network. The new owners decided (at time instant “4”) to add a new service: They will deliver videos of the best plays of the week for all sport events covered by the network. Thus, several changes must be performed over the previous RDF graph, summarized as: 1) the name, phone, and Web page of the service provider must be replaced and 2) the new service must be added to the graph. This implies the addition of the following triples: (play of the week, type, IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 19, NO. 2, FEBRUARY 2007 207 . The authors are with the Computer Science Department, Universidad de Chile, Blanco Encalada 2120, Santiago, Chile. E-mail: {cgutierr, churtado, avaisman}@dcc.uchile.cl. Manuscript received 30 Sept. 2005; revised 18 Mar. 2006; accepted 2 May 2006; published online 19 Dec. 2006. For information on obtaining reprints of this article, please send e-mail to: tkde@computer.org, and reference IEEECS Log Number TKDESI-0444-0905. 1041-4347/07/$20.00 ß 2007 IEEE Published by the IEEE Computer Society Authorized licensed use limited to: University of Minnesota. Downloaded on January 14, 2010 at 05:23 from IEEE Xplore. Restrictions apply.