I submitted a change in the doc.: https://jena.apache.org/documentation/query/spatial-query.html#how-to-use-it-by-code
My understanding is that for the basic use case of data with geo:lat and geo:long , only one EntityDefinition is needed , but others are needed for Well Known Text (WKT) and other formats. What was happening at the beginning of my trials was that the EntityDefinition in assembler file was not coherent with the one in JDK code. Le lun. 24 déc. 2018 à 00:41, Bruno P. Kinoshita <[email protected]> a écrit : > Oh, and almost forgot > > > > >when it should be: > > > > > > EntityDefinition entDef = new EntityDefinition("uri", "geo"); > > > > Feel free to update that page if necessary, either via the link at the top > right corner that says "Improve this Page", or by patching > https://svn.apache.org/repos/infra/websites/production/jena/content/documentation/query/spatial-query.html > . > > >In fact it is not clear the role of these 2 parameters, but it works with > > Interesting! I had used the EntityDefinition in Jena Text before, so I had > a guess of why it was needed. But just looked at the code to be sure. The > javadocs say: "Definition of a "document". There is probably room for > improvement in the documentation for this class. > > My understanding is that it is used to aggregate necessary properties to > create a Lucene document. There are at least two EntityDefinition's in > Jena, one for Jena Text, and one for Jena Spatial, both very similar. > > In the case of Jena Spatial, it might be easier to see how the Lucene > document is created: > https://github.com/apache/jena/blob/69571e7ebc3bfde6ec3bc4e96d136428d7f7378e/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialIndexLucene.java#L165 > > > The EntityField is also used in other parts of the code that need to know > how to prepare the query for certain predicates, or how to read the Lucene > Field's. But basically, these entities are for Lucene, to create documents > with fields, that will be used later by the query. At least that's my > understanding (: > > Hope that helps > > Bruno > > > > > ________________________________ > From: Bruno P. Kinoshita <[email protected]> > To: "[email protected]" <[email protected]> > Sent: Monday, 24 December 2018 12:27 PM > Subject: Re: Build by program a Dataset that is both textual and spatial > > > > That's great news Jean! That's some fine investigation work you did! > > > Couple questions > > > Q1/ is it something that you think could help others doing the same? If so > we could add it somewhere in the documentation. > > > Q2/ just to confirm, that's not doable via assembler files, right? Only > programmatically? > > > Cheers! > > Bruno > > > > > > ________________________________ > > From: Jean-Marc Vanel <[email protected]> > > To: Jena users <[email protected]> > > Sent: Monday, 24 December 2018 9:36 AM > > Subject: Re: Build by program a Dataset that is both textual and spatial > > > > > I finally got it to work by coding: > > > > https://github.com/jmvanel/semantic_forms/blob/master/scala/forms/src/main/scala/deductions/runtime/jena/lucene/LuceneIndex.scala#L199 > > > > A confusing documentation item was this in > > > > https://jena.apache.org/documentation/query/spatial-query.html#create-spatial-dataset > > > : > > > EntityDefinition entDef = new EntityDefinition("entityField", > > > "geoField"); > > > when it should be: > > > EntityDefinition entDef = new EntityDefinition("uri", "geo"); > > > as in > > > > https://jena.apache.org/documentation/query/spatial-query.html#create-spatial-dataset > > > > In fact it is not clear the role of these 2 parameters, but it works with > > > these values ! > > > > > > > > > > Le dim. 23 déc. 2018 à 15:49, ajs6f <[email protected]> a écrit : > > > > > Hello, Jean-Marc, > > > > > > > > Thank you for investigating this question so carefully! Of course, it > > > > should indeed be possible to build up a "text+spatial" dataset along the > > > > lines you've proposed. But would it do what is needed? I can see how it > > > > would feed changes to both indexes (which, I would note, I think you > could > > > > also do with a DatasetChanges implementation that did the same thing) but > > > > how would it use both for queries? How to combine, for example, the > `find` > > > > methods? > > > > > > > > DatasetGraphSpatial seems to use its indexes via these overrides: > > > > > > > > // ---- Intecept these and force the use of views. > > > > @Override > > > > public Graph getDefaultGraph() > > > > { return GraphView.createDefaultGraph(this) ; } > > > > @Override > > > > public Graph getGraph(Node graphNode) > > > > { return GraphView.createNamedGraph(this, graphNode) ; } > > > > // - > > > > > > > > whereas DatasetGraphText does something similar, as well as introducing a > > > > number of `search` methods. How to combine these? > > > > > > > > It's a good general problem. I can imagine other kinds of indexes that > > > > people might want to use (image indexes, timeseries representations) and > > > > our basic SPI should be able to support using multiple kinds of special > > > > indexes... > > > > > > > > ajs6f > > > > > > > > > On Dec 23, 2018, at 9:37 AM, Jean-Marc Vanel <[email protected] > > > > > > wrote: > > > > > > > > > > I think it would not be difficult to set Jena for text and spatial, by > > > > > adding the indexes in the so-called Context > (org.apache.jena.sparql.util > > > > > .Context) of the DatasetGraph . > > > > > But achieving dynamic update of both indexes when TDB is updated will > > > > > require extending the implementation along the line of preceding mail. > > > > > > > > > > I wonder if new GeoSPARQL implementation will be compatible with > textual > > > > > indexing . > > > > > > > > > > > > > > > > > > > > Le dim. 23 déc. 2018 à 11:53, Jean-Marc Vanel < > [email protected]> > > > > a > > > > > écrit : > > > > > > > > > >> Thanks Bruno for sharing your trials; alas you're not further than I. > > > > >> Using gist.github.com is indeed better than the regular git, like I > do, > > > > >> for sharing trials. > > > > >> > > > > >> I'm getting skeptical about doing spatial + textual as the Jena API > > > > >> stands. > > > > >> For one thing, nobody stood up and said "I did it" since 10 days. > > > > >> Second, spatial and textual indexing follow a similar design, but not > > > > >> readily mixable: > > > > >> > > > > >> - TextDatasetFactory 's create() method returns a DatasetGraphText > > > > >> - SpatialDatasetFactory create() method returns a > DatasetGraphSpatial > > > > >> > > > > >> Both classes DatasetGraphText and DatasetGraphSpatial have their > > > > >> respective index as members and extend DatasetGraphMonitor so that > they > > > > get > > > > >> notified of add or delete to the DatasetGraph. > > > > >> Moreover, alas, the DatasetGraphMonitor class does not follow the > > > > observer > > > > >> design pattern <https://en.wikipedia.org/wiki/Observer_pattern> , > which > > > > >> would allow to attach several observer objects to the same > DatasetGraph. > > > > >> The monitor in DatasetGraphMonitor class is interface DatasetChanges. > > > > >> > > > > >> So the solution I can think of at the moment is creating a mixin > > > > >> class DatasetGraphTextSpatial with delegation like this: > > > > >> > > > > >> class DatasetGraphTextSpatial extends DatasetGraphWrapper { > > > > >> DatasetGraphText datasetGraphText; > > > > >> DatasetGraphSpatial datasetGraphSpatial; > > > > >> public DatasetGraphTextSpatial(DatasetGraph dsg) { > > > > >> super(dsg); > > > > >> } > > > > >> // delegating all methods to both members: > > > > >> public void commit() { > > > > >> datasetGraphText.commit(); > > > > >> datasetGraphSpatial.commit(); > > > > >> } > > > > >> // etc (tedious) ... > > > > >> } > > > > >> > > > > >> > > > > >> Le dim. 23 déc. 2018 à 09:13, Bruno P. Kinoshita <[email protected]> a > > > > >> écrit : > > > > >> > > > > >>> Hi, > > > > >>> > > > > >>> I had a crack at it, without luck. Here's my set up: > > > > >>> https://gist.github.com/kinow/f391be7036b63f8ac0c08b9832e8bfa7 > > > > >>> > > > > >>> I started with a Spatial only, using a configuration turtle file from > > > > >>> Jena Spatial tests (see gist's spatial1.ttl). Loaded the dataset > (also > > > > from > > > > >>> tests), a query with spatial:nearby worked (geoarq-data-1.ttl & > > > > >>> geoarq-data-1-query.ttl in the gist above). > > > > >>> > > > > >>> Then started by modifying the spatial Lucene Index, adding the > > > > properties > > > > >>> necessary for a Jena Text dataset (see gist's spatial-text.ttl). > Tried > > > > to > > > > >>> make both, the spatial lucene index and the text lucene index point > to > > > > the > > > > >>> same directory. > > > > >>> > > > > >>> > > > > >>> Once I started Fuseki (see comments in gist for rest of set up), the > > > > >>> spatial query was still working, but even though I had a text:index > > > > >>> pointing to an index, when the query was executed, it would be > > > > delegated to > > > > >>> the DatasetGraphSpatial. This dataset knows nothing of text, and when > > > > the > > > > >>> TextQueryPF is executed, the textIndex is null. My logs have: > > > > >>> > > > > >>> [2018-12-23 21:03:57] TextQueryPF WARN Failed to find the text > index : > > > > >>> tried context and as a text-enabled dataset > > > > >>> [2018-12-23 21:03:57] TextQueryPF WARN No text index - no text > search > > > > >>> performed > > > > >>> > > > > >>> So alas I couldn't post a working example. > > > > >>> > > > > >>> Hope that helps anyway > > > > >>> > > > > >>> Bruno > > > > >>> > > > > >>> ps: Lucene locks its indexes, so I **guess** if you tried a different > > > > >>> approach of having another Fuseki pointing to the same directory, it > > > > would > > > > >>> probably raise an exception at some point > > > > >>> > > > > >>> > > > > >>> ________________________________ > > > > >>> > > > > >>> From: Jean-Marc Vanel <[email protected]> > > > > >>> To: Jena users <[email protected]> > > > > >>> Sent: Saturday, 22 December 2018 10:03 PM > > > > >>> Subject: Re: Build by program a Dataset that is both textual and > > > > spatial > > > > >>> > > > > >>> > > > > >>> > > > > >>> I reverted to trying configuration by code, with 2 more tries: > > > > >>> > > > > >>> > > > > > https://github.com/jmvanel/semantic_forms/blob/master/scala/forms/src/main/scala/deductions/runtime/jena/lucene/LuceneIndex.scala#L109 > > > > >>> : > > > > >>> add to textual Dataset's Context a spatialIndex key to the > > > > spatialIndex. > > > > >>> > > > > >>> and line 135 : > > > > >>> Use same Lucene directory for both indexes (not forgetting to > spatially > > > > >>> index the existing textual index). > > > > >>> WARN > > > > >>> > org.apache.jena.query.spatial.pfunction.SpatialOperationWithCircleBase > > > > >>> - Failed to find the spatial index : tried context and as a > > > > >>> spatial-enabled dataset > > > > >>> > > > > >>> Both fail! > > > > >>> > > > > >>> My best hope is to look into Fuseki code, > > > > >>> but can someone confirm that Fuseki does spatial WITH textual > Indexing? > > > > >>> > > > > >>> I already looked into Fuseki code, but could not find calls to > spatial > > > > or > > > > >>> textual factory in > jena-fuseki1/src/main/java/org/apache/jena/fuseki/ . > > > > >>> > > > > >>> > > > > >>> Le ven. 21 déc. 2018 à 11:29, Jean-Marc Vanel < > > > > [email protected]> > > > > >>> a > > > > >>> écrit : > > > > >>> > > > > >>>> I'm still clueless about how to configure Jena for textual AND > spatial > > > > >>>> indexes. > > > > >>>> I tried yet another assembler file: > > > > >>>> > > > > >>>> > > > > >>> > > > > > https://github.com/jmvanel/semantic_forms/blob/master/scala/jena.spatial%2Btext3.assembler.ttl > > > > >>>> but even less good as > > > > >>>> > > > > >>>> > > > > >>> > > > > > https://github.com/jmvanel/semantic_forms/blob/master/scala/jena.spatial%2Btext2.assembler.ttl > > > > >>>> reported just before. > > > > >>>> > > > > >>>> It seems that nobody uses both indexes by program; > > > > >>>> otherwise I'd like to know how you do; you can send me privately > your > > > > >>>> assembler files. > > > > >>>> > > > > >>>> Fuseki claims to "incorporate Jena text query > > > > >>>> <https://jena.apache.org/documentation/query/text-query.html> and > > > > Jena > > > > >>>> spatial query > > > > >>>> <https://jena.apache.org/documentation/query/spatial-query.html>" > in > > > > >>> this > > > > >>>> documentation: > > > > >>>> https://jena.apache.org/documentation/fuseki2/ > > > > >>>> So there is a way to configure Jena for textual AND spatial indexes! > > > > >>>> In absence of other help, I'll have to look into Fuseki code. > > > > >>>> > > > > >>>> NOTE: the error message "*tried context and as a text-enabled > > > > dataset*" > > > > >>>> maybe hints at a solution, but the word "context" is not clear. > > > > >>>> > > > > >>>> > > > > >>>> > > > > >>>> > > > > >>>> > > > > >>>> Le lun. 17 déc. 2018 à 14:51, Jean-Marc Vanel < > > > > [email protected] > > > > >>>> > > > > >>>> a écrit : > > > > >>>> > > > > >>>>> > > > > >>>>> > > > > >>>>> Le lun. 17 déc. 2018 à 13:24, Andy Seaborne <[email protected]> a > > > > écrit > > > > >>> : > > > > >>>>> > > > > >>>>>> ... > > > > >>>>>> :spatial_dataset rdf:type spatial:SpatialDataset ; > > > > >>>>>> rdf:type text:TextDataset ; > > > > >>>>>> ... > > > > >>>>>> > > > > >>>>>> Not sure but I think the system will create this twice. > > > > >>>>>> > > > > >>>>>> It would be better to have two declarations, one for spatial, one > > > > for > > > > >>>>>> text. I'm not sure what happen if they share the same :directory > - > > > > it > > > > >>>>>> might work, it might not. > > > > >>>>>> > > > > >>>>> > > > > >>>>> So, if one want to make queries that are both textual and spatial, > > > > >>>>> having two declarations, one for spatial, one for text, sharing the > > > > >>> same > > > > >>>>> directory, appears as the only solution . > > > > >>>>> I tested and report here. > > > > >>>>> The current assembler file: > > > > >>>>> > > > > >>>>> > > > > >>> > > > > > https://github.com/jmvanel/semantic_forms/blob/master/scala/jena.spatial%2Btext2.assembler.ttl > > > > >>>>> Results: > > > > >>>>> > > > > >>>>> - spatial query works, textual query has empty result, but no > > > > >>>>> message in log, when *calling with spatial Dataset* in call > > > > >>>>> to DatasetFactory.assemble() > > > > >>>>> - spatial query works, textual query has result independant of > the > > > > >>>>> string searched, and messages in log "Failed to find the text > > > > >>> index" , "No > > > > >>>>> text index - no text search performed : tried context and as a > > > > >>> text-enabled > > > > >>>>> dataset", when *calling with textual Dataset *in call to > > > > >>>>> DatasetFactory.assemble() > > > > >>>>> > > > > >>>>> The query tested for text: > > > > >>>>> PREFIX text: <http://jena.apache.org/text#> > > > > >>>>> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> > > > > >>>>> SELECT * > > > > >>>>> WHERE { > > > > >>>>> ?s a <http://dbpedia.org/ontology/Garden> ; > > > > >>>>> text:query (rdfs:label 'Gardens' ) ; > > > > >>>>> } LIMIT 11 > > > > >>>>> > > > > >>>>> The spatial query tested: > > > > >>>>> > > > > >>>>> PREFIX spatial: <http://jena.apache.org/spatial#> > > > > >>>>> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> > > > > >>>>> SELECT DISTINCT ?placeName ?place > > > > >>>>> WHERE { > > > > >>>>> ?place spatial:nearby ( > > > > >>>>> 45.750000 4.85 # Lyon > > > > >>>>> 1000 'km') . > > > > >>>>> ?place rdfs:label ?placeName > > > > >>>>> FILTER( LANG( ?placeName) = 'en' ) > > > > >>>>> } LIMIT 111 > > > > >>>>> > > > > >>>>> Data: the 2600 dboGarden in dbPedia endpoint. > > > > >>>>> > > > > >>>>> > > > > >>>>> > > > > >>>>>> Andy > > > > >>>>>> > > > > >>>>>> On 16/12/2018 16:41, Jean-Marc Vanel wrote: > > > > >>>>>>> Sorry , I sent a bad link on the list, my assembler file is > really > > > > >>>>>> this: > > > > >>>>>>> > > > > >>>>>> > > > > >>> > > > > > https://github.com/jmvanel/semantic_forms/blob/master/scala/jena.spatial%2Btext.assembler.ttl > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>>> Le dim. 16 déc. 2018 à 13:40, Marco Neumann < > > > > >>> [email protected]> > > > > >>>>>> a > > > > >>>>>>> écrit : > > > > >>>>>>> > > > > >>>>>>>> you are missing the text index in the assembler. > > > > >>>>>>>> > > > > >>>>>>>> On Sun, Dec 16, 2018 at 12:08 PM Jean-Marc Vanel < > > > > >>>>>> [email protected] > > > > >>>>>>>>> > > > > >>>>>>>> wrote: > > > > >>>>>>>> > > > > >>>>>>>>> Yes indeed, > > > > >>>>>>>>> exactly with this assembler file: > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>> > > > > >>>>>> > > > > >>> > > > > > https://github.com/jmvanel/semantic_forms/blob/master/scala/jena.spatial.assembler.ttl > > > > >>>>>>>>> > > > > >>>>>>>>> And, when the Jena based application is started with this same > > > > >>>>>> assembler > > > > >>>>>>>>> file, the spatial queries work , as said above in this thread. > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> Le dim. 16 déc. 2018 à 12:18, Marco Neumann < > > > > >>> [email protected]> > > > > >>>>>> a > > > > >>>>>>>>> écrit : > > > > >>>>>>>>> > > > > >>>>>>>>>> did you create the text index with jena.textindexer > > > > >>>>>>>>>> --desc=/<path>/config.ttl? > > > > >>>>>>>>>> > > > > >>>>>>>>>> > > > > >>>>>>>>>> On Sun, Dec 16, 2018 at 8:48 AM Jean-Marc Vanel < > > > > >>>>>>>>> [email protected]> > > > > >>>>>>>>>> wrote: > > > > >>>>>>>>>> > > > > >>>>>>>>>>> I fixed a stupid error in text index URI, resulting from > > > > >>> pasting, > > > > >>>>>> in > > > > >>>>>>>>> new > > > > >>>>>>>>>>> file jena.spatial+text.assembler.ttl: > > > > >>>>>>>>>>> > > > > >>>>>>>>>>> > > > > >>>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>> > > > > >>>>>> > > > > >>> > > > > > https://github.com/jmvanel/semantic_forms/blob/master/scala/jena.spatial%2Btext.assembler.ttl > > > > >>>>>>>>>>> > > > > >>>>>>>>>>> Now, it reads: > > > > >>>>>>>>>>> :spatial_dataset rdf:type spatial:SpatialDataset ; > > > > >>>>>>>>>>> rdf:type text:TextDataset ; > > > > >>>>>>>>>>> spatial:dataset <#dataset> ; > > > > >>>>>>>>>>> spatial:index <#indexLucene> ; > > > > >>>>>>>>>>> text:dataset <#dataset> ; > > > > >>>>>>>>>>> text:index * <#indexLuceneText>* ; > > > > >>>>>>>>>>> . > > > > >>>>>>>>>>> > > > > >>>>>>>>>>> But still it says "Failed to find the text index" . > > > > >>>>>>>>>>> > > > > >>>>>>>>>>> > > > > >>>>>>>>>>> Le dim. 16 déc. 2018 à 09:34, Jean-Marc Vanel < > > > > >>>>>>>>> [email protected]> > > > > >>>>>>>>>> a > > > > >>>>>>>>>>> écrit : > > > > >>>>>>>>>>> > > > > >>>>>>>>>>>> So I tried a new file jena.spatial+text.assembler.ttl with > > > > >>>>>>>> separate > > > > >>>>>>>>>>>> Lucene indices for spatial and text: > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>> > > > > >>>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>> > > > > >>>>>> > > > > >>> > > > > > https://github.com/jmvanel/semantic_forms/blob/master/scala/jena.spatial%2Btext.assembler.ttl > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>>> It defines a Dataset with both Dataset types and both Lucene > > > > >>>>>>>> indices: > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>>> :spatial_dataset rdf:type spatial:SpatialDataset ; > > > > >>>>>>>>>>>> rdf:type text:TextDataset ; > > > > >>>>>>>>>>>> spatial:dataset <#dataset> ; > > > > >>>>>>>>>>>> spatial:index <#indexLucene> ; > > > > >>>>>>>>>>>> text:dataset <#dataset> ; > > > > >>>>>>>>>>>> text:index <#indexLucene> ; > > > > >>>>>>>>>>>> . > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>>> Alas , when querying , it says "Failed to find the text > index" > > > > >>> : > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>>> WARN org.apache.jena.query.text.TextQueryPF - Failed to > find > > > > >>> the > > > > >>>>>>>>> text > > > > >>>>>>>>>>>> index : tried context and as a text-enabled dataset > > > > >>>>>>>>>>>> WARN org.apache.jena.query.text.TextQueryPF - No text > index - > > > > >>> no > > > > >>>>>>>>> text > > > > >>>>>>>>>>>> search performed > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>>> Is it because rdf:type spatial:SpatialDataset is asserted > > > > >>> first in > > > > >>>>>>>>>>>> assembler file? > > > > >>>>>>>>>>>> So, defining a hybrid Dataset does not work anymore by TTL > > > > >>>>>>>>>> specification > > > > >>>>>>>>>>>> than by JVM code specification. > > > > >>>>>>>>>>>> I definitely need more experts' advice . > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>>> Le sam. 15 déc. 2018 à 21:10, ajs6f <[email protected]> a > > > > >>> écrit : > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>>>>> On Dec 15, 2018, at 9:59 AM, Marco Neumann < > > > > >>>>>>>>> [email protected] > > > > >>>>>>>>>>> > > > > >>>>>>>>>>>>> wrote: > > > > >>>>>>>>>>>>>> > > > > >>>>>>>>>>>>>>> *Question*: does that make sense to have a unique Lucene > > > > >>> index > > > > >>>>>>>>> for > > > > >>>>>>>>>>>>> text and > > > > >>>>>>>>>>>>>>> space ? > > > > >>>>>>>>>>>>>>> It is possible at all? If yes, is it good in terms of > disk > > > > >>>>>>>> space > > > > >>>>>>>>>> and > > > > >>>>>>>>>>>>>>> performance? > > > > >>>>>>>>>>>>>>> Like this: > > > > >>>>>>>>>>>>>>> <#indexLucene> a text:TextIndexLucene ; > > > > >>>>>>>>>>>>>>> a spatial:SpatialIndexLucene ; > > > > >>>>>>>>>>>>>>> # etc ... > > > > >>>>>>>>>>>>> > > > > >>>>>>>>>>>>> I'm sure that would be ideal for many cases, but I'm not at > > > > >>> all > > > > >>>>>>>> sure > > > > >>>>>>>>>>> that > > > > >>>>>>>>>>>>> the same index can answer queries of both kinds. Perhaps we > > > > >>> can > > > > >>>>>>>>>> combine > > > > >>>>>>>>>>>>> fields from both, but are the relationships between tuple > and > > > > >>>>>>>> index > > > > >>>>>>>>>>> record > > > > >>>>>>>>>>>>> the same in both cases? > > > > >>>>>>>>>>>>> > > > > >>>>>>>>>>>>> Otherwise, I know we had a conversation at some point in > the > > > > >>> past > > > > >>>>>>>> on > > > > >>>>>>>>>> one > > > > >>>>>>>>>>>>> of the lists about trying to factor out commonalities > between > > > > >>>>>>>>>>> jena-spatial > > > > >>>>>>>>>>>>> and jena-text, but it didn't go very far at that time and I > > > > >>> don't > > > > >>>>>>>>> know > > > > >>>>>>>>>>> what > > > > >>>>>>>>>>>>> the intervening years have done to make it more or less > > > > >>> feasible. > > > > >>>>>>>>>> There > > > > >>>>>>>>>>>>> have been many changes to jena-text in that time and the > new > > > > >>>>>>>> spatial > > > > >>>>>>>>>>> module > > > > >>>>>>>>>>>>> is a whole new story. I'd put a link here but searching > > > > >>>>>>>>>>> lists.apache.org > > > > >>>>>>>>>>>>> hasn't brought it up for me. > > > > >>>>>>>>>>>>> > > > > >>>>>>>>>>>>> ajs6f > > > > >>>>>>>>>>>>> > > > > >>>>>>>>>>>>> > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>>> -- > > > > >>>>>>>>>>>> Jean-Marc Vanel > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>> > > > > >>>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>> > > > > >>>>>> > > > > >>> > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject > > > > >>>>>>>>>>>> < > > > > >>>>>>>>>>> > > > > >>>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>> > > > > >>>>>> > > > > >>> > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>>> Rule-based programming, Semantic Web > > > > >>>>>>>>>>>> +33 (0)6 89 16 29 52 > > > > >>>>>>>>>>>> Twitter: @jmvanel , @jmvanel_fr ; chat: irc:// > > > > >>>>>>>>>> irc.freenode.net#eulergui > > > > >>>>>>>>>>>> Chroniques jardin > > > > >>>>>>>>>>>> < > > > > >>>>>>>>>>> > > > > >>>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>> > > > > >>>>>> > > > > >>> > > > > > http://semantic-forms.cc:1952/backlinks?q=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>> > > > > >>>>>>>>>>> > > > > >>>>>>>>>>> -- > > > > >>>>>>>>>>> Jean-Marc Vanel > > > > >>>>>>>>>>> > > > > >>>>>>>>>>> > > > > >>>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>> > > > > >>>>>> > > > > >>> > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject > > > > >>>>>>>>>>> < > > > > >>>>>>>>>>> > > > > >>>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>> > > > > >>>>>> > > > > >>> > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>> Rule-based programming, Semantic Web > > > > >>>>>>>>>>> +33 (0)6 89 16 29 52 > > > > >>>>>>>>>>> Twitter: @jmvanel , @jmvanel_fr ; chat: irc:// > > > > >>>>>>>>> irc.freenode.net#eulergui > > > > >>>>>>>>>>> Chroniques jardin > > > > >>>>>>>>>>> < > > > > >>>>>>>>>>> > > > > >>>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>> > > > > >>>>>> > > > > >>> > > > > > http://semantic-forms.cc:1952/backlinks?q=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle > > > > >>>>>>>>>>>> > > > > >>>>>>>>>>> > > > > >>>>>>>>>> > > > > >>>>>>>>>> > > > > >>>>>>>>>> -- > > > > >>>>>>>>>> > > > > >>>>>>>>>> > > > > >>>>>>>>>> --- > > > > >>>>>>>>>> Marco Neumann > > > > >>>>>>>>>> KONA > > > > >>> > > > > >>>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>>> -- > > > > >>>>>>>>> Jean-Marc Vanel > > > > >>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>> > > > > >>>>>> > > > > >>> > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject > > > > >>>>>>>>> < > > > > >>>>>>>>> > > > > >>>>>>>> > > > > >>>>>> > > > > >>> > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me > > > > >>>>>>>>>> > > > > >>>>>>>>> Rule-based programming, Semantic Web > > > > >>>>>>>>> +33 (0)6 89 16 29 52 > > > > >>>>>>>>> Twitter: @jmvanel , @jmvanel_fr ; chat: irc:// > > > > >>>>>> irc.freenode.net#eulergui > > > > >>>>>>>>> Chroniques jardin > > > > >>>>>>>>> < > > > > >>>>>>>>> > > > > >>>>>>>> > > > > >>>>>> > > > > >>> > > > > > http://semantic-forms.cc:1952/backlinks?q=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle > > > > >>>>>>>>>> > > > > >>>>>>>>> > > > > >>>>>>>> > > > > >>>>>>>> > > > > >>>>>>>> -- > > > > >>>>>>>> > > > > >>>>>>>> > > > > >>>>>>>> --- > > > > >>>>>>>> Marco Neumann > > > > >>>>>>>> KONA > > > > >>>>>>>> > > > > >>>>>>> > > > > >>>>>>> > > > > >>>>>> > > > > >>>>> > > > > >>>>> > > > > >>>>> -- > > > > >>>>> Jean-Marc Vanel > > > > >>>>> > > > > >>>>> > > > > >>> > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject > > > > >>>>> < > > > > >>> > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me > > > > >>>> > > > > >>>>> Rule-based programming, Semantic Web > > > > >>>>> +33 (0)6 89 16 29 52 > > > > >>>>> Twitter: @jmvanel , @jmvanel_fr ; chat: irc:// > > > > >>> irc.freenode.net#eulergui > > > > >>>>> Chroniques jardin > > > > >>>>> < > > > > >>> > > > > > http://semantic-forms.cc:1952/backlinks?q=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle > > > > >>>> > > > > >>>>> > > > > >>>> > > > > >>>> > > > > >>>> -- > > > > >>>> Jean-Marc Vanel > > > > >>>> > > > > >>>> > > > > >>> > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject > > > > >>>> < > > > > >>> > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me > > > > >>>> > > > > >>>> Rule-based programming, Semantic Web > > > > >>>> +33 (0)6 89 16 29 52 > > > > >>>> Twitter: @jmvanel , @jmvanel_fr ; chat: irc:// > > > > irc.freenode.net#eulergui > > > > >>>> Chroniques jardin > > > > >>>> < > > > > >>> > > > > > http://semantic-forms.cc:1952/backlinks?q=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle > > > > >>>> > > > > >>>> > > > > >>> > > > > >>> > > > > >>> -- > > > > >>> Jean-Marc Vanel > > > > >>> > > > > >>> > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject > > > > >>> < > > > > >>> > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me > > > > >>>> > > > > >>> Rule-based programming, Semantic Web > > > > >>> +33 (0)6 89 16 29 52 > > > > >>> Twitter: @jmvanel , @jmvanel_fr ; chat: irc:// > > > > irc.freenode.net#eulergui > > > > >>> Chroniques jardin > > > > >>> < > > > > >>> > > > > > http://semantic-forms.cc:1952/backlinks?q=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle > > > > >>>> > > > > >>> > > > > >> > > > > >> > > > > >> -- > > > > >> Jean-Marc Vanel > > > > >> > > > > >> > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject > > > > >> < > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me > > > > > > > > > >> Rule-based programming, Semantic Web > > > > >> +33 (0)6 89 16 29 52 > > > > >> Twitter: @jmvanel , @jmvanel_fr ; chat: irc:// > irc.freenode.net#eulergui > > > > >> Chroniques jardin > > > > >> < > > > > > http://semantic-forms.cc:1952/backlinks?q=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle > > > > > > > > > >> > > > > > > > > > > > > > > > -- > > > > > Jean-Marc Vanel > > > > > > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject > > > > > < > > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me > > > > > > > > > > Rule-based programming, Semantic Web > > > > > +33 (0)6 89 16 29 52 > > > > > Twitter: @jmvanel , @jmvanel_fr ; chat: irc:// > irc.freenode.net#eulergui > > > > > Chroniques jardin > > > > > < > > > > > http://semantic-forms.cc:1952/backlinks?q=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle > > > > > > > > > > > > > > > > > -- > > > Jean-Marc Vanel > > > > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject > > > < > http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me > > > > > Rule-based programming, Semantic Web > > > +33 (0)6 89 16 29 52 > > > Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui > > > Chroniques jardin > > > < > http://semantic-forms.cc:1952/backlinks?q=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle > > > -- Jean-Marc Vanel http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me#subject <http://www.semantic-forms.cc:9111/display?displayuri=http://jmvanel.free.fr/jmv.rdf%23me> Rule-based programming, Semantic Web +33 (0)6 89 16 29 52 Twitter: @jmvanel , @jmvanel_fr ; chat: irc://irc.freenode.net#eulergui Chroniques jardin <http://semantic-forms.cc:1952/backlinks?q=http%3A%2F%2Fdbpedia.org%2Fresource%2FChronicle>
