Using RDF for Home Network Configuration

Total Page:16

File Type:pdf, Size:1020Kb

Using RDF for Home Network Configuration ☞ ☞ SWAD-Europe: WP11.1: Using RDF for Home Network Configuration Project name: Semantic Web Advanced Development for Europe (SWAD-Europe) Project Number: IST-2001-34732 Workpackage name: WP 11: Distributed Trust Systems Workpackage description: ☞http://www.w3.org/2001/sw/Europe/plan/workpackages/live/esw-wp-11.html Deliverable title: Framework for Security and Trust Standards URI: Authors: ☞Graham Klyne, Ninebynine.org. ☞Brian Matthews, CCLRC. Abstract: This memo describes the use of RDF metadata in configuring Internet access from a home network. Its goal is to demonstrate the practical applicability of common semantic web technologies in a simple real-world based scenario. The work has been inspired in part by an architectural proposal for XML network configuration submitted to the IETF. Status: First draft: 2002-12-22 Deliverable release: 2004-06-15 Comments on this document should be sent to the public SWAD-Europe mailing list, ☞[email protected], ☞1. Introduction ☞1.1 Structure of this memo ☞2. Background ☞3. Vocabulary for network user access policies ☞3.1 A note about access permission logic ☞4. Vocabulary for network address configuration ☞5. Vocabulary for network device configuration ☞6. Rules for creating configuration data ☞7. Templates for creating configuration files ☞8. Conclusions ☞8.1 Some lessons learned ☞8.2 Ideas for better inference capabilities ☞8.3 Further work ☞9. Acknowledgements ☞§ References ☞§ Author's Address ☞A. Revision history ☞B. Unresolved issues 1. Introduction - This memo describes the use of RDF metadata in configuring ☞ TOC Internet access from a home network. Its goal is to illustrate the practical applicability of common semantic web technologies in a simple real-world based scenario. The work has been inspired in part by an architectural proposal ☞[6] for XML network configuration submitted to the IETF. It has also been undertaken as an experiment in manipulating access control data represented using RDF, as a continuation of some survey work described in a previous memo, ☞Framework for Security and Trust Standards[16]. 1.1 Structure of this memo This document is organized as follows: Section 2 introduces the scenario addressed by this demonstration. Sections 3-5 introduce the RDF vocabulary used to describe the scenario and the results obtained. Section 6 discusses the inference process used to create RDF data that closely matches the resulting configuration files. Section 7 describes the software used to generate the required configuration data from RDF. The remaining sections discuss some implications of this work. The files used by this demonstration can be found by following the links from ☞http://www.ninebynine.org/SWAD-E/Intro.html#HomeNetAccessDemo. In particular, the RDF/N3 (Notation3) source files used are: Network and access policy description: ☞users.n3 Access policy transformation rules: ☞configrules.n3 Configuration files generation template: ☞configfiles.n3 2. Background - The background scenario for this example use of RDF metadata ☞ TOC is a home business network connected to the Internet by a Cisco dial-on-demand ISDN router. This illustration is also available in ☞PDF format. Network access is provided by an ISP dial-up account that provides unmetered access up to a specified weekly limit. The network users are two parents who use the Internet for business, and two children who use it for play and social purposes. The working adults require occasional access at any time. The children's access has to be restricted, otherwise they would quickly exceed the total connect time allowed by the ISP. The Cisco ISDN router runs Cisco's proprietary IOS software, which has a system of IP-addressed based filters that are quite capable of restricting access at different times based on the IP address of the internal host. Creating the correct IOS configuration files for this kind of selective filtering is quite a tricky task. The router can accept an externally defined configuration via the TFTP protocol. Within the local network, machines are assigned IP addresses using DHCP. The DHCP service is provided by a Linux host running DHCPD and a local DNS service. Given all this, the goal is to use RDF to specify the access policy and device configuration requirements, and use some available RDF tools to generate the desired configuration files for the Cisco ISDN router and the Linux-based services. The general idea is illustrated thus: This illustration is also available in ☞PDF format. 3. Vocabulary for network user access policies - This section presents the ☞ TOC metadata used to describe the network users and access policies. Vocabularies used: rdf: ☞RDF core vocabulary[1]: essential RDF terms. Namespace ☞http://www.w3.org/1999/02/22-rdf-syntax-ns#. rdfs: ☞RDF schema[2]: RDF schema (vocabulary description) terms. Namespace ☞http://www.w3.org/2000/01/rdf-schema#. foaf: ☞friend-of-a-friend[9]: for describing basic information about people. Namespace ☞http://xmlns.com/foaf/0.1/. ical: ☞RDF schema for iCalendar[10]: for describing Internet access schedules. Namespace ☞http://www.ilrt.bris.ac.uk/discovery/2001/06/schemas/ical- full/hybrid.rdf#. icalutil: ☞iCalendar ancillary terms[10]: Some additional vocabulary defining for use in conjunction with some of the ical: terms. There are two namespace URIs in circulation. Namespace ☞http://ilrt.org/discovery/2001/06/schemas/ical-util# or ☞http://ilrt.org/discovery/2001/06/schemas/swws/index.rdf#. The demonstration code described here uses the former value. user: a new vocabulary for describing network user characteristics. Namespace ☞http://id.ninebynine.org/wip/2002/user/. homenet: a new namespace for components and devices on the local network that is the target of this demonstration. Namespace ☞http://id.ninebynine.org/wip/2002/user/. Describing network users and access policies: Class foaf:Person Describes a network user with the following properties: foaf:name Name of user. foaf:mbox Email address of user (mailto: URI). user:usesHost A user:HostSystem resource that corresponds to a network host that is commonly used by this person. The user's access rights are applied to this host. This property may be repeated if the person described commonly uses more than one network host. user:accessType A user:AccessPolicy resource that represents the person's access rights. Class user:HostSystem Describes a network host system with the following properties: rdfs:label A brief descriptive label for this machine. rdfs:comment A description of this machine. user:hostName Local name of machine (prepend to network domain to get FQDN). user:localNet A user:LocalNetwork resource that represents the local network, and to which network-wide information is attached. user:hostIP IP address of this machine on local network, as "x.x.x.x", where each x is a 0-255 numeral. user:hostMAC MAC (Ethernet) hardware address of this machine, as "hh:hh:hh:hh:hh:hh", where each hh is a 2-digit hexadecimal numeral. user:systemAdmin A foaf:Person resource that indicates the person who is generally responsible for administration of this system. user:accessType A user:AccessPolicy resource that represents the access rights to be allowed for this host. This may be specified directly, or inferred from properties of any declared user. user:usedBy A foaf:Person resource that represents a person who generally uses this host, and whose access permissions should be applied to this host. This may be specified directly, or inferred. user:usedByName The name (i.e. foaf:name property) of a person who generally uses this host (cf. user:usedBy). Class user:LocalNetwork Describes network-wide characteristics of the local network, with the following properties: rdfs:label A brief descriptive label for this network. rdfs:comment A description of this network. user:dhcpHostName Local name of machine that provides DHCP and other host configuration services for this network (prepend to network domain to get FQDN). user:netbiosServer Local name of machine that provides netbios name services for this network (prepend to network domain to get FQDN). user:networkDomain The DNS domain name for this network, without leading or trailing '.' characters. user:networkAddr The IP subnet address for this network, as "x.x.x.x". user:networkMask The IP subnet mask for this network, as "x.x.x.x". user:broadcastAddr The IP local net broadcast address for this network, as "x.x.x.x". user:defaultGateway A user:HostSystem resource that represents the default gateway (IP router) for the current network. user:defaultDNS A list of IP addresses of DNS servers that are available to hosts on the current network. user:dhcpPoolStart The first IP address in the pool of addresses allocated by DHCP for hosts on this network, as "x.x.x.x". user:dhcpPoolEnd The first IP address in the pool of addresses allocated by DHCP for hosts on this network, as "x.x.x.x". user:addressPool The range of IP addresses allocated by DHCP for hosts on this network, as "x.x.x.x y.y.y.y". (This information duplicates user:dhcpPoolStart and user:dhcpPoolEnd, and should be eliminated, but has been defined here to simplify some internal processing. There is a general issue here that address values are not easily manipulated by general RDF tools like cwm, so additional inputs may be provided as a way to avoid having to define difficult and complex inference rules.) user:defaultAccess A user:AccessPolicy resource that represents the access rights to be allowed for hosts that do not otherwise have any access rights defined. (This is not currently used, as it represents a kind of default reasoning that doesn't sit comfortably in RDF.) Class user:AccessPolicy Describes an access policy that may be applied to a network user or host. Ultimately it is enforced on a per-host basis. An access policy is described using the following properties: rdfs:label Display name for this access policy.
Recommended publications
  • Semantics Developer's Guide
    MarkLogic Server Semantic Graph Developer’s Guide 2 MarkLogic 10 May, 2019 Last Revised: 10.0-8, October, 2021 Copyright © 2021 MarkLogic Corporation. All rights reserved. MarkLogic Server MarkLogic 10—May, 2019 Semantic Graph Developer’s Guide—Page 2 MarkLogic Server Table of Contents Table of Contents Semantic Graph Developer’s Guide 1.0 Introduction to Semantic Graphs in MarkLogic ..........................................11 1.1 Terminology ..........................................................................................................12 1.2 Linked Open Data .................................................................................................13 1.3 RDF Implementation in MarkLogic .....................................................................14 1.3.1 Using RDF in MarkLogic .........................................................................15 1.3.1.1 Storing RDF Triples in MarkLogic ...........................................17 1.3.1.2 Querying Triples .......................................................................18 1.3.2 RDF Data Model .......................................................................................20 1.3.3 Blank Node Identifiers ..............................................................................21 1.3.4 RDF Datatypes ..........................................................................................21 1.3.5 IRIs and Prefixes .......................................................................................22 1.3.5.1 IRIs ............................................................................................22
    [Show full text]
  • Binary RDF for Scalable Publishing, Exchanging and Consumption in the Web of Data
    WWW 2012 – PhD Symposium April 16–20, 2012, Lyon, France Binary RDF for Scalable Publishing, Exchanging and Consumption in the Web of Data Javier D. Fernández 1;2 Supervised by: Miguel A. Martínez Prieto 1 and Claudio Gutierrez 2 1 Department of Computer Science, University of Valladolid (Spain) 2 Department of Computer Science, University of Chile (Chile) [email protected] ABSTRACT era and hence they share a document-centric view, providing The Web of Data is increasingly producing large RDF data- human-focused syntaxes, disregarding large data. sets from diverse fields of knowledge, pushing the Web to In a typical scenario within the current state-of-the-art, a data-to-data cloud. However, traditional RDF represen- efficient interchange of RDF data is limited, at most, to com- tations were inspired by a document-centric view, which pressing the verbose plain data with universal compression results in verbose/redundant data, costly to exchange and algorithms. The resultant file has no logical structure and post-process. This article discusses an ongoing doctoral the- there is no agreed way to efficiently publish such data, i.e., sis addressing efficient formats for publication, exchange and to make them (publicly) available for diverse purposes and consumption of RDF on a large scale. First, a binary serial- users. In addition, the data are hardly usable at the time of ization format for RDF, called HDT, is proposed. Then, we consumption; the consumer has to decompress the file and, focus on compressed rich-functional structures which take then, to use an appropriate external tool (e.g.
    [Show full text]
  • RDF Query Languages Need Support for Graph Properties
    RDF Query Languages Need Support for Graph Properties Renzo Angles1, Claudio Gutierrez1, and Jonathan Hayes1,2 1 Dept. of Computer Science, Universidad de Chile 2 Dept. of Computer Science, Technische Universit¨at Darmstadt, Germany {rangles,cgutierr,jhayes}@dcc.uchile.cl Abstract. This short paper discusses the need to include into RDF query languages the ability to directly query graph properties from RDF data. We study the support that current RDF query languages give to these features, to conclude that they are currently not supported. We propose a set of basic graph properties that should be added to RDF query languages and provide evidence for this view. 1 Introduction One of the main features of the Resource Description Framework (RDF) is its ability to interconnect information resources, resulting in a graph-like structure for which connectivity is a central notion [GLMB98]. As we will argue, basic concepts of graph theory such as degree, path, and diameter play an important role for applications that involve RDF querying. Considering the fact that the data model influences the set of operations that should be provided by a query language [HBEV04], it follows the need for graph operations support in RDF query languages. For example, the query “all relatives of degree 1 of Alice”, submitted to a genealogy database, amounts to retrieving the nodes adjacent to a resource. The query “are suspects A and B related?”, submitted to a police database, asks for any path connecting these resources in the (RDF) graph that is stored in this database. The query “what is the Erd˝osnumber of Alberto Mendelzon”, submitted to (a RDF version of) DBLP, asks simply for the length of the shortest path between the nodes representing Erd˝osand Mendelzon.
    [Show full text]
  • Exercise Sheet 1
    Semantic Web, SS 2017 1 Exercise Sheet 1 RDF, RDFS and Linked Data Submit your solutions until Friday, 12.5.2017, 23h00 by uploading them to ILIAS. Later submissions won't be considered. Every solution should contain the name(s), email adress(es) and registration number(s) of its (co-)editor(s). Read the slides for more submission guidelines. 1 Knowledge Representation (4pts) 1.1 Knowledge Representation Humans usually express their knowledge in natural language. Why aren't we using, e.g., English for knowledge representation and the semantic web? 1.2 Terminological vs Concrete Knowledge What is the role of terminological knowledge (e.g. Every company is an organization.), and what is the role of facts (e.g. Microsoft is an organization. Microsoft is headquartered in Redmond.) in a semantic web system? Hint: Imagine an RDF ontology that contains either only facts (describing factual knowledge: states of aairs) or constraints (describing terminological knowledge: relations between con- cepts). What could a semantic web system do with it? Semantic Web, SS 2017 2 2 RDF (10pts) RDF graphs consist of triples having a subject, a predicate and an object. Dierent syntactic notations can be used in order to serialize RDF graphs. By now you have seen the XML and the Turtle syntax of RDF. In this task we will use the Notation3 (N3) format described at http://www.w3.org/2000/10/swap/Primer. Look at the following N3 le: @prefix model: <http://example.com/model1/> . @prefix cdk: <http://example.com/chemistrydevelopmentkit/> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
    [Show full text]
  • Common Sense Reasoning with the Semantic Web
    Common Sense Reasoning with the Semantic Web Christopher C. Johnson and Push Singh MIT Summer Research Program Massachusetts Institute of Technology, Cambridge, MA 02139 [email protected], [email protected] http://groups.csail.mit.edu/dig/2005/08/Johnson-CommonSense.pdf Abstract Current HTML content on the World Wide Web has no real meaning to the computers that display the content. Rather, the content is just fodder for the human eye. This is unfortunate as in fact Web documents describe real objects and concepts, and give particular relationships between them. The goal of the World Wide Web Consortium’s (W3C) Semantic Web initiative is to formalize web content into Resource Description Framework (RDF) ontologies so that computers may reason and make decisions about content across the Web. Current W3C work has so far been concerned with creating languages in which to express formal Web ontologies and tools, but has overlooked the value and importance of implementing common sense reasoning within the Semantic Web. As Web blogging and news postings become more prominent across the Web, there will be a vast source of natural language text not represented as RDF metadata. Common sense reasoning will be needed to take full advantage of this content. In this paper we will first describe our work in converting the common sense knowledge base, ConceptNet, to RDF format and running N3 rules through the forward chaining reasoner, CWM, to further produce new concepts in ConceptNet. We will then describe an example in using ConceptNet to recommend gift ideas by analyzing the contents of a weblog.
    [Show full text]
  • Use Style: Paper Title
    IJRECE VOL. 6 ISSUE 2 APR.-JUNE 2018 ISSN: 2393-9028 (PRINT) | ISSN: 2348-2281 (ONLINE) A Review on Reasoning System, Types and Tools and Need for Hybrid Reasoning Goutami M.K1, Mrs. Rashmi S R2, Bharath V3 1M.Tech, Computer Network Engineering, Dept. of Computer Science and Engineering, Dayananda Sagar college of Engineering, Bangalore. (Email: [email protected]) 2Asst. Professor, Dept. of Computer Science and Engineering, Dayananda Sagar college of Engineering , Bangalore. (Email: [email protected]) 3Dept. of Computer Science and Engineering, Dayananda Sagar college of Engineering, Bangalore Abstract— Expert system is a programming system which knowledge base then we require a programming system that utilizes the information of expert knowledge of the specific will facilitate us to access the knowledge for reasoning purpose domain to make decisions. These frameworks are intended to and helps in decision making and problem solving. Inference tackle complex issues by thinking through the learning process engine is an element of the system that applies logical rules to called as reasoning. The knowledge used for reasoning is the knowledge base to deduce new information. User interface represented mainly as if-then rules. Expert system forms a is one through which the user can communicate with the expert significant part in day-to-day life nowadays as it emulates the system. expert’s behavior in analyzing the information and concludes “A reasoning system is a software system that uses available knowledge, applies logical techniques to generate decision. This paper primarily centers on the reasoning system conclusions”. It uses logical techniques such as deduction which plays the fundamental part in field of artificial approach and induction approach.
    [Show full text]
  • Resource Description Framework Technologies in Chemistry Egon L Willighagen1* and Martin P Brändle2
    Willighagen and Brändle Journal of Cheminformatics 2011, 3:15 http://www.jcheminf.com/content/3/1/15 EDITORIAL Open Access Resource description framework technologies in chemistry Egon L Willighagen1* and Martin P Brändle2 Editorial would like to thank Pfizer, Inc., who had partially The Resource Description Framework (RDF) is provid- funded the article processing charges for this Thematic ing the life sciences with new standards around data Series. Pfizer, Inc. has had no input into the content of and knowledge management. The uptake in the life the publication or the articles themselves. All articles in sciences is significantly higher than the uptake of the the series were independently prepared by the authors eXtensible Markup Language (XML) and even relational and were subjected to the journal’s standard peer review databases, as was recently shown by Splendiani et al. [1] process. Chemistry is adopting these methods too. For example, In the remainder of this editorial, we will briefly out- Murray-Rust and co-workers used RDF already in 2004 line the various RDF technologies and how they have to distribute news items where chemical structures were been used in chemistry so far. embedded using RDF Site Summary 1.0 [2]. Frey imple- mented a system which would now be referred to as an 1 Concepts electronic lab notebook (ELN) [3]. The use of the The core RDF specification was introduced by the SPARQL query language goes back to 2007 where it World Wide Web Consortium (W3C) in 1999 [6] and was used in a system to annotate crystal structures [4]. defines the foundation of the RDF technologies.
    [Show full text]
  • Connecting RDA and RDF Linked Data for a Wide World of Connected Possibilities
    Practice Connecting RDA and RDF Linked Data for a Wide World of Connected Possibilities Ashleigh Faith & Michelle Chrzanowski Ashleigh N. Faith, MLIS is an Adjunct Instructor at the University of Pittsburgh Information School, [email protected] Michelle Chrzanowski, MLS is a Reference Librarian at the Tidewater Community College Norfolk Campus Library, [email protected] Libraries have struggled with connecting a plethora of content and the metadata stored in catalogs to patrons. Adding more value to catalogs, more tools for reference librarians, and enriched patron search, linked data is a means to connect more people with more relevant information. With the recent transition to the Resource Description and Access (RDA) cataloging standard within libraries, linking data in library databases has become a much easier project to tackle, largely because of another standard called Resource Description Framework (RDF). Both focus on resource description and both are components of linked data within the library. Tying them together is the Functional Requirements for Bibliographic Records (FRBR) conceptual framework. Acknowledging that linked data components are most likely new to many librarians, this article seeks to explain what linked data is, how RDA and RDF are connected by FRBR, and how knowledge maps may improve information access. Introduction Interest in linked data has been growing. Recently, a search of the abstract databases Scopus, Web of Science, and Google Scholar show “linked data” as a search term an average of 45,633 times from 2010 to July 2015. From January to July 2015 alone, "linked data" was searched an average of 3,573 times. It is therefore no wonder that more people are paying attention to data and how it can be linked to other data.
    [Show full text]
  • The Resource Description Framework and Its Schema Fabien Gandon, Reto Krummenacher, Sung-Kook Han, Ioan Toma
    The Resource Description Framework and its Schema Fabien Gandon, Reto Krummenacher, Sung-Kook Han, Ioan Toma To cite this version: Fabien Gandon, Reto Krummenacher, Sung-Kook Han, Ioan Toma. The Resource Description Frame- work and its Schema. Handbook of Semantic Web Technologies, 2011, 978-3-540-92912-3. hal- 01171045 HAL Id: hal-01171045 https://hal.inria.fr/hal-01171045 Submitted on 2 Jul 2015 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. The Resource Description Framework and its Schema Fabien L. Gandon, INRIA Sophia Antipolis Reto Krummenacher, STI Innsbruck Sung-Kook Han, STI Innsbruck Ioan Toma, STI Innsbruck 1. Abstract RDF is a framework to publish statements on the web about anything. It allows anyone to describe resources, in particular Web resources, such as the author, creation date, subject, and copyright of an image. Any information portal or data-based web site can be interested in using the graph model of RDF to open its silos of data about persons, documents, events, products, services, places etc. RDF reuses the web approach to identify resources (URI) and to allow one to explicitly represent any relationship between two resources.
    [Show full text]
  • RDF Translator: a Restful Multi-Format Data Converter for the Semantic Web
    RDF Translator: A RESTful Multi-Format Data Converter for the Semantic Web Technical Report TR-2013-1 Version: July 25, 2013 Alex Stolz, [email protected] Bene Rodriguez-Castro, [email protected] MartinarXiv:1312.4704v1 [cs.DL] 17 Dec 2013 Hepp, [email protected] E-Business and Web Science Research Group, Universit¨atder Bundeswehr M¨unchen Werner-Heisenberg-Weg 39, D-85579 Neubiberg, Germany RDF Translator: A RESTful Multi-Format Data Converter for the Semantic Web Alex Stolz, Bene Rodriguez-Castro, and Martin Hepp E-Business and Web Science Research Group, Universit¨atder Bundeswehr M¨unchen Werner-Heisenberg-Weg 39, D-85579 Neubiberg, Germany falex.stolz,bene.rodriguez,[email protected] Abstract. The interdisciplinary nature of the Semantic Web and the many projects put forward by the community led to a large number of widely accepted serialization formats for RDF. Most of these RDF syn- taxes have been developed out of a necessity to serve specific purposes better than existing ones, e.g. RDFa was proposed as an extension to HTML for embedding non-intrusive RDF statements in human-readable documents. Nonetheless, the RDF serialization formats are generally transducible among themselves given that they are commonly based on the RDF model. In this paper, we present (1) a RESTful Web service based on the HTTP protocol that translates between different serializa- tions. In addition to its core functionality, our proposed solution provides (2) features to accommodate frequent needs of Semantic Web developers, namely a straightforward user interface with copy-to-clipboard function- ality, syntax highlighting, persistent URI links for easy sharing, cool URI patterns, and content negotiation using respective HTTP headers.
    [Show full text]
  • The Crosscloud Project and Decentralized Web Applications
    The Crosscloud Project and Decentralized Web Applications by Martin Martinez Rivera Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Master of Engineering in Electrical Engineering and Computer Science at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY September 2015 ○c 2015 Martin Martinez Rivera. The author hereby grants to MIT permission to reproduce and to distribute publicly paper and electronic copies of this thesis document in whole and in part in any medium now known or hereafter created. Author................................................................ Department of Electrical Engineering and Computer Science August 18, 2015 Certified by. Tim Berners-Lee Professor Thesis Supervisor Accepted by . Christopher J. Terman Chairman, Masters of Engineering Thesis Committee 2 The Crosscloud Project and Decentralized Web Applications by Martin Martinez Rivera Submitted to the Department of Electrical Engineering and Computer Science on August 18, 2015, in partial fulfillment of the requirements for the degree of Master of Engineering in Electrical Engineering and Computer Science Abstract Crosscloud is a project spearheaded by the Decentralized Information Group, aiming to create a platform that enables developers to build decentralized Web applications in which users have total control over their data. This thesis presents the results of my work: gojsonld, a library for the JSON-LD linked data format written in the Go programming language, and ldnode, a server developed on the Node.js framework which acts as a back-end for Web applications. gojsonld allows Crosscloud applications written in Go to use the JSON-LD format, which is based on the popular JSON format and is widely used in the design of Web application APIs.
    [Show full text]
  • Rdflib Documentation
    rdflib Documentation Release 5.0.0-dev RDFLib Team Nov 01, 2018 Contents 1 Getting started 3 2 In depth 19 3 Reference 33 4 For developers 157 5 Indices and tables 171 Python Module Index 173 i ii rdflib Documentation, Release 5.0.0-dev RDFLib is a pure Python package work working with RDF. RDFLib contains most things you need to work with RDF, including: • parsers and serializers for RDF/XML, N3, NTriples, N-Quads, Turtle, TriX, RDFa and Microdata. • a Graph interface which can be backed by any one of a number of Store implementations. • store implementations for in memory storage and persistent storage on top of the Berkeley DB. • a SPARQL 1.1 implementation - supporting SPARQL 1.1 Queries and Update statements. Contents 1 rdflib Documentation, Release 5.0.0-dev 2 Contents CHAPTER 1 Getting started If you never used RDFLib, click through these 1.1 Getting started with RDFLib 1.1.1 Installation RDFLib is open source and is maintained in a GitHub repository. RDFLib releases, current and previous are listed on PyPi The best way to install RDFLib is to use pip (sudo as required): $ pip install rdflib Support is available through the rdflib-dev group: http://groups.google.com/group/rdflib-dev and on the IRC channel #rdflib on the freenode.net server The primary interface that RDFLib exposes for working with RDF is a Graph. The package uses various Python idioms that offer an appropriate way to introduce RDF to a Python programmer who hasn’t worked with RDF before. RDFLib graphs are not sorted containers; they have ordinary set operations (e.g.
    [Show full text]