heuer / mappa Goto Github PK
View Code? Open in Web Editor NEWMappa -- Topic Maps engine
Mappa -- Topic Maps engine
The CXTM test case is a hack, refactor it
Maybe move it to the Mappa subproject and use svn:externals
Original issue reported on code.google.com by [email protected]
on 14 Aug 2009 at 1:51
More detailed exception if a topic is not removable.
If a topic is not removable, the exception should name the problem and not
enumerate possible reasons why the topic is not removable
Original issue reported on code.google.com by [email protected]
on 25 Jun 2009 at 12:41
Either update the Java CXTM tests from TMAPI 1.0/tinyTiM 1.5 to TMAPI
2.x/tinyTiM 2.x or remove them
Original issue reported on code.google.com by [email protected]
on 14 Aug 2009 at 1:53
<http://code.google.com/p/ontopia/issues/detail?id=91>
MapHandler should check if the statement which should get the iid is a
duplicate
Original issue reported on code.google.com by [email protected]
on 21 Jul 2009 at 2:33
Implement the missing load / write operations to the connection
Original issue reported on code.google.com by [email protected]
on 25 Jun 2009 at 11:48
Port the Java RTM impl. to Python using rdflib
Original issue reported on code.google.com by [email protected]
on 22 May 2009 at 11:58
<http://code.google.com/p/ontopia/issues/detail?id=84>
<http://code.google.com/p/ontopia/issues/detail?id=77>
The MapHandler should check if the statement which should be reified is a
duplicate.
Original issue reported on code.google.com by [email protected]
on 21 Jul 2009 at 2:32
During parsing XTM 1.0 the parser keeps a variable, 'seen_type' to remember
if an <instanceOf/> element was read. This variable is never resetted to False.
Original issue reported on code.google.com by [email protected]
on 29 Jul 2009 at 2:58
Spit out a warning if the role type is missing.
Original issue reported on code.google.com by [email protected]
on 10 Sep 2007 at 3:26
Currently all CXTM tests use only the syntax/in tests.
Integrate the syntax/invalid tests
Original issue reported on code.google.com by [email protected]
on 14 Aug 2009 at 1:49
Add a Distutils setup.py to the projects, c.f.
http://docs.python.org/distutils/
Original issue reported on code.google.com by [email protected]
on 20 May 2009 at 1:58
The tm.mio.create_deserializer function should try to look up the requested
deserializer in the dict of cached deserializers. If the deserializer is
not found, the function should reiterate through the available
deserializers and register newly added deserializers. If the deserializer
cannot be found return ``None``
Original issue reported on code.google.com by [email protected]
on 14 Dec 2009 at 11:29
CTM should be the default syntax for connection.loads(), so the format
parameter is not required for importing CTM.
Original issue reported on code.google.com by [email protected]
on 16 Dec 2009 at 2:45
lit.py assumes that "itemgetter" exists in the "operator" module, but in
Python 2.3.5 it does not. In Python 2.5 it does.
Traceback (most recent call last):
File "tmfs.py", line 4, in ?
import mappa
File "/Users/larsga/cvs-co/mappa/mappa/trunk/src/mappa/__init__.py",
line 51, in ?
from _internal.lit import Literal
File "/Users/larsga/cvs-co/mappa/mappa/trunk/src/mappa/_internal/
lit.py", line 48, in ?
from operator import itemgetter
ImportError: cannot import name itemgetter
Original issue reported on code.google.com by [email protected]
on 21 May 2009 at 9:40
Use a better naming scheme for the syntax readers.
Currently: <SyntaxName>TopicMaps.
Maybe better:
mio.reader.<syntax-name>
tm.mio.reader.<syntax-name>
Check cheeseshop and register the names.
Original issue reported on code.google.com by [email protected]
on 26 Jun 2009 at 1:13
mergeutils.py uses at some places the 'old' Mappa model where topic.types
is a property.
Original issue reported on code.google.com by [email protected]
on 22 May 2009 at 9:14
easy_install -U Mappa installs Mappa and the XTM package. Add the CTM
package as dependency, so easy_install -U Mappa installs Mappa, the XTM
package and the CTM package
Original issue reported on code.google.com by [email protected]
on 16 Dec 2009 at 2:49
Add a full text index to Mappa
Options:
* http://whoosh.ca/
Pure Python
* http://lucene.apache.org/pylucene/
Lucene port to Python
* http://nucular.sourceforge.net/
Python, requires eTree
Original issue reported on code.google.com by [email protected]
on 28 Jul 2009 at 3:51
Need more merge tests, especially for topic maps.
Original issue reported on code.google.com by [email protected]
on 22 May 2009 at 9:13
Check where the code uses
sorted(iterable, cmp=comparator)
instead of
sorted(iterable, key=k)
Replace cmp with key where possible.
Modules:
- CXTM writer
- CTM writer
Original issue reported on code.google.com by [email protected]
on 19 May 2009 at 2:05
Add an entry point to Mappa that is used by Topic Maps syntax writers
Original issue reported on code.google.com by [email protected]
on 27 Jun 2009 at 6:48
Write docs and examples
Original issue reported on code.google.com by [email protected]
on 26 Jun 2009 at 12:49
Think about the possibility to make the roles of an association immutable.
That means an API break and could mean that reification of roles and iids
on roles may not be allowed anymore. Reification of roles and iids on roles
suck anyway, but it breaks compatibility to TMDM.
Impacts:
- assoc.create_role(type, player) would go away
- role.player = new_player / role.type = new_type *may* go away (maybe just
the role.type = new_type)
- role.add_iid / role.remove_iid would go away
- role.reifier is not supported anymore
IIRC the ZTM supports just immutable associations; figure out how immutable
they are. :)
Original issue reported on code.google.com by [email protected]
on 20 May 2009 at 2:51
Importing my photo topic map (XTM 2.0) produces the following crash:
Traceback (most recent call last):
File "tmfs.py", line 16, in <module>
tm = import_xtm(sys.argv[1])
File "tmfs.py", line 14, in import_xtm
reader.parse(Source(file=open(filename)))
File "/Users/larsga/cvs-co/mappa/tm/trunk/src/tm/mio/deserializer.py",
line 107, in parse
self._do_parse(source)
File "/Users/larsga/cvs-co/mappa/mio-xtm/trunk/src/mio/reader/xtm/
__init__.py", line 76, in _do_parse
parser.parse(as_inputsource(source))
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/xml/sax/expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/xml/sax/expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/
python2.5/xml/sax/expatreader.py", line 338, in start_element_ns
AttributesNSImpl(newattrs, qnames))
File "/Users/larsga/cvs-co/mappa/mio-xtm/trunk/src/mio/reader/xtm/
__init__.py", line 93, in startElementNS
self._content_handler.startElementNS(name, qname, attrs)
File "/Users/larsga/cvs-co/mappa/mio-xtm/trunk/src/mio/reader/xtm/
xtm10.py", line 156, in startElementNS
self._process_sid(href(attrs))
File "/Users/larsga/cvs-co/mappa/mio-xtm/trunk/src/mio/reader/xtm/
xtm10.py", line 362, in _process_sid
self.map_handler.subjectIdentifier(ref)
File "/Users/larsga/cvs-co/mappa/tm/trunk/src/tm/mio/handler.py", line
299, in subjectIdentifier
self._handler.subjectIdentifier(iri)
File "/Users/larsga/cvs-co/mappa/mappa/trunk/src/mappa/miohandler.py",
line 142, in subjectIdentifier
existing = self._tm.topic(sid=sid)
File "/Users/larsga/cvs-co/mappa/mappa/trunk/src/mappa/_internal/
implhelper.py", line 89, in topic_by_identity
raise ValueError('Expected either one "sid", "slo", or "iid" keyword
argument, got: %r' % kw)
ValueError: Expected either one "sid", "slo", or "iid" keyword argument,
got: {'sid': u'http://psi.ontopedia.net/Marc_Wilhelm_K%FCster'}
Original issue reported on code.google.com by [email protected]
on 21 May 2009 at 9:45
PLY generates the parse/lex tables and stores them in the current
directory. Ensure that PLY reads and writes them from the package
directory, use something like
http://dev.se.wtb.tue.nl/projects/chi-tooling/browser/trunk/chinetics/chinetics/
core/plywrapper.py
for all PLY-based parsers
Original issue reported on code.google.com by [email protected]
on 28 May 2009 at 12:30
Use the project's Download section for distributing Mappa instead of
duplicating the distribution by uploading to Cheeseshop and to the Download
section.
Evaluate if url / download_url does the job.
Original issue reported on code.google.com by [email protected]
on 30 Jun 2009 at 12:31
Provide an additional keyword arg to write gzipped topic maps / read from
gzipped topic maps
Original issue reported on code.google.com by [email protected]
on 30 Jul 2009 at 1:48
The test "role-duplicate-reified4.xtm" fails:
miohandler.py line 464, in _are_mergable
AttributeError: 'NoneType' object has no attribute '__sig__'
<http://cxtm-tests.svn.sourceforge.net/viewvc/cxtm-tests/trunk/xtm2/in/role-dupl
icate-reified4.xtm?view=markup>
Original issue reported on code.google.com by [email protected]
on 14 Aug 2009 at 1:41
The following probably speaks for itself:
[larsga@Macintosh-2 mappa]$ python
Python 2.3.5 (#1, Mar 23 2006, 02:56:38)
[GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import mappa
>>> conn = mappa.connect()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "mappa/__init__.py", line 91, in connect
backend = __import__('mappa.backend.%s' % backend_name, None, None,
[''])
ImportError: No module named mem
Does this mean that there is no in-memory implementation at all? Or just
that it's not checked in to Subversion?
Original issue reported on code.google.com by [email protected]
on 28 Dec 2007 at 6:01
Currently it is possible to set the variant's scope to the UCS. This should
result in a ModelContraintEx.
Ensure that the variant's scope is always the superset:
name.scope = ()
variant = name.create_variant('value', ()) # --> MCE
variant.scope = () # --> MCE
name.scope = [theme]
variant.scope = [theme] # --> MCE, no superset
name.scope = []
variant.scope = [theme] # Allowed, [theme] is a superset of the UCS
Original issue reported on code.google.com by [email protected]
on 20 May 2009 at 2:40
Mappa needs a normalization procedure to
(a) detect duplicates
(b) be conform to CXTM
For Mappa "+1"^^xsd:integer is different from "1"^^xsd:integer but ideally,
Mappa should normalize the "+1" value to "1".
(b) is solvable if the CXTM writer does the normalization but this is a bad
idea since it does not solve (a)
Solution:
1. Implement literal normalization in Mappa
(maybe 2.) Move that implementation to the ``tm`` package?!?
Original issue reported on code.google.com by [email protected]
on 10 Dec 2009 at 1:55
Verify that r164 solves all merging problems.
The problem: The MapHandler keeps a stack of instances of _Construct.
A problem will occur if a _Construct keeps a reference to a topic which has
been merged. The reference could be used in the type, player, or scope
property. If topics are merged, the MapHandler should replace these
references with the topic which stays in the topic map.
Walking through the stack of constructs and checking if a topic is part of
the stack is not enough, each _Construct has to be checked.
Original issue reported on code.google.com by [email protected]
on 26 Jun 2009 at 12:09
- Handle LTM @"encoding"
- Test if Unicode BOM is detected
Original issue reported on code.google.com by [email protected]
on 11 Sep 2007 at 2:39
We need support for XTM 1.0 import. Support for mergemap is not necessary
for our purposes.
Original issue reported on code.google.com by [email protected]
on 18 Apr 2009 at 2:20
Implement mergemap
Original issue reported on code.google.com by [email protected]
on 10 Sep 2007 at 12:38
Mappa should come with the memory-store but other stores should be plugable.
Entry points etc. bla bla
easy_install mappa.store.durus
easy_install mappa.store.rdbms
Original issue reported on code.google.com by [email protected]
on 29 Jun 2009 at 3:03
Traceback (most recent call last):
File "tmtest.py", line 165, in ?
tm = make_topic_map(blog)
File "tmtest.py", line 34, in make_topic_map
tm = load_xtm("/Users/larsga/data/topicmaps/blog.xtm")
File "tmtest.py", line 28, in load_xtm
reader.parse(Source(file=open(file)))
File "build/bdist.darwin-9.7.0-i386/egg/tm/mio/deserializer.py", line
136, in parse
File "/sw/lib/python2.3/site-packages/mio/reader/xtm/__init__.py", line
76, in _do_parse
parser.parse(as_inputsource(source))
File "/sw/lib/python2.3/xml/sax/expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/sw/lib/python2.3/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/sw/lib/python2.3/xml/sax/expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
File "/sw/lib/python2.3/xml/sax/expatreader.py", line 337, in
start_element_ns
AttributesNSImpl(newattrs, qnames))
File "/sw/lib/python2.3/site-packages/mio/reader/xtm/__init__.py", line
93, in startElementNS
self._content_handler.startElementNS(name, qname, attrs)
File "/sw/lib/python2.3/site-packages/mio/reader/xtm/xtm20.py", line
187, in startElementNS
handler.subjectIdentifier(href(attrs))
File "build/bdist.darwin-9.7.0-i386/egg/tm/mio/handler.py", line 301, in
subjectIdentifier
File "build/bdist.darwin-9.7.0-i386/egg/mappa/miohandler.py", line 147,
in subjectIdentifier
File "build/bdist.darwin-9.7.0-i386/egg/mappa/miohandler.py", line 355,
in _merge
File "build/bdist.darwin-9.7.0-i386/egg/mappa/_internal/enhancer.py",
line 228, in _merge
File "build/bdist.darwin-9.7.0-i386/egg/mappa/_internal/mergeutils.py",
line 315, in merge_topics
File "build/bdist.darwin-9.7.0-i386/egg/mappa/backend/stub.py", line
413, in remove
mappa._internal.exceptions.ModelConstraintViolation: The topic is not
removable since it plays roles or it is used as type, player, reifier, or
theme
I can attach the topic map, if desired.
Original issue reported on code.google.com by [email protected]
on 24 Jun 2009 at 6:31
If you delete a topic which is an instance of some topic type by calling
topic.remove() the topic *appears* to be gone, but is in reality still
present. Exporting to XTM 2.0 exports the type-instance association so
that a reference to a stub of the topic is left behind in the XTM.
Reimporting then recreates the topic with no characteristics except that
it is still an instance of the same type.
Attaching a test file and a test script that reproduce the problem.
Original issue reported on code.google.com by [email protected]
on 14 Jun 2009 at 7:06
Attachments:
Move the plyutils/xmlutils from the mio package to another package, maybe
tm.utils
Do not forget to update mio.ltm and mio.ctm (and ql.tolog?!?)
Original issue reported on code.google.com by [email protected]
on 14 Dec 2009 at 11:25
- join _urlutils with irilib and and ensure that it works
- normalize(iri) should return an unescaped IRI
- introduce externalize(iri) which encodes the IRI
Original issue reported on code.google.com by [email protected]
on 21 May 2009 at 1:50
Check-in the LTM on mio implementation
Original issue reported on code.google.com by [email protected]
on 22 May 2009 at 11:59
Implement LTM 1.3 mergemap
Original issue reported on code.google.com by [email protected]
on 10 Sep 2007 at 12:38
connection.load() relies on the "format" parameter. If the format is not
specified, connection.load() will fail.
Todo:
Try to extract the file extension from the source iff "format" is None
Original issue reported on code.google.com by [email protected]
on 19 Dec 2009 at 11:43
The XTM 1.0 keeps a variable to detect if the scope of a statement has been
read. This variable is never resetted.
Original issue reported on code.google.com by [email protected]
on 30 Jul 2009 at 11:31
Implement mergemap for XTM 2.0
Original issue reported on code.google.com by [email protected]
on 10 Sep 2007 at 12:38
Implement an AsTMa= reader. Implies that CXTM tests have to be written.
Original issue reported on code.google.com by [email protected]
on 3 Jul 2009 at 9:18
Maybe it's worth to try Plex instead of the scanners generated by Ply since
Plex uses a DFA and seems to operate on a subset of a document while Ply
enforces that a document is read completely.
http://code.google.com/p/python-plex/
Original issue reported on code.google.com by [email protected]
on 14 Dec 2009 at 10:58
Implement the registration and discovery of deserializers in tm.mio
Original issue reported on code.google.com by [email protected]
on 25 Jun 2009 at 12:51
Implement include directive
Original issue reported on code.google.com by [email protected]
on 10 Sep 2007 at 12:39
Add a JSON Topic Maps (JTM) reader to the mio packages
Original issue reported on code.google.com by [email protected]
on 19 May 2009 at 4:58
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.