-
Notifications
You must be signed in to change notification settings - Fork 5
/
README.txt
137 lines (98 loc) · 4.86 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
SemWeb: A Semantic Web Library for C#/.NET
==========================================
By Joshua Tauberer <http://razor.occams.info>
http://razor.occams.info/code/semweb
USAGE
-----
SemWeb is a library for use in other C# and .NET applications on either
Mono or Microsoft's .NET. The library comes as a collection of
.NET assemblies. There are two directories for the compiled assemblies:
bin: Binaries compiled for .NET 2.0 (generics).
bin_net11: Binaries compiled for .NET 1.1 (no generics).
Also, no MySQL support.
Each directory contains the files:
SemWeb.dll
This is the core library.
SemWeb.MySQLStore.dll, SemWeb.PostgreSQLStore.dll, SemWeb.SqliteStore.dll
Assemblies providing SQLStore implementations for those RDBMSs.
The MySQL library isn't available in the .NET 1.0 build because
the MySQL Connector client library is .NET 2.0 only. SemWeb.MySQLStore
is compiled against MySQL Connector version 6.0.3. You might
need to recompile it if you use a different version.
The PostreSQL library is compiled against Npgsql 2.0.0.0.
The Sqlite library is compiled against Mono.Data.Sqlite
version 2.0.0.0.
SemWeb.Sparql.dll
An assembly providing the SPARQL engine class. It requires
the auxiliary assemblies listed next.
IKVM.GNU.Classpath.dll, IKVM.Runtime.dll
sparql-core.dll
Auxiliary assemblies required for SPARQL.
rdfstorage.exe
A command-line tool for converting files between RDF formats
and loading RDF files into databases.
rdfquery.exe
A command-line tool for running SPARQL and simple graph
matching (in N3) queries against a data source.
euler.exe
A command-line tool for performing general rule-based
reasoning.
Mono.GetOptions.dll
This library from Mono is a dependency of all of the command-line
tools listed above.
.mdb files are debugging symbol files for Mono. Running
under MS .NET, they are useless. Running under Mono, they
are optional unless you want debugging info in stack traces.
To use any of the .dll assemblies, reference them in your
project, and make sure they and any of their dependencies
are findable at runtime (which in MS .NET is usually the
case if you just reference them).
DOCUMENTATION
-------------
For more information, view doc/index.html and the API documentation
in apidocs/index.html.
BUILD INSTRUCTIONS
------------------
Run make if you're in Linux. Nothing complicated here. You'll need
Mono installed (and the MySQL/Connector and Sqlite Client DLLs for SQL
database support, optionally). It'll build .NET 1.1 binaries to the
bin_net11 directory and .NET 2.0 binaries with generics to the bin
directory.
A MonoDevelop solution file (semweb.mds) and a Visual Studio 2005 solution
file (SemWeb.sln) are included too. They build .NET 2.0 binaries with
generics to the bin_generics directory.
If you build the MySQL and SQLite .cs files, you'll need to reference
MySQL's MySql.Data.dll and Sqlite Client assemblies (see www.mono-project.com). Otherwise just leave out those .cs files.
Put MySql.Data.dll in a "lib" directory within the SemWeb directory.
The sources are set up with a conditional compilation flag "DOTNET2" so
that the sources can be compiled for both .NET 1.1 and 2.0, taking
advantage of generics.
LICENSE
-------
The source files and binaries are all GPL-compatible.
Most of the source files were written by me, some source files were
written by or are derived from other work, and the binaries are a mix of
the above. So the particular license that applies in each case may be
different. However, everything included can be reused under the terms
of the GPL (if not something more permissive, depending on what it is).
The portions of this library not written by someone else are Copyright
2005-2008 Joshua Tauberer, and are dual-licensed under both the GNU GPL
(version 2 or later) and the Creative Commons Attribution License. All
source files not listed below were written originally by me. Thus for
those source files written by me, you have two license options.
The following components of this library are derived from other works:
sparql-core.dll is based on the SPARQL Engine by Ryan Levering,
which is covered by the GNU LGPL. The original Java JAR was
coverted to a .NET assembly using IKVM (see below). Actually, I've
made numerous changes to the library so it can take advantage of
faster API paths in SemWeb.
See: http://sparql.sourceforge.net/
IKVM*.dll are auxiliary assemblies for running the SPARQL
engine. IKVM was written by Jeroen Frijters. See http://www.ikvm.net.
The IVKM license is the zlib license, which is GPL compatible.
Euler.cs is adapted from Jos De Roo's JavaScript Euler inferencing
engine. See: http://www.agfa.com/w3c/euler/ The original source
code (and thus this derived file) was licensed under the W3C Software
License, which is GPL compatible.
SQLServerStore.cs was contributed by Khaled Hammouda and is licensed
under the GPL.