SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Comparative Study Regarding RDF in .NET Framework Budăi Steliana:steliana.budai@infoiasi.ro   Gorea Diana Alexandra: alexandra.gorea@infoiasi.ro This study will present (some of) the available implementation for working with RDF documents using the .Net framework's C# language.  Since the new release of Windows 7 received good reviews, this study will focus on the possibility of working with RDF documents on this new OS:Windows 7.  Before the study began the Microsoft Visual Studio 2008 Professional development environment was installed. For each found library a set of important information like author, features, license, etc. was gathered and then using the available documentation the quest was to get one of the examples available(were available) to compile and run on this Windows 7 machine, then using the available documentation describing the API, build a simple RDF document save it then read it again. The steps and actions needed for the quest to be resolved will be available in the 
Installing and start using section
.  SemWeb Short description: Semantic Web/RDF Library for C#/.NET  author: Joshua Tauberer :http://razor.occams.info/  Project homepage:http://razor.occams.info/code/semweb/  Description/Features:  SemWeb is a Semantic Web/RDF library written in C# for Mono or Microsoft's .Net 1.1/2.0.   Some features: Straightforward API that is easy to deploy and is completely cross-platform. RDF/XML: Reading and writing RDF/XML (including XMP). The reader is streaming, which means the entire document doesn't ever need to be loaded into memory Notation 3: Reading and writing NTriples, Turtle, and most of Notation 3 SQL DB-backed persistent storage for SQL Server, MySQL, Sqlite, and PostgreSQL.The MySQL store (if not the others) scales to at least a billion triples (see this).There is of course also an in-memory store.  querying using simple graph matching and SPARQL;  make SPARQL queries to remote endpoints;  has limited support for RDFS;  general purpose inferencing is possible;  storage of triples: Memory and relation databases like MySQL  support for SPARQL: Yes( using Ryan Levering's SPARQL java implementation http://sparql.sourceforge.net/ converted to .Net using the IKVM written by Jeroen Frijters)  support offered to programmers documentation: there is basic documentation http://razor.occams.info/code/semweb/semweb-current/doc/index.html  API documentation http://razor.occams.info/code/semweb/semweb-current/apidocs/index.html and some examples: http://razor.occams.info/code/repo/?/semweb/examples   installing and start using  Running a example:   Download the source code http://razor.occams.info/code/semweb/semweb.zip and unzip it to a convenient location.   In Visual Studio create a new console project and reference the semweb.dll library form the /bin sub folder of the downloaded files.   Follow the steps from the hello world example http://razor.occams.info/code/semweb/semweb-current/doc/helloworld.html   Build a RDF document saving it and the read it:  In Visual Studio create a new console application project and add the semweb.dll as a reference just like in the above example. Fallow the steps from the previous example and from the reading a RDF file example http://razor.occams.info/code/semweb/semweb-current/doc/readingrdf.html and it is easy to write the code to generate a RDF file and load it's content  the code is:  using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;  using System.IO;  using SemWeb;  namespace ConsoleApplication1{ class Test2RDF {       const string RDF = 
http://www.w3.org/1999/02/22-rdf-syntax-ns#
;       public static void Main() {          MemoryStore store = new MemoryStore();                   Entity w3sc = new Entity(       
http://www.w3schools.com
 ) ;          Entity title = 
http://www.w3schools.com/rdf/title
;          Entity author = 
http://www.w3schools.com/rdf/author
;          store.Add(new Statement(w3sc, title, (Literal)
W3Schools.com
));          store.Add(new Statement(w3sc, author, (Literal)
Jan Egil Refsnes
));          //save to afile.xml          using (RdfWriter writer = new RdfXmlWriter(new StreamWriter(
afile.txt
)))  {                                         writer.Namespaces.AddNamespace(  
http://www.w3school s.com/rdf/
, 
si
);        writer.Write(store);        writer.Close();        }        //now read RDF file and print it to the console        MemoryStore readStore = new MemoryStore();            readStore.Import(new RdfXmlReader(
afile.xml
));              using (RdfWriter writer = new        RdfXmlWriter(Console.Out)){   //this is still neccesary                    writer.Namespaces.AddNamespace(
http://www.w3schools.com/rdf/
, 
si
);                writer.Write(readStore);      }              Console.WriteLine(); }  }     }  Sadly though the afile.txt file has the content duplicated  ,  ,[object Object],  ,  ,[object Object],  The reading of the correct form of the RDF file works OK, but you still have to specify the name space when writing to the streamwriter to get the same result as the input file. That namespace should automatically be kept and used as in the original loaded model.   afile.xml has the following content:  ,  ,[object Object],  Conclusion: It is pretty simple to use this library, it has good examples that get you coding real fast. Trying to solve other specific problems needs a little bit more investigation of the API and mode documentation specially if you haven't got recent work experience in C#.    Performance/Benchmarks:  The author of this library run some fairly complex tests based on the LUBM benchmarks http://swat.cse.lehigh.edu/projects/lubm/  totaling 6.9 million statements spread accross 1,000 files totaling at 540MB. Also he tested using triple stores of over 1 billion statements. The performance seems pretty good for the amount of data involved.   Portability: the library is completely cross-platform being developed for Mono.  license: SemWeb is licensed primarily under the terms of the GNU GPL (version 2 or later). The license for the components that this library is based on are as follows:  the SPARQL engine (sparql-core.dll) is licensed under the GNU LGPL;  the Euler proof mechanism (Euler.cs, which is a part of SemWeb.dll) is licensed under the W3C Software License; IKVM (IKVM*.dll) is GPL-compatible.  Comments/Current status:  This library is currently used in some open source projects mainly for linux ( ROWLEX, F-Spot-Gnome photo management, Beagle-Gnome desktop search ). There is an online RDF validation tool http://rdfabout.com/demo/validator/ that is based on this library.  The author worked on this library from  June 2005 to May 19, 2009 when he decided to stop for an indefinite period of time the development of SemWeb. This is because the author didn't notice enough interest for developing applications that use RDF.  On May 11, 2009 the current version 1.064 was released including mainly bug fixes.   Greengrass  Author: Federico Di Gregorio and Pierluigi Di Nunzio  Short Description: Greengrass is a C# framework providing a high-level API for the Resource Description Framework (RDF), allowing RDF triples to be parsed, stored, and manipulated. Greengrass supports serialization and deserialization of CLR types to plain RDF, OWL, and other RDF vocabularies. Greengrass should work with any CLR-complied language, like C#, BOO, IronPython, Nemerle, IKVM Java, and VB.NET.  Project available from: http://freshmeat.net/projects/greengrass/  support for SPARQL : No. Not supported  support offered to programmer  documentation: Could not find any documentation on the web and in the downloaded tar.gz file. Although in the downloaded archive there is an Example folder, it doesn't contain any useful example. there is a main class that prints a 
hello world
 string. No discussion forum available.       learning curve: Starting to learn to work with this library is difficult because no documentation or example were available.   Performance/Benchmarks: No publisher performance information available.  Portability : OS independent  license:GPLv3  LGPL   Comments/ current status: The latest release was on on January 25, 2008, version 0.3 that included some improvements in performance, new features and a full Turtle parser that passes all W3C tests.   linqtordf  Project home page:http://code.google.com/p/linqtordf/  ,[object Object],Short description:A Semantic Web framework for .NET  Features:  It provides an easy way to integrate Semantic Web queries into your software  You don't have to know that much SPARQL or RDF to be able to use it.  It also provides a UML-style design surface allowing you to create RDF files, and to generate compatible C# code to work with the RDF.  It will help those who don't have the time to ascend the semantic web learning curve to become productive quickly.  storage of triples: information not specified  support for SPARQL: Yes.  support offered to programmer:    documentation: The project has a wiki page that is not very popular at: http://code.google.com/p/linqtordf/wiki/MainPage; and a forum that is pretty busy at:                                                  http://groups.google.com/group/linqtordf-discuss/topics; Some user manuals for the library can  be                                                                             found http://code.google.com/p/linqtordf/w/list. No examples links could be found on the projects home page.  developing environment integration: it is specially created for Microsoft Visual Studio. It integrates with the developing environment allowing the user to view/edit RDF files like the usual UML editors.   installing and start using    Run a simple example  download the msi setup file from the home project page run the setup  locate the linqtoRDF.pdf manual.Observation: The readme.html file contains only the word 
