170 likes | 362 Views
RDF(S) Tools. Adrian Pop, adrpo@ida.liu.se Programming Environments Laboratory Linköping University. <Outline/>. Introduction Tool categories parsers, validators editors, query tools databases, crawlers Editors demos RDFAuthor, IsaViz, RDFedt, InferEd Query Tools Jena RDQL demo
E N D
RDF(S) Tools Adrian Pop, adrpo@ida.liu.se Programming Environments Laboratory Linköping University
<Outline/> • Introduction • Tool categories • parsers, validators • editors, query tools • databases, crawlers • Editors demos • RDFAuthor, IsaViz, RDFedt, InferEd • Query Tools • Jena RDQL demo • Conclusions
<Introduction/> • Resource Description Framework (RDF) • standard for describing resources on the web • RDF Schema (RDFS) • RDF Vocabulary Description Language • RDF(S) Tools must • read RDF data (parsers/validators) • store RDF data (XML format, triples, or relational/OO DBs) • use RDF data (applications, RSS news, etc) • manipulate RDF data (inference, query, etc)
<Categories/> • Parsers (Jena, Redland, SWI-Prolog parser) • Validators (W3C RDF Validation service) • Editors (IsaViz, RDFAuthor, RDFEd, InferEd) • Query tools (Jena, etc) • Databases (RSSDB, RDFLib)
<Parsers part=“1”/> • Jena - A semantic Web Framework for Java • http://jena.sourceforge.net/ • A RDF API • Reading and writing RDF in RDF/XML, N3 and N-Triples • An OWL API • In-memory and persistent storage • RDQL – a query language for RDF • Later on, a RDQL demo
<Parsers part=“2”/> • Redland RDF Application Framework • http://www.redland.opensource.ac.uk/ • A modular, object based library written in C • Java, Perl, PHP, Python, Ruby and Tcl interfaces for manipulating the RDF graph and parts • Parsers and Serializers for reading and writing RDF • Storage for graphs in memory and on disk • Query APIs for the graph by Statement (triples) or by Nodes and Arcs • Statement Streams for construction, parsing, de/serialisation of graphs • Start of query language support. • No memory leaks so far
<Parsers part=“3”/> • SWI-Prolog parser (Online Demo) • http://gollem.swi.psy.uva.nl/cgi-bin/pl-cvsweb/pl/packages/sgml/RDF/online.html?rev=1.11 • RDFS explorer, RDF Semantic Extensions • http://wonkituck.wi-inf.uni-essen.de/rdfs.html • Interesting feature: • provide semantics in Prolog for your properties <rdf:Property rdf:ID="path"> <rdfs:isDefinedAs rdf:parseType="Literal"> path(S,O) :- statement(S,path,O). path(X,Z) :- statement(X,path,Y), path(Y,Z). </rdfs:isDefinedAs> </rdf:Property>
<Validators/> • RDF Validation Service • http://www.w3.org/RDF/Validator/ • Validating RDF Parser • http://139.91.183.30:9090/RDF/index.html • In general all the RDF parsers do some kind of validation
<Editors part=“1” demo=“yes”/> • RDFAuthor • http://rdfweb.org/people/damian/2001/10/RDFAuthor/ RDFAuthor Demo
<Editors part=“2” demo=“yes”/> • IsaViz • http://www.w3.org/2001/11/IsaViz/ IsaViz Demo
<Editors part=“3” demo=“yes”/> • RDFedt • http://www.jan-winkler.de/dev/e_rdfe.htm RDFedt demo
<Editors part=“4” demo=“yes”/> • InferEd • http://www.intellidimension.com/pages/site/products/infered/ InferEd Demo
<Query demo=“yes”/> • Jena RDQL examples • Queries over the foaf.rdf file • Query 1, Select all SELECT * WHERE(?x ?y ?z) • Query 1, Select persons that knows me SELECT ?person, ?knows WHERE(?x <http://xmlns.com/foaf/0.1/knows> ?z), (?x <http://xmlns.com/foaf/0.1/name> ?person), (?z <http://xmlns.com/foaf/0.1/name> ?knows) • Go
<Databases/> Storage of RDF graphs • Files • xml format, .n3 format, N-triples format • Databases • relational databases (MySQL, PostgreSQL) • Object-Oriented Databases (ZODB)
<Conclusions/> • RDF Tools • are mature enough • become more complex • RDF is more widely used • RSS feeds • Mozilla sidebar, Bookmarks, etc • RDFGateway (application + web + RDF deductive DB)
<End/> Thank you! Questions?
Resources Ontology Storage and Querying http://139.91.183.30:9090/RDF/publications/tr308.pdf RDF Schema explorer + RDF Semantic Extensions http://wonkituck.wi-inf.uni-essen.de/rdfs.html Dave Beckett's Resource Description Framework (RDF) Resource Guide http://www.ilrt.bris.ac.uk/discovery/rdf/resources/ RDFAuthor, RDFAuthor Tutorial http://rdfweb.org/people/damian/2001/10/RDFAuthor/ http://rdfweb.org/people/damian/2001/10/RDFAuthor/Tutorial/ Jena - A semantic Web Framework for Java http://jena.sourceforge.net/ Redland RDF Application Framework http://www.redland.opensource.ac.uk/ RDF Validation Service http://www.w3.org/RDF/Validator/ Validating Parser (VRP), RDF Schema Specific Database (RSSDB), The RDF Query Language (RQL) http://139.91.183.30:9090/RDF/index.html RDFedt http://www.jan-winkler.de/dev/e_rdfe.htm