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 November 03, 2003 2 <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) November 03, 2003 3 <Categories/> Parsers (Jena, Redland, SWI-Prolog parser) Validators (W3C RDF Validation service) Editors (IsaViz, RDFAuthor, RDFEd, InferEd) Query tools (Jena, etc) Databases (RSSDB, RDFLib) November 03, 2003 4 <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 November 03, 2003 5 <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 November 03, 2003 6 <Parsers part=“3”/> SWI-Prolog parser (Online Demo) http://gollem.swi.psy.uva.nl/cgi-bin/plcvsweb/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> November 03, 2003 7 <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 November 03, 2003 8 <Editors part=“1” demo=“yes”/> RDFAuthor http://rdfweb.org/people/damian/2001/10/RDFAuthor/ RDFAuthor Demo November 03, 2003 9 <Editors part=“2” demo=“yes”/> IsaViz http://www.w3.org/2001/11/IsaViz/ IsaViz Demo November 03, 2003 10 <Editors part=“3” demo=“yes”/> RDFedt http://www.jan-winkler.de/dev/e_rdfe.htm RDFedt demo November 03, 2003 11 <Editors part=“4” demo=“yes”/> InferEd http://www.intellidimension.com/pages/site/ products/infered/ InferEd Demo November 03, 2003 12 <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 November 03, 2003 13 <Databases/> Storage of RDF graphs Files xml format, .n3 format, N-triples format Databases relational databases (MySQL, PostgreSQL) Object-Oriented Databases (ZODB) November 03, 2003 14 <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) November 03, 2003 15 <End/> Thank you! Questions? November 03, 2003 16 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 November 03, 2003 17