readme
.  in the manual you are asked to install the LinqToRdfDesigner: 
Once LinqToRdf is installed, you should then install LinqToRdfDesigner, which will register the DSL (Domain Specific Language) add-in to Visual Studio. Note that LinqToRdf and LinqToRdfDesigner will only work with Visual Studio 2008 and above.
  This operation couldn't be completed on Windows 7. An error message windows appears that doesn't explained what the problem really was or how to correct it.  Unfortunately the LinqToRdf manual doesn't have some startup example code. The page that suppose to have example only contains some code that is not commented in any way http://code.google.com/p/linqtordf/wiki/LinqToRdf.  Since this library is based on the SemWeb project's library you can easily run the examples from the base project and it will run just fine.  Build a RDF document saving it and the read it: See SemWeb project for the example.  learning curve: it should be pretty easy to use, has a visual way to see and create RDF documents(that doesn't work for Windows 7).  Performance/Benchmarks: No performance/ benckmarks information available on the project home page.   Portability: the library can be downloaded as an 
msi
 file (that is windows specific) and works with Microsoft's Visual Studio. In conclusion it is not developed to be used on other operating systems  license New BSD License  based on/uses: This library is base on SemWeb project. At the core of the system sits a LINQ query provider (like LINQ to SQL) that converts your queries into the SPARQL query language.  Comments/Current status: The project started in 2007 and is currently still maintained. The current release version is v0.8 that was released in August 2008.  ROWLEX  Author/owner: NATO C3 Agency   Projects home page:http://rowlex.nc3a.nato.int/  Short description: ROWLEX is a powerful open source toolkit for software developers. It has been built to simplify the use of fundamental semantic web technologies (RDF and OWL) under Microsoft’s .NET platform. ROWLEX stands for Relaxed OWL EXperience. That is exactly what it is. It allows programmers to create and browse RDF documents while keeping the focus on the business objects. It abstracts away the level of RDF triples and elevates the level of the programming work to (OWL) classes and properties. ROWLEX opens the way to experience the beauty of the open world assumptions within the reliable .NET environment.  Features:  serialize business objects into an RDF document  build an RDF document  browse an RDF document  storage of triples: no information available.  support for SPARQL: Not supported.  support offered to programmer  documentation There is a lot of documentation and examples on the project's 
how to use
 subpage  http://rowlex.nc3a.nato.int/HowToUse.aspx  license GNU LESSER GENERAL PUBLIC LICENSE, Version 3, 29 June 2007  Comments Current release is Version 2.0.1 - July 15, 2009  Other libraries:  Drive  Supposed home page: http://www.driverdf.org/ - Not working  Description: It supposed to be an RDF parser written in C# for the .NET platform.  Comments: It seams that this project was abandoned. Some one else was interested in this project and could not find any more information about it http://lists.foaf-project.org/pipermail/foaf-dev/2008-July/009279.html  OwlDotNetApi  Project home page  http://users.skynet.be/bpellens/OwlDotNetApi/index.html  Short description:The OwlDotNetApi is an OWL (Web Ontology Language) API and parser written in C# for the .NET platform based on the Drive RDF parser. Its fully compliant with the W3C OWL syntax specification and can be used within any .NET language.  Features:  C# based RDF parser for the .NET platform  Compliant with the OWL Syntax Specification  Builds a directed linked graph  Can be used with any .NET language.  Merges Graphs from multiple sources  Simple generator using the visitor pattern  ,[object Object],support offered to programmer  documentation: Some documentation and API description can be found (http://users.skynet.be/bpellens/OwlDotNetApi/documentation.html) in html format  http://mach.vub.ac.be/~bpellens/OwlDotNetApi/index.html. The pdf couldn't be downloaded and the chm didn't work on the Windows 7 machine I was testing.   The sources, binaries and an example can be downloaded from http://users.skynet.be/bpellens/OwlDotNetApi/download.html.  license GNU LESSER GENERAL PUBLIC LICENSE  Version 2.1, February 1999  based on/uses Uses DriveRDF project that can’t be accessed anymore.  Comments There is only one version released (version 1.0) in 2006.  Carp   homepage: http://www.semanticplanet.com/library/Carp/HomePage  Spiral formerly Rdf Lib  homepage: http://www.semanticplanet.com/library/Spiral/HomePage  Comment:For this last two projects I could not access the source code and no other information about the project was available. A password is required to edit the project's wiki page;  Observation: On a page that lists tools available tools for RDF in C# http://esw.w3.org/topic/CSharpRDFTools only the links to ROWLEX and SemWeb projects work. References All the information about the RDF libraries were taken from the project’s home page and linked pages unless specified otherwise.
Rdf Study Budai Steliana Gorea Alexandra Diana
Rdf Study Budai Steliana Gorea Alexandra Diana
Rdf Study Budai Steliana Gorea Alexandra Diana
Rdf Study Budai Steliana Gorea Alexandra Diana
Rdf Study Budai Steliana Gorea Alexandra Diana
Rdf Study Budai Steliana Gorea Alexandra Diana
Rdf Study Budai Steliana Gorea Alexandra Diana
Rdf Study Budai Steliana Gorea Alexandra Diana
Rdf Study Budai Steliana Gorea Alexandra Diana

Weitere ähnliche Inhalte

Kürzlich hochgeladen

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 

Kürzlich hochgeladen (20)

Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 

Empfohlen

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Empfohlen (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Rdf Study Budai Steliana Gorea Alexandra Diana

  • 1.