You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(33) |
Nov
(96) |
Dec
(173) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(45) |
Feb
(46) |
Mar
(58) |
Apr
(83) |
May
(11) |
Jun
(62) |
Jul
(79) |
Aug
(62) |
Sep
(42) |
Oct
(105) |
Nov
(57) |
Dec
(73) |
2007 |
Jan
(187) |
Feb
(60) |
Mar
(313) |
Apr
(174) |
May
(74) |
Jun
(99) |
Jul
(132) |
Aug
(62) |
Sep
(65) |
Oct
(83) |
Nov
(63) |
Dec
(41) |
2008 |
Jan
(83) |
Feb
(82) |
Mar
(42) |
Apr
(88) |
May
(68) |
Jun
(67) |
Jul
(37) |
Aug
(69) |
Sep
(52) |
Oct
(85) |
Nov
(65) |
Dec
(49) |
2009 |
Jan
(50) |
Feb
(70) |
Mar
(95) |
Apr
(69) |
May
(122) |
Jun
(44) |
Jul
(217) |
Aug
(397) |
Sep
(307) |
Oct
(302) |
Nov
(131) |
Dec
(104) |
2010 |
Jan
(87) |
Feb
(102) |
Mar
(105) |
Apr
(141) |
May
(110) |
Jun
(85) |
Jul
(80) |
Aug
(110) |
Sep
(56) |
Oct
(63) |
Nov
(65) |
Dec
(45) |
2011 |
Jan
(58) |
Feb
(93) |
Mar
(86) |
Apr
(177) |
May
(82) |
Jun
(182) |
Jul
(91) |
Aug
(72) |
Sep
(70) |
Oct
(124) |
Nov
(154) |
Dec
(251) |
2012 |
Jan
(414) |
Feb
(211) |
Mar
(153) |
Apr
(69) |
May
(139) |
Jun
(50) |
Jul
(80) |
Aug
(48) |
Sep
(61) |
Oct
(101) |
Nov
(192) |
Dec
(52) |
2013 |
Jan
(48) |
Feb
(47) |
Mar
(75) |
Apr
(43) |
May
(32) |
Jun
(14) |
Jul
(39) |
Aug
(80) |
Sep
(128) |
Oct
(77) |
Nov
(105) |
Dec
(61) |
2014 |
Jan
(61) |
Feb
(224) |
Mar
(265) |
Apr
(154) |
May
(130) |
Jun
(88) |
Jul
(98) |
Aug
(57) |
Sep
(81) |
Oct
(58) |
Nov
(57) |
Dec
(34) |
2015 |
Jan
(38) |
Feb
(37) |
Mar
(26) |
Apr
(43) |
May
(73) |
Jun
(76) |
Jul
(38) |
Aug
(44) |
Sep
(39) |
Oct
(51) |
Nov
(36) |
Dec
(41) |
2016 |
Jan
(35) |
Feb
(51) |
Mar
(16) |
Apr
(106) |
May
(121) |
Jun
(58) |
Jul
(40) |
Aug
(71) |
Sep
(53) |
Oct
(100) |
Nov
(127) |
Dec
(66) |
2017 |
Jan
(130) |
Feb
(48) |
Mar
(1) |
Apr
(8) |
May
(16) |
Jun
(19) |
Jul
(12) |
Aug
(4) |
Sep
(2) |
Oct
(2) |
Nov
(4) |
Dec
(3) |
2018 |
Jan
|
Feb
(1) |
Mar
(1) |
Apr
(2) |
May
(3) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
(2) |
Dec
(1) |
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(4) |
2023 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
(2) |
May
(3) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2024 |
Jan
(1) |
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <mar...@us...> - 2017-11-06 11:13:00
|
Revision: 20273 http://sourceforge.net/p/gate/code/20273 Author: markagreenwood Date: 2017-11-06 11:12:58 +0000 (Mon, 06 Nov 2017) Log Message: ----------- a romanian flag instead of the ANNIE icon Modified Paths: -------------- gate/trunk/plugins/Lang_Romanian/resources/.romanian-pipeline-metadata/icon.png Modified: gate/trunk/plugins/Lang_Romanian/resources/.romanian-pipeline-metadata/icon.png =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2017-10-31 18:56:41
|
Revision: 20272 http://sourceforge.net/p/gate/code/20272 Author: ian_roberts Date: 2017-10-31 18:56:39 +0000 (Tue, 31 Oct 2017) Log Message: ----------- If an exception occurs here, it means there was a problem getting documents from the streaming handler. If this is the first document then dd will be null, if it's not the first document then dd will be the last one that was processed successfully, and in neither case does it make sense to reportFailure. Modified Paths: -------------- gcp/trunk/src/gate/cloud/batch/PooledDocumentProcessor.java Modified: gcp/trunk/src/gate/cloud/batch/PooledDocumentProcessor.java =================================================================== --- gcp/trunk/src/gate/cloud/batch/PooledDocumentProcessor.java 2017-10-27 10:19:03 UTC (rev 20271) +++ gcp/trunk/src/gate/cloud/batch/PooledDocumentProcessor.java 2017-10-31 18:56:39 UTC (rev 20272) @@ -286,8 +286,7 @@ catch(InterruptedException e) { Thread.currentThread().interrupt(); } catch(Exception e) { - log.error("Error processing document " + dd.id, e); - reportFailure(dd.id, dd, e); + log.error("Error getting documents from streaming input handler", e); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ada...@us...> - 2017-10-19 13:37:59
|
Revision: 20270 http://sourceforge.net/p/gate/code/20270 Author: adamfunk Date: 2017-10-19 13:37:56 +0000 (Thu, 19 Oct 2017) Log Message: ----------- bugfix backported from git Modified Paths: -------------- gate/trunk/plugins/Tagger_Chemistry/resources/clean.jape Modified: gate/trunk/plugins/Tagger_Chemistry/resources/clean.jape =================================================================== --- gate/trunk/plugins/Tagger_Chemistry/resources/clean.jape 2017-10-16 14:31:59 UTC (rev 20269) +++ gate/trunk/plugins/Tagger_Chemistry/resources/clean.jape 2017-10-19 13:37:56 UTC (rev 20270) @@ -35,7 +35,7 @@ gate.AnnotationSet splits = outputAS.get("Split",dotSet.firstNode().getOffset(),dotSet.lastNode().getOffset()); - if (splits != null || splits.size() > 0) + if (splits.size() > 0) { outputAS.removeAll(elSet); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2017-09-30 22:17:05
|
Revision: 20268 http://sourceforge.net/p/gate/code/20268 Author: ian_roberts Date: 2017-09-30 22:17:03 +0000 (Sat, 30 Sep 2017) Log Message: ----------- Fixing some bugs with WARC handling - it turns out some warc files (presumably non-Heritrix ones) don't include the space in the response header mime type, which threw our enumerator - the WARC format stores the bytes from the server as-is - it does *not* decode "Transfer-Encoding: chunked", we have to do that ourselves Modified Paths: -------------- gcp/trunk/src/gate/cloud/io/arc/ArchiveDocumentEnumerator.java gcp/trunk/src/gate/cloud/io/arc/ArchiveInputHandler.java gcp/trunk/src/gate/cloud/io/arc/WARCDocumentEnumerator.java Modified: gcp/trunk/src/gate/cloud/io/arc/ArchiveDocumentEnumerator.java =================================================================== --- gcp/trunk/src/gate/cloud/io/arc/ArchiveDocumentEnumerator.java 2017-09-30 13:34:59 UTC (rev 20267) +++ gcp/trunk/src/gate/cloud/io/arc/ArchiveDocumentEnumerator.java 2017-09-30 22:17:03 UTC (rev 20268) @@ -165,6 +165,7 @@ moveToNext(); } else { + logger.warn("No entries in archive"); reader.close(); } } @@ -187,10 +188,12 @@ } protected void moveToNext() { + logger.debug("moveToNext: archiveIterator = " + archiveIterator); while(archiveIterator != null && archiveIterator.hasNext()) { try { ArchiveRecord record = nextRecord(archiveIterator); if(record == null) { + logger.debug("Got a null record from iterator"); // skip this record continue; } @@ -198,6 +201,7 @@ long recordLength = record.getHeader().getLength(); int recordBodyLength = (int)(recordLength - recordContentBegin); // ignore zero-length records + logger.debug("Found archive record total length: " + recordLength + ", content begin: " + recordContentBegin + ", body length: " + recordBodyLength); if(recordBodyLength > 0) { String statusCode = statusCode(record); if(statusCode == null) { @@ -222,9 +226,16 @@ attrs.put(ArchiveInputHandler.RECORD_POSITION_ATTR, Long.toString(inputSequence)); next = new DocumentID(record.getHeader().getUrl(), attrs); + logger.debug("Found valid ID " + next); return; + } else { + logger.debug("Not an interesting mime type"); } + } else { + logger.debug("Status code " + statusCode + " matched by excludes"); } + } else { + logger.debug("Status code " + statusCode + " not matched by includes"); } } } finally { Modified: gcp/trunk/src/gate/cloud/io/arc/ArchiveInputHandler.java =================================================================== --- gcp/trunk/src/gate/cloud/io/arc/ArchiveInputHandler.java 2017-09-30 13:34:59 UTC (rev 20267) +++ gcp/trunk/src/gate/cloud/io/arc/ArchiveInputHandler.java 2017-09-30 22:17:03 UTC (rev 20268) @@ -25,6 +25,7 @@ import gate.cloud.util.ByteArrayURLStreamHandler; import gate.util.GateException; +import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -41,6 +42,7 @@ import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.util.DateParseException; import org.apache.commons.httpclient.util.DateUtil; +import org.apache.commons.httpclient.ChunkedInputStream; import org.apache.commons.io.IOUtils; import org.apache.commons.io.output.ByteArrayOutputStream; import org.apache.log4j.Logger; @@ -79,6 +81,8 @@ private static final String HTTP_HEADER_PREFIX = "http_header_"; private static final String HTTP_CONTENT_TYPE_HEADER_NAME = "Content-Type"; + + private static final String HTTP_TRANSFER_ENCODING_HEADER_NAME = "Transfer-Encoding"; /** * Name for an attribute used when generating {@link DocumentID} values for @@ -260,6 +264,7 @@ String encoding = null; Header[] httpHeaders = httpHeaders(record); + boolean isChunked = false; Pattern charsetPattern = Pattern.compile("charset=(['\"]?)([a-zA-Z0-9_-]+)\\1"); for(Header aHeader : httpHeaders) { if(aHeader.getName().equalsIgnoreCase(HTTP_CONTENT_TYPE_HEADER_NAME)){ @@ -266,11 +271,23 @@ Matcher m = charsetPattern.matcher(aHeader.getValue()); if(m.find()) { encoding = m.group(2); - break; } + } else if(aHeader.getName().equalsIgnoreCase(HTTP_TRANSFER_ENCODING_HEADER_NAME)) { + if("chunked".equalsIgnoreCase(aHeader.getValue())) { + isChunked = true; + } } } if(encoding == null) encoding = defaultEncoding; + + if(isChunked) { + // de-chunk the stream + ChunkedInputStream chunkIn = new ChunkedInputStream(new ByteArrayInputStream(content)); + baos = new ByteArrayOutputStream(); + IOUtils.copy(chunkIn, baos); + chunkIn.close(); + content = baos.toByteArray(); + } URL docUrl = new URL(null, header.getUrl(), new ByteArrayURLStreamHandler(content, httpHeaders)); Modified: gcp/trunk/src/gate/cloud/io/arc/WARCDocumentEnumerator.java =================================================================== --- gcp/trunk/src/gate/cloud/io/arc/WARCDocumentEnumerator.java 2017-09-30 13:34:59 UTC (rev 20267) +++ gcp/trunk/src/gate/cloud/io/arc/WARCDocumentEnumerator.java 2017-09-30 22:17:03 UTC (rev 20268) @@ -13,6 +13,7 @@ import java.io.IOException; import java.util.Iterator; +import java.util.regex.Pattern; import org.apache.commons.httpclient.Header; import org.apache.log4j.Logger; @@ -29,6 +30,9 @@ private static Logger logger = Logger.getLogger(WARCDocumentEnumerator.class); + // some non-Heritrix-produced WARC files have slightly different spacing in the mime type + protected static final Pattern HTTP_RESPONSE_MIMETYPE_PATTERN = Pattern.compile("(?i)application/http;\\s*msgtype=response"); + @Override protected ArchiveReader createReader() throws IOException { return WARCReaderFactory.get(srcFile); @@ -37,7 +41,8 @@ @Override protected ArchiveRecord nextRecord(Iterator<ArchiveRecord> it) { WARCRecord record = (WARCRecord)it.next(); - if(!WARCRecord.HTTP_RESPONSE_MIMETYPE.equals(record.getHeader().getMimetype())) { + if(!HTTP_RESPONSE_MIMETYPE_PATTERN.matcher(record.getHeader().getMimetype()).matches()) { + logger.debug("WARC record mimetype was " + record.getHeader().getMimetype() + ", ignored"); return null; } try { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2017-09-30 13:35:01
|
Revision: 20267 http://sourceforge.net/p/gate/code/20267 Author: ian_roberts Date: 2017-09-30 13:34:59 +0000 (Sat, 30 Sep 2017) Log Message: ----------- Bug fix - batches where the enumerator gives 0 documents would hang forever rather than completing. Modified Paths: -------------- gcp/trunk/src/gate/cloud/batch/BatchRunner.java Modified: gcp/trunk/src/gate/cloud/batch/BatchRunner.java =================================================================== --- gcp/trunk/src/gate/cloud/batch/BatchRunner.java 2017-09-15 13:33:49 UTC (rev 20266) +++ gcp/trunk/src/gate/cloud/batch/BatchRunner.java 2017-09-30 13:34:59 UTC (rev 20267) @@ -197,6 +197,9 @@ } }, "Batch \"" + getBatchId() + "\"-job-pusher"); jobPusher.start(); +} else { + // no documents, so fire end of batch straight away + resultQueue.add(new EndOfBatchResult()); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2017-08-14 08:59:12
|
Revision: 20263 http://sourceforge.net/p/gate/code/20263 Author: markagreenwood Date: 2017-08-14 08:59:09 +0000 (Mon, 14 Aug 2017) Log Message: ----------- mavenized Modified Paths: -------------- gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/java/de/mpii/nlp/gate/heideltime/HeideltimeWrapper.java gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/resources/resources/applications/tml-events-ml-application.gapp gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/resources/resources/applications/tml-events-ml-training.gapp gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/resources/resources/ml-events/savedFiles/logFileForNLPLearning.save Added Paths: ----------- gate/branches/sawdust2/plugins/Tagger_GATE-Time/README.md gate/branches/sawdust2/plugins/Tagger_GATE-Time/pom.xml gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/java/ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/java/de/ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/java/gate/ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/resources/ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/resources/creole.xml gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/resources/resources/ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/resources/resources/config.props gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/test/ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/test/java/ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/test/java/gate/ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/test/java/gate/creole/ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/test/java/gate/creole/GappLoadingTest.java gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/test/resources/ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/test/resources/creole.properties Removed Paths: ------------- gate/branches/sawdust2/plugins/Tagger_GATE-Time/README.txt gate/branches/sawdust2/plugins/Tagger_GATE-Time/build.xml gate/branches/sawdust2/plugins/Tagger_GATE-Time/config.props gate/branches/sawdust2/plugins/Tagger_GATE-Time/creole.xml gate/branches/sawdust2/plugins/Tagger_GATE-Time/lib/ gate/branches/sawdust2/plugins/Tagger_GATE-Time/resources/ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/de/ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/gate/ Copied: gate/branches/sawdust2/plugins/Tagger_GATE-Time/README.md (from rev 20262, gate/branches/sawdust2/plugins/Tagger_GATE-Time/README.txt) =================================================================== --- gate/branches/sawdust2/plugins/Tagger_GATE-Time/README.md (rev 0) +++ gate/branches/sawdust2/plugins/Tagger_GATE-Time/README.md 2017-08-14 08:59:09 UTC (rev 20263) @@ -0,0 +1,2 @@ +This plugin includes HeidelTime developed by Heidelberg University which is +available under the GNU GPL. For more details see https://github.com/HeidelTime/heideltime \ No newline at end of file Deleted: gate/branches/sawdust2/plugins/Tagger_GATE-Time/README.txt =================================================================== --- gate/branches/sawdust2/plugins/Tagger_GATE-Time/README.txt 2017-08-14 08:15:40 UTC (rev 20262) +++ gate/branches/sawdust2/plugins/Tagger_GATE-Time/README.txt 2017-08-14 08:59:09 UTC (rev 20263) @@ -1,2 +0,0 @@ -This plugin includes HeidelTime developed by Heidelberg University which is -available under the GNU GPL. For more details see https://github.com/HeidelTime/heideltime \ No newline at end of file Deleted: gate/branches/sawdust2/plugins/Tagger_GATE-Time/build.xml =================================================================== --- gate/branches/sawdust2/plugins/Tagger_GATE-Time/build.xml 2017-08-14 08:15:40 UTC (rev 20262) +++ gate/branches/sawdust2/plugins/Tagger_GATE-Time/build.xml 2017-08-14 08:59:09 UTC (rev 20263) @@ -1,180 +0,0 @@ -<!--====================================================================== - - Build file for Tagger_Heideltime - - This file will allow you to build your plugin with Ant. If you do not - have an Ant installation of your own, you can use the one supplied with - GATE by running - - {gate.home}/bin/ant - - or, on Windows - - {gate.home}\bin\ant - - where {gate.home} is the directory in which GATE was installed. - -=======================================================================--> -<project name="Tagger_GATE-Time" basedir="." default="all"> - - <property file="build.properties" /> - - <!--======================================================= - Property settings. You should not need to edit these - directly, if you need to set a different value for any - property you should edit build.properties and override - them there. - ========================================================--> - - <!-- Name of the plugin --> - <property name="plugin.name" value="Tagger_GATE-Time"/> - - <!-- Make environment variables available --> - <property environment="env" /> - - <!-- If environment variable GATE_HOME is set, use it for - gate.home (unless it was already set in build.properties --> - <condition property="gate.home" value="${env.GATE_HOME}"> - <isset property="env.GATE_HOME"/> - </condition> - - <!-- If gate.home is not set from build.properties or the - environment variable GATE_HOME, assume that this - plugin is in GATE Developer's plugin directory --> - <property name="gate.home" location="../.." /> - - <!-- location of GATE lib directory - should be inferred from gate.home --> - <property name="gate.lib" location="${gate.home}/lib" /> - - <!-- location of gate.jar - should be inferred from gate.home --> - <property name="gate.jar" location="${gate.home}/bin/gate.jar" /> - - <!-- Source directory - contains the Java source files for this plugin --> - <property name="src.dir" location="src" /> - - <!-- directory to contain the compiled classes --> - <property name="classes.dir" location="classes" /> - - <!-- documentation directory --> - <property name="doc.dir" location="doc" /> - - <!-- JavaDoc documentation directory --> - <property name="javadoc.dir" location="${doc.dir}/javadoc" /> - - <!-- lib directory - put any additional JAR files your plugin requires into - this directory. You will also need to add them as <JAR> entries in - creole.xml --> - <property name="lib.dir" location="lib" /> - - <!-- location for the generated JAR file --> - <property name="jar.location" location="gate-time.jar" /> - - - - <!-- Classpath to compile - includes gate.jar, GATE/lib/*.jar and any local - library JAR files. --> - <path id="compile.classpath"> - <pathelement location="${gate.jar}" /> - <fileset dir="${gate.lib}"> - <include name="**/*.jar" /> - <include name="**/*.zip" /> - </fileset> - <fileset dir="${lib.dir}" includes="**/*.jar" /> - </path> - - <!--====================== Targets ============================--> - - <!-- create build directory structure --> - <target name="prepare"> - <mkdir dir="${classes.dir}" /> - </target> - - <!-- compile the source --> - <target name="compile" depends="prepare"> - <javac classpathref="compile.classpath" - srcdir="${src.dir}" - destdir="${classes.dir}" - debug="true" - debuglevel="lines,source" - encoding="UTF-8" - source="1.7" - target="1.7"> - <compilerarg value="-Xmaxwarns" /> - <compilerarg value="${gate.compile.maxwarnings}" /> - <compilerarg value="-Xlint:all" /> - </javac> - </target> - - <!-- copy resources (anything non-.java) from src to classes --> - <target name="copy.resources" depends="prepare"> - <copy todir="${classes.dir}"> - <fileset dir="${src.dir}" excludes="**/*.java" /> - </copy> - </target> - - <!-- create the JAR file --> - <target name="jar" depends="compile, copy.resources" > - <jar destfile="${jar.location}" - update="false" - basedir="${classes.dir}" /> - </target> - - <!-- remove the generated .class files --> - <target name="clean.classes" > - <delete dir="${classes.dir}" /> - </target> - - <!-- clean resources generated by tests --> - <target name="clean.tests"> - <delete> - <fileset dir="." includes="TEST*.xml" /> - </delete> - </target> - - <!-- Clean up - remove .class and .jar files --> - <target name="clean" depends="clean.classes, clean.tests" > - <delete file="${jar.location}" /> - </target> - - <!-- Clean up everything, including Javadoc --> - <target name="docclean" depends="clean, clean.javadoc" > - </target> - - <!-- Build JavaDoc documentation --> - <target name="doc.prepare"> - <mkdir dir="${javadoc.dir}" /> - </target> - - <!-- Clean JavaDoc documentation --> - <target name="clean.javadoc"> - <delete dir="${javadoc.dir}" /> - </target> - - <target name="javadoc" depends="doc.prepare"> - <javadoc destdir="${javadoc.dir}" packagenames="*" - classpathref="compile.classpath" - encoding="UTF-8" - windowtitle="${plugin.name} JavaDoc" - source="1.7"> - <sourcepath> - <pathelement location="${src.dir}" /> - </sourcepath> - <link href="https://docs.oracle.com/javase/7/docs/api/" /> - <link href="../../../../doc/javadoc/" /> - </javadoc> - </target> - - <!-- Build everything - the code and JavaDoc --> - <target name="all" depends="jar, javadoc" /> - - <!-- Other targets used by the main GATE build file: - build: build the plugin - just calls "jar" target - test : run the unit tests - there aren't any - distro.prepare: remove intermediate files that shouldn't be in the - distribution - --> - <target name="build" depends="jar" /> - <target name="test" /> - <target name="distro.prepare" depends="clean.classes, clean.tests" /> - -</project> Deleted: gate/branches/sawdust2/plugins/Tagger_GATE-Time/config.props =================================================================== --- gate/branches/sawdust2/plugins/Tagger_GATE-Time/config.props 2017-08-14 08:15:40 UTC (rev 20262) +++ gate/branches/sawdust2/plugins/Tagger_GATE-Time/config.props 2017-08-14 08:59:09 UTC (rev 20263) @@ -1,74 +0,0 @@ -################################ -## MAIN ## -################################ -# Consideration of different timex3-types -# Date -considerDate = true - -# Duration -considerDuration = true - -# Set -considerSet = true - -# Time -considerTime = true - - -################################### -# Path to TreeTagger home directory -################################### -# Ensure there is no white space in path (try to escape white spaces) -# treeTaggerHome = SET ME IN CONFIG.PROPS!, e.g., me it is: -treeTaggerHome = /local/home/jstroetge/data/heideltime-forever/heideltime/treetagger -# This one is only necessary if you want to process chinese documents. -chineseTokenizerPath = SET ME IN CONFIG.PROPS! - -################################## -# paths to JVnTextPro model paths: -################################## -sent_model_path = SET ME IN CONFIG.PROPS! -word_model_path = SET ME IN CONFIG.PROPS! -pos_model_path = SET ME IN CONFIG.PROPS! - -##################################################### -# paths to Stanford POS Tagger model or config files: -##################################################### -model_path = SET ME IN CONFIG.PROPS! -# leave this unset if you do not need one -config_path = - -######################################## -## paths to hunpos and its tagger files: -######################################## -hunpos_path = SET ME IN CONFIG.PROPS! -hunpos_model_name = SET ME IN CONFIG.PROPS! - - - -# DO NOT CHANGE THE FOLLOWING -################################ -# Relative path of type system in HeidelTime home directory -typeSystemHome = desc/type/HeidelTime_TypeSystem.xml - -# Relative path of dkpro type system in HeidelTime home directory -typeSystemHome_DKPro = desc/type/DKPro_TypeSystem.xml - -# Name of uima-context variables... -# ...for date-consideration -uimaVarDate = Date - -# ...for duration-consideration -uimaVarDuration = Duration - -# ...for language -uimaVarLanguage = Language - -# ...for set-consideration -uimaVarSet = Set - -# ...for time-consideration -uimaVarTime = Time - -# ...for type to process -uimaVarTypeToProcess = Type Deleted: gate/branches/sawdust2/plugins/Tagger_GATE-Time/creole.xml =================================================================== --- gate/branches/sawdust2/plugins/Tagger_GATE-Time/creole.xml 2017-08-14 08:15:40 UTC (rev 20262) +++ gate/branches/sawdust2/plugins/Tagger_GATE-Time/creole.xml 2017-08-14 08:59:09 UTC (rev 20263) @@ -1,6 +0,0 @@ - -<CREOLE-DIRECTORY> - <JAR SCAN="true">gate-time.jar</JAR> - <JAR>lib/de.unihd.dbs.heideltime.standalone.jar</JAR> - <JAR>lib/uima-core.jar</JAR> -</CREOLE-DIRECTORY> Added: gate/branches/sawdust2/plugins/Tagger_GATE-Time/pom.xml =================================================================== --- gate/branches/sawdust2/plugins/Tagger_GATE-Time/pom.xml (rev 0) +++ gate/branches/sawdust2/plugins/Tagger_GATE-Time/pom.xml 2017-08-14 08:59:09 UTC (rev 20263) @@ -0,0 +1,47 @@ + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>uk.ac.gate</groupId> + <artifactId>gate-plugin-base</artifactId> + <!-- this should be the version of GATE you wish to build against --> + <version>8.5-SNAPSHOT</version> + + <!-- this forces the parent to always be resolved from the repo --> + <relativePath></relativePath> + </parent> + + <!-- this is the description of this plugin --> + <groupId>uk.ac.gate.plugins</groupId> + <artifactId>tagger-gate-time</artifactId> + <version>8.5-SNAPSHOT</version> + + <licenses> + <license> + <!-- this is the license we usually use for plugins but feel free to change + this if you feel a different license would be more suitable for your plugin --> + <name>GNU General Public License (GPL), Version 3</name> + <url>http://www.gnu.org/licenses/gpl-3.0.txt</url> + <distribution>repo</distribution> + </license> + </licenses> + + <dependencies> + <!-- add any other libraries your plugin depends on. Any other GATE plugins + you depend on at compile time should use the provided scope --> + <dependency> + <groupId>org.apache.uima</groupId> + <artifactId>uimaj-core</artifactId> + <version>2.8.1</version> + </dependency> + <dependency> + <groupId>com.github.heideltime</groupId> + <artifactId>heideltime</artifactId> + <version>2.2.1</version> + </dependency> + </dependencies> + +</project> Modified: gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/java/de/mpii/nlp/gate/heideltime/HeideltimeWrapper.java =================================================================== --- gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/de/mpii/nlp/gate/heideltime/HeideltimeWrapper.java 2017-08-14 08:15:40 UTC (rev 20262) +++ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/java/de/mpii/nlp/gate/heideltime/HeideltimeWrapper.java 2017-08-14 08:59:09 UTC (rev 20263) @@ -657,7 +657,7 @@ return dctAnnotation; } - @CreoleParameter(comment="Location of the 'config.props' file (distributed with HeidelTime standalone)", + @CreoleParameter(comment="Location of the 'resources/config.props' file (distributed with HeidelTime standalone)", defaultValue="config.props") public void setConfigFile(URL configFile) { this.configFile = configFile; Copied: gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/resources/creole.xml (from rev 20262, gate/branches/sawdust2/plugins/Tagger_GATE-Time/creole.xml) =================================================================== --- gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/resources/creole.xml (rev 0) +++ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/resources/creole.xml 2017-08-14 08:59:09 UTC (rev 20263) @@ -0,0 +1,4 @@ + +<CREOLE-DIRECTORY> + +</CREOLE-DIRECTORY> Modified: gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/resources/resources/applications/tml-events-ml-application.gapp =================================================================== --- gate/branches/sawdust2/plugins/Tagger_GATE-Time/resources/applications/tml-events-ml-application.gapp 2017-08-14 08:15:40 UTC (rev 20262) +++ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/resources/resources/applications/tml-events-ml-application.gapp 2017-08-14 08:59:09 UTC (rev 20263) @@ -1,20 +1,28 @@ <gate.util.persistence.GateApplication> <urlList class="gate.util.persistence.CollectionPersistence"> <localList> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/Tools</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/Learning</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/Groovy</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> + <gate.creole.Plugin-Maven> + <group>uk.ac.gate.plugins</group> + <artifact>annie</artifact> + <version>8.5-SNAPSHOT</version> + </gate.creole.Plugin-Maven> + <gate.creole.Plugin-Maven> + <group>uk.ac.gate.plugins</group> + <artifact>tools</artifact> + <version>8.5-SNAPSHOT</version> + </gate.creole.Plugin-Maven> + <gate.creole.Plugin-Maven> + <group>uk.ac.gate.plugins</group> + <artifact>learning</artifact> + <version>8.5-SNAPSHOT</version> + </gate.creole.Plugin-Maven> + <gate.creole.Plugin-Maven> + <group>uk.ac.gate.plugins</group> + <artifact>groovy</artifact> + <version>8.5-SNAPSHOT</version> + </gate.creole.Plugin-Maven> </localList> - <collectionType>java.util.ArrayList</collectionType> + <collectionType>java.util.Collections$UnmodifiableSet</collectionType> </urlList> <application class="gate.util.persistence.ConditionalSerialAnalyserControllerPersistence"> <strategiesList class="gate.util.persistence.CollectionPersistence"> @@ -23,40 +31,10 @@ <runMode>1</runMode> <featureName></featureName> <featureValue></featureValue> - <pr class="gate.util.persistence.PRPersistence"> + <pr class="gate.util.persistence.LanguageAnalyserPersistence"> <runtimeParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>setsToKeep</string> - <gate.util.persistence.CollectionPersistence> - <localList> - <string>Key</string> - </localList> - <collectionType>java.util.ArrayList</collectionType> - </gate.util.persistence.CollectionPersistence> - </entry> - <entry> - <string>keepOriginalMarkupsAS</string> - <boolean>true</boolean> - </entry> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>setsToRemove</string> - <null/> - </entry> - <entry> - <string>annotationTypes</string> - <null/> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - </localMap> + <localMap/> </runtimeParams> <resourceType>gate.creole.annotdelete.AnnotationDeletePR</resourceType> <resourceName>docReset</resourceName> @@ -82,43 +60,13 @@ <pr class="gate.util.persistence.LanguageAnalyserPersistence"> <runtimeParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>annotationSetName</string> - <null/> - </entry> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - </localMap> + <localMap/> </runtimeParams> <resourceType>gate.creole.tokeniser.DefaultTokeniser</resourceType> <resourceName>tokenizer</resourceName> <initParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>tokeniserRulesURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE/resources/tokeniser/DefaultTokeniser.rules</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>transducerGrammarURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE/resources/tokeniser/postprocess.jape</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - </localMap> + <localMap/> </initParams> <features class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> @@ -138,24 +86,7 @@ <pr class="gate.util.persistence.LanguageAnalyserPersistence"> <runtimeParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>outputASName</string> - <null/> - </entry> - <entry> - <string>inputASName</string> - <null/> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - </localMap> + <localMap/> </runtimeParams> <resourceType>gate.creole.splitter.SentenceSplitter</resourceType> <resourceName>splitter</resourceName> @@ -163,20 +94,10 @@ <mapType>gate.util.SimpleFeatureMapImpl</mapType> <localMap> <entry> - <string>gazetteerListsURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE/resources/sentenceSplitter/gazetteer/lists.def</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> <string>transducerURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE/resources/sentenceSplitter/grammar/main.jape</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> + <gate.util.persistence.PersistenceManager-RRPersistence> + <uriString>creole://uk.ac.gate.plugins;annie;8.5-SNAPSHOT/resources/sentenceSplitter/grammar/main.jape</uriString> + </gate.util.persistence.PersistenceManager-RRPersistence> </entry> </localMap> </initParams> @@ -198,67 +119,13 @@ <pr class="gate.util.persistence.LanguageAnalyserPersistence"> <runtimeParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>failOnMissingInputAnnotations</string> - <boolean>true</boolean> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>outputASName</string> - <null/> - </entry> - <entry> - <string>inputASName</string> - <null/> - </entry> - <entry> - <string>posTagAllTokens</string> - <boolean>true</boolean> - </entry> - <entry> - <string>baseTokenAnnotationType</string> - <string>Token</string> - </entry> - <entry> - <string>baseSentenceAnnotationType</string> - <string>Sentence</string> - </entry> - <entry> - <string>outputAnnotationType</string> - <string>Token</string> - </entry> - </localMap> + <localMap/> </runtimeParams> <resourceType>gate.creole.POSTagger</resourceType> <resourceName>posTagger</resourceName> <initParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>encoding</string> - <null/> - </entry> - <entry> - <string>lexiconURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE/resources/heptag/lexicon</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>rulesURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE/resources/heptag/ruleset</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - </localMap> + <localMap/> </initParams> <features class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> @@ -275,56 +142,16 @@ <runMode>1</runMode> <featureName></featureName> <featureValue></featureValue> - <pr class="gate.util.persistence.PRPersistence"> + <pr class="gate.util.persistence.LanguageAnalyserPersistence"> <runtimeParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>affixFeatureName</string> - <string>affix</string> - </entry> - <entry> - <string>annotationSetName</string> - <null/> - </entry> - <entry> - <string>failOnMissingInputAnnotations</string> - <boolean>true</boolean> - </entry> - <entry> - <string>rootFeatureName</string> - <string>root</string> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>considerPOSTag</string> - <boolean>true</boolean> - </entry> - </localMap> + <localMap/> </runtimeParams> <resourceType>gate.creole.morph.Morph</resourceType> <resourceName>lemmatizer</resourceName> <initParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>rulesFile</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/Tools/resources/morph/default.rul</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>caseSensitive</string> - <boolean>false</boolean> - </entry> - </localMap> + <localMap/> </initParams> <features class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> @@ -339,8 +166,7 @@ </entry> <entry> <string>@comment</string> - <string>Even if the ML config doesn't use Token.root, leave this is in so the postprocessing JAPE can create the EVENT.stem feature. -</string> + <string>Even if the ML config doesn't use Token.root, leave this is in so the postprocessing JAPE can create the EVENT.stem feature.</string> </entry> </localMap> </features> @@ -353,28 +179,7 @@ <pr class="gate.util.persistence.LanguageAnalyserPersistence"> <runtimeParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>annotationSetName</string> - <null/> - </entry> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>longestMatchOnly</string> - <boolean>true</boolean> - </entry> - <entry> - <string>wholeWordsOnly</string> - <boolean>true</boolean> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - </localMap> + <localMap/> </runtimeParams> <resourceType>gate.creole.gazetteer.DefaultGazetteer</resourceType> <resourceName>annieGazetteer</resourceName> @@ -385,20 +190,6 @@ <string>gazetteerFeatureSeparator</string> <null/> </entry> - <entry> - <string>listsURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE/resources/gazetteer/lists.def</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>caseSensitive</string> - <boolean>true</boolean> - </entry> </localMap> </initParams> <features class="gate.util.persistence.MapPersistence"> @@ -421,22 +212,10 @@ <mapType>gate.util.SimpleFeatureMapImpl</mapType> <localMap> <entry> - <string>corpus</string> - <null/> - </entry> - <entry> <string>outputASName</string> <string></string> </entry> <entry> - <string>inputASName</string> - <null/> - </entry> - <entry> - <string>runProtocolDir</string> - <null/> - </entry> - <entry> <string>learningMode</string> <gate.learning.RunMode>APPLICATION</gate.learning.RunMode> </entry> @@ -481,32 +260,7 @@ <pr class="gate.util.persistence.LanguageAnalyserPersistence"> <runtimeParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>enableDebugging</string> - <boolean>false</boolean> - </entry> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>outputASName</string> - <null/> - </entry> - <entry> - <string>inputASName</string> - <null/> - </entry> - <entry> - <string>ontology</string> - <null/> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - </localMap> + <localMap/> </runtimeParams> <resourceType>gate.creole.Transducer</resourceType> <resourceName>postprocessing</resourceName> @@ -514,27 +268,11 @@ <mapType>gate.util.SimpleFeatureMapImpl</mapType> <localMap> <entry> - <string>binaryGrammarURL</string> - <null/> - </entry> - <entry> - <string>annotationAccessors</string> - <null/> - </entry> - <entry> <string>grammarURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../ml-events/postproc-main.jape</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> + <gate.util.persistence.PersistenceManager-RRPersistence> + <uriString>$relpath$../ml-events/postproc-main.jape</uriString> + </gate.util.persistence.PersistenceManager-RRPersistence> </entry> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>operators</string> - <null/> - </entry> </localMap> </initParams> <features class="gate.util.persistence.MapPersistence"> @@ -552,8 +290,7 @@ <string>@comment</string> <string>Add "stem" feature to each EVENT annotation. -This is a multiphase grammar with only 1 phase, in case we need to add more postprocessing later. -</string> +This is a multiphase grammar with only 1 phase, in case we need to add more postprocessing later.</string> </entry> </localMap> </features> @@ -564,11 +301,11 @@ </strategiesList> <prList class="gate.util.persistence.CollectionPersistence"> <localList> - <gate.util.persistence.PRPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence/pr"/> + <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence/pr"/> <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[2]/pr"/> <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[3]/pr"/> <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[4]/pr"/> - <gate.util.persistence.PRPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[5]/pr"/> + <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[5]/pr"/> <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[6]/pr"/> <gate.util.persistence.PRPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[7]/pr"/> <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[8]/pr"/> @@ -581,5 +318,9 @@ <mapType>gate.util.SimpleFeatureMapImpl</mapType> <localMap/> </initParams> + <features class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap/> + </features> </application> -</gate.util.persistence.GateApplication> +</gate.util.persistence.GateApplication> \ No newline at end of file Modified: gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/resources/resources/applications/tml-events-ml-training.gapp =================================================================== --- gate/branches/sawdust2/plugins/Tagger_GATE-Time/resources/applications/tml-events-ml-training.gapp 2017-08-14 08:15:40 UTC (rev 20262) +++ gate/branches/sawdust2/plugins/Tagger_GATE-Time/src/main/resources/resources/applications/tml-events-ml-training.gapp 2017-08-14 08:59:09 UTC (rev 20263) @@ -1,20 +1,28 @@ <gate.util.persistence.GateApplication> <urlList class="gate.util.persistence.CollectionPersistence"> <localList> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/Tools</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/Learning</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/Groovy</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> + <gate.creole.Plugin-Maven> + <group>uk.ac.gate.plugins</group> + <artifact>annie</artifact> + <version>8.5-SNAPSHOT</version> + </gate.creole.Plugin-Maven> + <gate.creole.Plugin-Maven> + <group>uk.ac.gate.plugins</group> + <artifact>tools</artifact> + <version>8.5-SNAPSHOT</version> + </gate.creole.Plugin-Maven> + <gate.creole.Plugin-Maven> + <group>uk.ac.gate.plugins</group> + <artifact>learning</artifact> + <version>8.5-SNAPSHOT</version> + </gate.creole.Plugin-Maven> + <gate.creole.Plugin-Maven> + <group>uk.ac.gate.plugins</group> + <artifact>groovy</artifact> + <version>8.5-SNAPSHOT</version> + </gate.creole.Plugin-Maven> </localList> - <collectionType>java.util.ArrayList</collectionType> + <collectionType>java.util.Collections$UnmodifiableSet</collectionType> </urlList> <application class="gate.util.persistence.ConditionalSerialAnalyserControllerPersistence"> <strategiesList class="gate.util.persistence.CollectionPersistence"> @@ -23,40 +31,10 @@ <runMode>1</runMode> <featureName></featureName> <featureValue></featureValue> - <pr class="gate.util.persistence.PRPersistence"> + <pr class="gate.util.persistence.LanguageAnalyserPersistence"> <runtimeParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>setsToKeep</string> - <gate.util.persistence.CollectionPersistence> - <localList> - <string>Key</string> - </localList> - <collectionType>java.util.ArrayList</collectionType> - </gate.util.persistence.CollectionPersistence> - </entry> - <entry> - <string>keepOriginalMarkupsAS</string> - <boolean>true</boolean> - </entry> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>setsToRemove</string> - <null/> - </entry> - <entry> - <string>annotationTypes</string> - <null/> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - </localMap> + <localMap/> </runtimeParams> <resourceType>gate.creole.annotdelete.AnnotationDeletePR</resourceType> <resourceName>docReset</resourceName> @@ -82,43 +60,13 @@ <pr class="gate.util.persistence.LanguageAnalyserPersistence"> <runtimeParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>annotationSetName</string> - <null/> - </entry> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - </localMap> + <localMap/> </runtimeParams> <resourceType>gate.creole.tokeniser.DefaultTokeniser</resourceType> <resourceName>tokenizer</resourceName> <initParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>tokeniserRulesURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE/resources/tokeniser/DefaultTokeniser.rules</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>transducerGrammarURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE/resources/tokeniser/postprocess.jape</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - </localMap> + <localMap/> </initParams> <features class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> @@ -138,24 +86,7 @@ <pr class="gate.util.persistence.LanguageAnalyserPersistence"> <runtimeParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>outputASName</string> - <null/> - </entry> - <entry> - <string>inputASName</string> - <null/> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - </localMap> + <localMap/> </runtimeParams> <resourceType>gate.creole.splitter.SentenceSplitter</resourceType> <resourceName>splitter</resourceName> @@ -163,20 +94,10 @@ <mapType>gate.util.SimpleFeatureMapImpl</mapType> <localMap> <entry> - <string>gazetteerListsURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE/resources/sentenceSplitter/gazetteer/lists.def</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> <string>transducerURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE/resources/sentenceSplitter/grammar/main.jape</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> + <gate.util.persistence.PersistenceManager-RRPersistence> + <uriString>creole://uk.ac.gate.plugins;annie;8.5-SNAPSHOT/resources/sentenceSplitter/grammar/main.jape</uriString> + </gate.util.persistence.PersistenceManager-RRPersistence> </entry> </localMap> </initParams> @@ -198,67 +119,13 @@ <pr class="gate.util.persistence.LanguageAnalyserPersistence"> <runtimeParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>failOnMissingInputAnnotations</string> - <boolean>true</boolean> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>outputASName</string> - <null/> - </entry> - <entry> - <string>inputASName</string> - <null/> - </entry> - <entry> - <string>posTagAllTokens</string> - <boolean>true</boolean> - </entry> - <entry> - <string>baseTokenAnnotationType</string> - <string>Token</string> - </entry> - <entry> - <string>baseSentenceAnnotationType</string> - <string>Sentence</string> - </entry> - <entry> - <string>outputAnnotationType</string> - <string>Token</string> - </entry> - </localMap> + <localMap/> </runtimeParams> <resourceType>gate.creole.POSTagger</resourceType> <resourceName>posTagger</resourceName> <initParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>encoding</string> - <null/> - </entry> - <entry> - <string>lexiconURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE/resources/heptag/lexicon</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>rulesURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE/resources/heptag/ruleset</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - </localMap> + <localMap/> </initParams> <features class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> @@ -275,56 +142,16 @@ <runMode>1</runMode> <featureName></featureName> <featureValue></featureValue> - <pr class="gate.util.persistence.PRPersistence"> + <pr class="gate.util.persistence.LanguageAnalyserPersistence"> <runtimeParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>affixFeatureName</string> - <string>affix</string> - </entry> - <entry> - <string>annotationSetName</string> - <null/> - </entry> - <entry> - <string>failOnMissingInputAnnotations</string> - <boolean>true</boolean> - </entry> - <entry> - <string>rootFeatureName</string> - <string>root</string> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>considerPOSTag</string> - <boolean>true</boolean> - </entry> - </localMap> + <localMap/> </runtimeParams> <resourceType>gate.creole.morph.Morph</resourceType> <resourceName>lemmatizer</resourceName> <initParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>rulesFile</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/Tools/resources/morph/default.rul</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>caseSensitive</string> - <boolean>false</boolean> - </entry> - </localMap> + <localMap/> </initParams> <features class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> @@ -344,28 +171,7 @@ <pr class="gate.util.persistence.LanguageAnalyserPersistence"> <runtimeParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>annotationSetName</string> - <null/> - </entry> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>longestMatchOnly</string> - <boolean>true</boolean> - </entry> - <entry> - <string>wholeWordsOnly</string> - <boolean>true</boolean> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - </localMap> + <localMap/> </runtimeParams> <resourceType>gate.creole.gazetteer.DefaultGazetteer</resourceType> <resourceName>annieGazetteer</resourceName> @@ -376,20 +182,6 @@ <string>gazetteerFeatureSeparator</string> <null/> </entry> - <entry> - <string>listsURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$gatehome$plugins/ANNIE/resources/gazetteer/lists.def</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>caseSensitive</string> - <boolean>true</boolean> - </entry> </localMap> </initParams> <features class="gate.util.persistence.MapPersistence"> @@ -405,7 +197,7 @@ </gate.util.persistence.AnalyserRunningStrategyPersistence> <gate.util.persistence.AnalyserRunningStrategyPersistence> <runMode>1</runMode> - <pr class="gate.util.persistence.PRPersistence"> + <pr class="gate.util.persistence.LanguageAnalyserPersistence"> <runtimeParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> <localMap> @@ -414,18 +206,6 @@ <string>Original markups</string> </entry> <entry> - <string>textTagName</string> - <null/> - </entry> - <entry> - <string>transferAllUnlessFound</string> - <boolean>true</boolean> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - <entry> <string>copyAnnotations</string> <boolean>true</boolean> </entry> @@ -434,10 +214,6 @@ <string></string> </entry> <entry> - <string>inputASName</string> - <string>Original markups</string> - </entry> - <entry> <string>annotationTypes</string> <gate.util.persistence.CollectionPersistence> <localList> @@ -446,6 +222,10 @@ <collectionType>java.util.ArrayList</collectionType> </gate.util.persistence.CollectionPersistence> </entry> + <entry> + <string>inputASName</string> + <string>Original markups</string> + </entry> </localMap> </runtimeParams> <resourceType>gate.creole.annotransfer.AnnotationSetTransfer</resourceType> @@ -467,8 +247,7 @@ </entry> <entry> <string>@comment</string> - <string>Copy EVENT annotations from Original markups to default AS for training. -</string> + <string>Copy EVENT annotations from Original markups to default AS for training.</string> </entry> </localMap> </features> @@ -481,28 +260,7 @@ <pr class="gate.util.persistence.PRPersistence"> <runtimeParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>outputASName</string> - <null/> - </entry> - <entry> - <string>inputASName</string> - <null/> - </entry> - <entry> - <string>runProtocolDir</string> - <null/> - </entry> - <entry> - <string>learningMode</string> - <gate.learning.RunMode>TRAINING</gate.learning.RunMode> - </entry> - </localMap> + <localMap/> </runtimeParams> <resourceType>gate.learning.LearningAPIMain</resourceType> <resourceName>learning</resourceName> @@ -541,13 +299,13 @@ </strategiesList> <prList class="gate.util.persistence.CollectionPersistence"> <localList> - <gate.util.persistence.PRPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence/pr"/> + <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence/pr"/> <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[2]/pr"/> <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[3]/pr"/> <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[4]/pr"/> - <gate.util.persistence.PRPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[5]/pr"/> + <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[5]/pr"/> <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[6]/pr"/> - <gate.util.persistence.PRPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[7]/pr"/> + <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[7]/pr"/> <gate.util.persistence.PRPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[8]/pr"/> </localList> <collectionType>java.util.ArrayList</collectionType> @@ -579,10 +337,9 @@ </entry> <entry> <string>@comment</string> - <string>ML training application for *.tml EVENT annotations. -</string> + <string>ML training application for *.tml EVENT annotations.</string> </entry> </localMap> </feature... [truncated message content] |
From: <mar...@us...> - 2017-08-14 08:15:42
|
Revision: 20262 http://sourceforge.net/p/gate/code/20262 Author: markagreenwood Date: 2017-08-14 08:15:40 +0000 (Mon, 14 Aug 2017) Log Message: ----------- tieded up both gapp files Modified Paths: -------------- gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french+tagger.gapp gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french.gapp Modified: gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french+tagger.gapp =================================================================== --- gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french+tagger.gapp 2017-08-14 08:12:45 UTC (rev 20261) +++ gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french+tagger.gapp 2017-08-14 08:15:40 UTC (rev 20262) @@ -1,12 +1,16 @@ <gate.util.persistence.GateApplication> <urlList class="gate.util.persistence.CollectionPersistence"> <localList> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../Tagger_Framework</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../ANNIE</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> + <gate.creole.Plugin-Maven> + <group>uk.ac.gate.plugins</group> + <artifact>annie</artifact> + <version>8.5-SNAPSHOT</version> + </gate.creole.Plugin-Maven> + <gate.creole.Plugin-Maven> + <group>uk.ac.gate.plugins</group> + <artifact>tagger-framework</artifact> + <version>8.5-SNAPSHOT</version> + </gate.creole.Plugin-Maven> </localList> <collectionType>java.util.ArrayList</collectionType> </urlList> @@ -165,30 +169,7 @@ <resourceName>RegEx Sentence Splitter</resourceName> <initParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>externalSplitListURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../ANNIE/resources/regex-splitter/external-split-patterns.txt</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>nonSplitListURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../ANNIE/resources/regex-splitter/non-split-patterns.txt</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>internalSplitListURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../ANNIE/resources/regex-splitter/internal-split-patterns.txt</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - </localMap> + <localMap/> </initParams> <features class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> @@ -438,12 +419,6 @@ <mapType>gate.util.SimpleFeatureMapImpl</mapType> <localMap> <entry> - <string>definitionFileURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../ANNIE/resources/othomatcher/listsNM.def</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> <string>minimumNicknameLikelihood</string> <double>0.5</double> </entry> @@ -496,4 +471,4 @@ <localMap/> </features> </application> -</gate.util.persistence.GateApplication> \ No newline at end of file +</gate.util.persistence.GateApplication> Modified: gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french.gapp =================================================================== --- gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french.gapp 2017-08-14 08:12:45 UTC (rev 20261) +++ gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french.gapp 2017-08-14 08:15:40 UTC (rev 20262) @@ -6,11 +6,7 @@ <artifact>annie</artifact> <version>8.5-SNAPSHOT</version> </gate.creole.Plugin-Maven> - <gate.creole.Plugin-Maven> - <group>uk.ac.gate.plugins</group> - <artifact>lang-french</artifact> - <version>8.5-SNAPSHOT</version> - </gate.creole.Plugin-Maven> </localList> + </localList> <collectionType>java.util.ArrayList</collectionType> </urlList> <application class="gate.util.persistence.ConditionalControllerPersistence"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2017-08-14 08:12:48
|
Revision: 20261 http://sourceforge.net/p/gate/code/20261 Author: markagreenwood Date: 2017-08-14 08:12:45 +0000 (Mon, 14 Aug 2017) Log Message: ----------- fixed the main gapp file Modified Paths: -------------- gate/branches/sawdust2/plugins/Lang_French/pom.xml gate/branches/sawdust2/plugins/Lang_French/src/main/java/french/FrenchIE.java gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french.gapp Modified: gate/branches/sawdust2/plugins/Lang_French/pom.xml =================================================================== --- gate/branches/sawdust2/plugins/Lang_French/pom.xml 2017-08-14 08:03:48 UTC (rev 20260) +++ gate/branches/sawdust2/plugins/Lang_French/pom.xml 2017-08-14 08:12:45 UTC (rev 20261) @@ -32,12 +32,6 @@ <dependencies> <!-- add any other libraries your plugin depends on. Any other GATE plugins you depend on at compile time should use the provided scope --> - <dependency> - <groupId>uk.ac.gate.plugins</groupId> - <artifactId>annie</artifactId> - <version>8.5-SNAPSHOT</version> - <scope>provided</scope> - </dependency> </dependencies> </project> Modified: gate/branches/sawdust2/plugins/Lang_French/src/main/java/french/FrenchIE.java =================================================================== --- gate/branches/sawdust2/plugins/Lang_French/src/main/java/french/FrenchIE.java 2017-08-14 08:03:48 UTC (rev 20260) +++ gate/branches/sawdust2/plugins/Lang_French/src/main/java/french/FrenchIE.java 2017-08-14 08:12:45 UTC (rev 20261) @@ -8,7 +8,7 @@ @CreoleResource(name = "French IE System", comment = "Ready-made French IE application", autoinstances = @AutoInstance(parameters = { - @AutoInstanceParam(name="pipelineURL", value="french.gapp"), + @AutoInstanceParam(name="pipelineURL", value="resources/french.gapp"), @AutoInstanceParam(name="menu", value="French")})) public class FrenchIE extends PackagedController { Modified: gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french.gapp =================================================================== --- gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french.gapp 2017-08-14 08:03:48 UTC (rev 20260) +++ gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french.gapp 2017-08-14 08:12:45 UTC (rev 20261) @@ -1,13 +1,16 @@ <gate.util.persistence.GateApplication> <urlList class="gate.util.persistence.CollectionPersistence"> <localList> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../ANNIE</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$.</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </localList> + <gate.creole.Plugin-Maven> + <group>uk.ac.gate.plugins</group> + <artifact>annie</artifact> + <version>8.5-SNAPSHOT</version> + </gate.creole.Plugin-Maven> + <gate.creole.Plugin-Maven> + <group>uk.ac.gate.plugins</group> + <artifact>lang-french</artifact> + <version>8.5-SNAPSHOT</version> + </gate.creole.Plugin-Maven> </localList> <collectionType>java.util.ArrayList</collectionType> </urlList> <application class="gate.util.persistence.ConditionalControllerPersistence"> @@ -276,7 +279,7 @@ </localMap> </runtimeParams> <resourceType>gate.creole.orthomatcher.OrthoMatcher</resourceType> - <resourceName>ANNIE OrthoMatcher_00149</resourceName> + <resourceName>ANNIE OrthoMatcher</resourceName> <initParams class="gate.util.persistence.MapPersistence"> <mapType>gate.util.SimpleFeatureMapImpl</mapType> <localMap> @@ -289,12 +292,6 @@ <string>UTF-8</string> </entry> <entry> - <string>definitionFileURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../ANNIE/resources/othomatcher/listsNM.def</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> <string>organizationType</string> <string>Organization</string> </entry> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2017-08-14 08:03:52
|
Revision: 20260 http://sourceforge.net/p/gate/code/20260 Author: markagreenwood Date: 2017-08-14 08:03:48 +0000 (Mon, 14 Aug 2017) Log Message: ----------- started to convert to maven Added Paths: ----------- gate/branches/sawdust2/plugins/Lang_French/pom.xml gate/branches/sawdust2/plugins/Lang_French/src/main/ gate/branches/sawdust2/plugins/Lang_French/src/main/java/ gate/branches/sawdust2/plugins/Lang_French/src/main/java/french/ gate/branches/sawdust2/plugins/Lang_French/src/main/resources/ gate/branches/sawdust2/plugins/Lang_French/src/main/resources/creole.xml gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/ gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french+tagger.gapp gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french.gapp gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/gazetteer/ gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/grammar/ gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/splitter/ gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/tokeniser/ gate/branches/sawdust2/plugins/Lang_French/src/test/ gate/branches/sawdust2/plugins/Lang_French/src/test/java/ gate/branches/sawdust2/plugins/Lang_French/src/test/java/gate/ gate/branches/sawdust2/plugins/Lang_French/src/test/java/gate/creole/ gate/branches/sawdust2/plugins/Lang_French/src/test/java/gate/creole/GappLoadingTest.java gate/branches/sawdust2/plugins/Lang_French/src/test/resources/ gate/branches/sawdust2/plugins/Lang_French/src/test/resources/creole.properties Removed Paths: ------------- gate/branches/sawdust2/plugins/Lang_French/build.xml gate/branches/sawdust2/plugins/Lang_French/creole.xml gate/branches/sawdust2/plugins/Lang_French/french+tagger.gapp gate/branches/sawdust2/plugins/Lang_French/french.gapp gate/branches/sawdust2/plugins/Lang_French/gazetteer/ gate/branches/sawdust2/plugins/Lang_French/grammar/ gate/branches/sawdust2/plugins/Lang_French/splitter/ gate/branches/sawdust2/plugins/Lang_French/src/french/ gate/branches/sawdust2/plugins/Lang_French/tokeniser/ Deleted: gate/branches/sawdust2/plugins/Lang_French/build.xml =================================================================== --- gate/branches/sawdust2/plugins/Lang_French/build.xml 2017-08-11 13:21:22 UTC (rev 20259) +++ gate/branches/sawdust2/plugins/Lang_French/build.xml 2017-08-14 08:03:48 UTC (rev 20260) @@ -1,89 +0,0 @@ -<project name="french" default="dist" basedir="."> - <description> - A plugin for Multilingual data [French] - </description> - - <!-- Prevent Ant from warning about includeantruntime not being set --> - <property name="build.sysclasspath" value="ignore" /> - - <!-- set global properties for this build --> - <property name="src" location="src"/> - <property name="build" location="build"/> - <property name="jar.location" location="french.jar" /> - <property name="doc.dir" location="doc" /> - <property name="javadoc.dir" location="${doc.dir}/javadoc" /> - - <property name="gate.home" location="../.." /> - <property name="gate.jar" location="${gate.home}/bin/gate.jar" /> - <property name="gate.lib" location="${gate.home}/lib" /> - <property name="gate.compile.maxwarnings" value="10000" /> - - <path id="compile.classpath"> - <pathelement location="${gate.jar}" /> - <fileset dir="${gate.lib}" > - <include name="**/*.jar" /> - <include name="**/*.zip" /> - </fileset> - </path> - - <target name="init"> - <!-- Create the time stamp --> - <tstamp/> - <!-- Create the build directory structure used by compile --> - <mkdir dir="${build}"/> - </target> - - <target name="compile" depends="init" - description="compile the source " > - <!-- Compile the java code from ${src} into ${build} --> - <javac srcdir="${src}" destdir="${build}" source="1.6" target="1.6" - classpathref="compile.classpath"> - <compilerarg value="-Xmaxwarns" /> - <compilerarg value="${gate.compile.maxwarnings}" /> - <compilerarg value="-Xlint:all" /> - </javac> - </target> - - <target name="dist" depends="compile" - description="generate the distribution" > - - <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file --> - <jar jarfile="${jar.location}" basedir="${build}"/> - </target> - - <!-- Build JavaDoc documentation --> - <target name="doc.prepare"> - <mkdir dir="${javadoc.dir}" /> - </target> - - <target name="javadoc" depends="doc.prepare"> - <javadoc destdir="${javadoc.dir}" packagenames="*" - classpathref="compile.classpath" - encoding="UTF-8" - windowtitle="${plugin.name} JavaDoc" - source="1.6"> - <sourcepath> - <pathelement location="${src}" /> - </sourcepath> - <link href="http://docs.oracle.com/javase/6/docs/api/" /> - <link href="http://gate.ac.uk/gate/doc/javadoc/" /> - </javadoc> - </target> - - <target name="clean.classes" - description="clean up" > - <!-- Delete the ${build} directory tree --> - <delete dir="${build}"/> - </target> - - <target name="clean" depends="clean.classes" > - <!-- full clean also removes the generated JAR file --> - <delete file="${jar.location}" /> - </target> - - <!-- Targets used by the main GATE build file --> - <target name="build" depends="dist" /> - <target name="test" /> - <target name="distro.prepare" depends="clean.classes" /> -</project> - Deleted: gate/branches/sawdust2/plugins/Lang_French/creole.xml =================================================================== --- gate/branches/sawdust2/plugins/Lang_French/creole.xml 2017-08-11 13:21:22 UTC (rev 20259) +++ gate/branches/sawdust2/plugins/Lang_French/creole.xml 2017-08-14 08:03:48 UTC (rev 20260) @@ -1,3 +0,0 @@ -<CREOLE-DIRECTORY> - <JAR SCAN="true">french.jar</JAR> -</CREOLE-DIRECTORY> Deleted: gate/branches/sawdust2/plugins/Lang_French/french+tagger.gapp =================================================================== --- gate/branches/sawdust2/plugins/Lang_French/french+tagger.gapp 2017-08-11 13:21:22 UTC (rev 20259) +++ gate/branches/sawdust2/plugins/Lang_French/french+tagger.gapp 2017-08-14 08:03:48 UTC (rev 20260) @@ -1,499 +0,0 @@ -<gate.util.persistence.GateApplication> - <urlList class="gate.util.persistence.CollectionPersistence"> - <localList> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../Tagger_Framework</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../ANNIE</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </localList> - <collectionType>java.util.ArrayList</collectionType> - </urlList> - <application class="gate.util.persistence.SerialAnalyserControllerPersistence"> - <prList class="gate.util.persistence.CollectionPersistence"> - <localList> - <gate.util.persistence.PRPersistence> - <runtimeParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>setsToKeep</string> - <gate.util.persistence.CollectionPersistence> - <localList> - <string>Key</string> - </localList> - <collectionType>java.util.ArrayList</collectionType> - </gate.util.persistence.CollectionPersistence> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - <entry> - <string>annotationTypes</string> - <null/> - </entry> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>keepOriginalMarkupsAS</string> - <boolean>true</boolean> - </entry> - <entry> - <string>setsToRemove</string> - <null/> - </entry> - </localMap> - </runtimeParams> - <resourceType>gate.creole.annotdelete.AnnotationDeletePR</resourceType> - <resourceName>Document Reset</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </gate.util.persistence.PRPersistence> - <gate.util.persistence.LanguageAnalyserPersistence> - <runtimeParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>annotationSetName</string> - <string></string> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - </localMap> - </runtimeParams> - <resourceType>gate.creole.tokeniser.SimpleTokeniser</resourceType> - <resourceName>French Tokeniser</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>rulesURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$tokeniser/FrenchTokeniser.rules</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - </localMap> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </gate.util.persistence.LanguageAnalyserPersistence> - <gate.util.persistence.LanguageAnalyserPersistence> - <runtimeParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>wholeWordsOnly</string> - <boolean>true</boolean> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - <entry> - <string>longestMatchOnly</string> - <boolean>true</boolean> - </entry> - <entry> - <string>annotationSetName</string> - <null/> - </entry> - </localMap> - </runtimeParams> - <resourceType>gate.creole.gazetteer.DefaultGazetteer</resourceType> - <resourceName>French Gazetteer</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>gazetteerFeatureSeparator</string> - <null/> - </entry> - <entry> - <string>listsURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$gazetteer/lists.def</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>caseSensitive</string> - <boolean>true</boolean> - </entry> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - </localMap> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </gate.util.persistence.LanguageAnalyserPersistence> - <gate.util.persistence.LanguageAnalyserPersistence> - <runtimeParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>outputASName</string> - <null/> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - </localMap> - </runtimeParams> - <resourceType>gate.creole.splitter.RegexSentenceSplitter</resourceType> - <resourceName>RegEx Sentence Splitter</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>externalSplitListURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../ANNIE/resources/regex-splitter/external-split-patterns.txt</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>nonSplitListURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../ANNIE/resources/regex-splitter/non-split-patterns.txt</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>internalSplitListURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../ANNIE/resources/regex-splitter/internal-split-patterns.txt</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - </localMap> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </gate.util.persistence.LanguageAnalyserPersistence> - <gate.util.persistence.LanguageAnalyserPersistence> - <runtimeParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>outputASName</string> - <null/> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - <entry> - <string>ontology</string> - <null/> - </entry> - <entry> - <string>inputASName</string> - <null/> - </entry> - </localMap> - </runtimeParams> - <resourceType>gate.creole.Transducer</resourceType> - <resourceName>Adapt Tokeniser to Tagger</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>annotationAccessors</string> - <null/> - </entry> - <entry> - <string>operators</string> - <null/> - </entry> - <entry> - <string>grammarURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$tokeniser/postprocess.jape</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>binaryGrammarURL</string> - <null/> - </entry> - </localMap> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </gate.util.persistence.LanguageAnalyserPersistence> - <gate.util.persistence.PRPersistence> - <runtimeParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>outputAnnotationType</string> - <string>Token</string> - </entry> - <entry> - <string>regex</string> - <string>(.+) (.+) (.+)</string> - </entry> - <entry> - <string>inputASName</string> - <string></string> - </entry> - <entry> - <string>featureMapping</string> - <gate.util.persistence.MapPersistence> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>lemma</string> - <string>3</string> - </entry> - <entry> - <string>category</string> - <string>2</string> - </entry> - <entry> - <string>string</string> - <string>1</string> - </entry> - </localMap> - </gate.util.persistence.MapPersistence> - </entry> - <entry> - <string>updateAnnotations</string> - <boolean>true</boolean> - </entry> - <entry> - <string>debug</string> - <boolean>false</boolean> - </entry> - <entry> - <string>taggerBinary</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../../../../../../usr/local/treetagger-3.2/cmd/tree-tagger-french-utf8</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>inputAnnotationType</string> - <string>Token</string> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - <entry> - <string>corpus</string> - <null/> - </entry> - <entry> - <string>taggerDir</string> - <null/> - </entry> - <entry> - <string>failOnUnmappableCharacter</string> - <boolean>false</boolean> - </entry> - <entry> - <string>outputASName</string> - <string></string> - </entry> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>taggerFlags</string> - <gate.util.persistence.CollectionPersistence> - <localList/> - <collectionType>java.util.ArrayList</collectionType> - </gate.util.persistence.CollectionPersistence> - </entry> - </localMap> - </runtimeParams> - <resourceType>gate.taggerframework.GenericTagger</resourceType> - <resourceName>TreeTagger-FR-NoTokenization</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>preProcessURL</string> - <null/> - </entry> - <entry> - <string>postProcessURL</string> - <null/> - </entry> - </localMap> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </gate.util.persistence.PRPersistence> - <gate.util.persistence.LanguageAnalyserPersistence> - <runtimeParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>outputASName</string> - <null/> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - <entry> - <string>inputASName</string> - <null/> - </entry> - </localMap> - </runtimeParams> - <resourceType>gate.creole.ANNIETransducer</resourceType> - <resourceName>French Grammar</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>annotationAccessors</string> - <null/> - </entry> - <entry> - <string>operators</string> - <null/> - </entry> - <entry> - <string>grammarURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$grammar/main.jape</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - </localMap> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </gate.util.persistence.LanguageAnalyserPersistence> - <gate.util.persistence.LanguageAnalyserPersistence> - <runtimeParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>annotationSetName</string> - <string></string> - </entry> - <entry> - <string>document</string> - <null/> - </entry> - <entry> - <string>annotationTypes</string> - <gate.util.persistence.CollectionPersistence> - <localList> - <string>Organization</string> - <string>Person</string> - <string>Location</string> - <string>Date</string> - </localList> - <collectionType>java.util.ArrayList</collectionType> - </gate.util.persistence.CollectionPersistence> - </entry> - </localMap> - </runtimeParams> - <resourceType>gate.creole.orthomatcher.OrthoMatcher</resourceType> - <resourceName>ANNIE OrthoMatcher</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>definitionFileURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../ANNIE/resources/othomatcher/listsNM.def</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>minimumNicknameLikelihood</string> - <double>0.5</double> - </entry> - <entry> - <string>extLists</string> - <boolean>true</boolean> - </entry> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>caseSensitive</string> - <boolean>false</boolean> - </entry> - <entry> - <string>highPrecisionOrgs</string> - <boolean>false</boolean> - </entry> - <entry> - <string>personType</string> - <string>Person</string> - </entry> - <entry> - <string>processUnknown</string> - <boolean>true</boolean> - </entry> - <entry> - <string>organizationType</string> - <string>Organization</string> - </entry> - </localMap> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </gate.util.persistence.LanguageAnalyserPersistence> - </localList> - <collectionType>java.util.ArrayList</collectionType> - </prList> - <resourceType>gate.creole.SerialAnalyserController</resourceType> - <resourceName>French NE</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </application> -</gate.util.persistence.GateApplication> \ No newline at end of file Deleted: gate/branches/sawdust2/plugins/Lang_French/french.gapp =================================================================== --- gate/branches/sawdust2/plugins/Lang_French/french.gapp 2017-08-11 13:21:22 UTC (rev 20259) +++ gate/branches/sawdust2/plugins/Lang_French/french.gapp 2017-08-14 08:03:48 UTC (rev 20260) @@ -1,354 +0,0 @@ -<gate.util.persistence.GateApplication> - <urlList class="gate.util.persistence.CollectionPersistence"> - <localList> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../ANNIE</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$.</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </localList> - <collectionType>java.util.ArrayList</collectionType> - </urlList> - <application class="gate.util.persistence.ConditionalControllerPersistence"> - <strategiesList class="gate.util.persistence.CollectionPersistence"> - <localList> - <gate.util.persistence.AnalyserRunningStrategyPersistence> - <runMode>1</runMode> - <pr class="gate.util.persistence.PRPersistence"> - <runtimeParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>setsToKeep</string> - <gate.util.persistence.CollectionPersistence> - <localList> - <string>Key</string> - </localList> - <collectionType>java.util.ArrayList</collectionType> - </gate.util.persistence.CollectionPersistence> - </entry> - <entry> - <string>annotationTypes</string> - <null/> - </entry> - </localMap> - </runtimeParams> - <resourceType>gate.creole.annotdelete.AnnotationDeletePR</resourceType> - <resourceName>reset</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </pr> - </gate.util.persistence.AnalyserRunningStrategyPersistence> - <gate.util.persistence.AnalyserRunningStrategyPersistence> - <runMode>1</runMode> - <pr class="gate.util.persistence.LanguageAnalyserPersistence"> - <runtimeParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>annotationSetName</string> - <null/> - </entry> - </localMap> - </runtimeParams> - <resourceType>gate.creole.tokeniser.SimpleTokeniser</resourceType> - <resourceName>French tokeniser</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>rulesURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$tokeniser/FrenchTokeniser.rules</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - </localMap> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </pr> - </gate.util.persistence.AnalyserRunningStrategyPersistence> - <gate.util.persistence.AnalyserRunningStrategyPersistence> - <runMode>1</runMode> - <pr class="gate.util.persistence.LanguageAnalyserPersistence"> - <runtimeParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>outputASName</string> - <null/> - </entry> - <entry> - <string>inputASName</string> - <null/> - </entry> - </localMap> - </runtimeParams> - <resourceType>gate.creole.Transducer</resourceType> - <resourceName>tokeniser postprocess</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>ontology</string> - <null/> - </entry> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>grammarURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$tokeniser/postprocess.jape</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - </localMap> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </pr> - </gate.util.persistence.AnalyserRunningStrategyPersistence> - <gate.util.persistence.AnalyserRunningStrategyPersistence> - <runMode>1</runMode> - <pr class="gate.util.persistence.LanguageAnalyserPersistence"> - <runtimeParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>outputASName</string> - <null/> - </entry> - <entry> - <string>inputASName</string> - <null/> - </entry> - </localMap> - </runtimeParams> - <resourceType>gate.creole.splitter.SentenceSplitter</resourceType> - <resourceName>no-space splitter</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>gazetteerListsURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$splitter/gazetteer/lists.def</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>transducerURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$splitter/grammar/main.jape</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - </localMap> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </pr> - </gate.util.persistence.AnalyserRunningStrategyPersistence> - <gate.util.persistence.AnalyserRunningStrategyPersistence> - <runMode>1</runMode> - <pr class="gate.util.persistence.LanguageAnalyserPersistence"> - <runtimeParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>annotationSetName</string> - <null/> - </entry> - </localMap> - </runtimeParams> - <resourceType>gate.creole.gazetteer.DefaultGazetteer</resourceType> - <resourceName>French gazetteer</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>caseSensitive</string> - <boolean>true</boolean> - </entry> - <entry> - <string>wholeWordsOnly</string> - <boolean>true</boolean> - </entry> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>listsURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$gazetteer/lists.def</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - </localMap> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </pr> - </gate.util.persistence.AnalyserRunningStrategyPersistence> - <gate.util.persistence.AnalyserRunningStrategyPersistence> - <runMode>1</runMode> - <pr class="gate.util.persistence.LanguageAnalyserPersistence"> - <runtimeParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>outputASName</string> - <null/> - </entry> - <entry> - <string>inputASName</string> - <null/> - </entry> - </localMap> - </runtimeParams> - <resourceType>gate.creole.ANNIETransducer</resourceType> - <resourceName>French grammar</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>grammarURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$grammar/main.jape</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - </localMap> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </pr> - </gate.util.persistence.AnalyserRunningStrategyPersistence> - <gate.util.persistence.AnalyserRunningStrategyPersistence> - <runMode>1</runMode> - <pr class="gate.util.persistence.LanguageAnalyserPersistence"> - <runtimeParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>annotationSetName</string> - <null/> - </entry> - <entry> - <string>annotationTypes</string> - <gate.util.persistence.CollectionPersistence> - <localList> - <string>Organization</string> - <string>Person</string> - <string>Location</string> - <string>Date</string> - </localList> - <collectionType>java.util.ArrayList</collectionType> - </gate.util.persistence.CollectionPersistence> - </entry> - </localMap> - </runtimeParams> - <resourceType>gate.creole.orthomatcher.OrthoMatcher</resourceType> - <resourceName>ANNIE OrthoMatcher_00149</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>caseSensitive</string> - <boolean>false</boolean> - </entry> - <entry> - <string>encoding</string> - <string>UTF-8</string> - </entry> - <entry> - <string>definitionFileURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$../ANNIE/resources/othomatcher/listsNM.def</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - <entry> - <string>organizationType</string> - <string>Organization</string> - </entry> - <entry> - <string>processUnknown</string> - <boolean>true</boolean> - </entry> - <entry> - <string>personType</string> - <string>Person</string> - </entry> - <entry> - <string>extLists</string> - <boolean>true</boolean> - </entry> - </localMap> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </features> - </pr> - </gate.util.persistence.AnalyserRunningStrategyPersistence> - </localList> - <collectionType>java.util.ArrayList</collectionType> - </strategiesList> - <prList class="gate.util.persistence.CollectionPersistence"> - <localList> - <gate.util.persistence.PRPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence/pr"/> - <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[2]/pr"/> - <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[3]/pr"/> - <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[4]/pr"/> - <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[5]/pr"/> - <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[6]/pr"/> - <gate.util.persistence.LanguageAnalyserPersistence reference="../../../strategiesList/localList/gate.util.persistence.AnalyserRunningStrategyPersistence[7]/pr"/> - </localList> - <collectionType>java.util.ArrayList</collectionType> - </prList> - <resourceType>gate.creole.ConditionalSerialAnalyserController</resourceType> - <resourceName>French NE</resourceName> - <initParams class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap/> - </initParams> - <features class="gate.util.persistence.MapPersistence"> - <mapType>gate.util.SimpleFeatureMapImpl</mapType> - <localMap> - <entry> - <string>gate.app.MetadataURL</string> - <gate.util.persistence.PersistenceManager-URLHolder> - <urlString>$relpath$.french-pipeline-metadata/metadata.xml</urlString> - </gate.util.persistence.PersistenceManager-URLHolder> - </entry> - </localMap> - </features> - </application> -</gate.util.persistence.GateApplication> Added: gate/branches/sawdust2/plugins/Lang_French/pom.xml =================================================================== --- gate/branches/sawdust2/plugins/Lang_French/pom.xml (rev 0) +++ gate/branches/sawdust2/plugins/Lang_French/pom.xml 2017-08-14 08:03:48 UTC (rev 20260) @@ -0,0 +1,43 @@ + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>uk.ac.gate</groupId> + <artifactId>gate-plugin-base</artifactId> + <!-- this should be the version of GATE you wish to build against --> + <version>8.5-SNAPSHOT</version> + + <!-- this forces the parent to always be resolved from the repo --> + <relativePath></relativePath> + </parent> + + <!-- this is the description of this plugin --> + <groupId>uk.ac.gate.plugins</groupId> + <artifactId>lang-french</artifactId> + <version>8.5-SNAPSHOT</version> + + <licenses> + <license> + <!-- this is the license we usually use for plugins but feel free to change + this if you feel a different license would be more suitable for your plugin --> + <name>GNU Lesser General Public License (LGPL), Version 3</name> + <url>http://www.gnu.org/licenses/lgpl-3.0.txt</url> + <distribution>repo</distribution> + </license> + </licenses> + + <dependencies> + <!-- add any other libraries your plugin depends on. Any other GATE plugins + you depend on at compile time should use the provided scope --> + <dependency> + <groupId>uk.ac.gate.plugins</groupId> + <artifactId>annie</artifactId> + <version>8.5-SNAPSHOT</version> + <scope>provided</scope> + </dependency> + </dependencies> + +</project> Copied: gate/branches/sawdust2/plugins/Lang_French/src/main/resources/creole.xml (from rev 20259, gate/branches/sawdust2/plugins/Lang_French/creole.xml) =================================================================== --- gate/branches/sawdust2/plugins/Lang_French/src/main/resources/creole.xml (rev 0) +++ gate/branches/sawdust2/plugins/Lang_French/src/main/resources/creole.xml 2017-08-14 08:03:48 UTC (rev 20260) @@ -0,0 +1,3 @@ +<CREOLE-DIRECTORY> + +</CREOLE-DIRECTORY> Copied: gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french+tagger.gapp (from rev 20259, gate/branches/sawdust2/plugins/Lang_French/french+tagger.gapp) =================================================================== --- gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french+tagger.gapp (rev 0) +++ gate/branches/sawdust2/plugins/Lang_French/src/main/resources/resources/french+tagger.gapp 2017-08-14 08:03:48 UTC (rev 20260) @@ -0,0 +1,499 @@ +<gate.util.persistence.GateApplication> + <urlList class="gate.util.persistence.CollectionPersistence"> + <localList> + <gate.util.persistence.PersistenceManager-URLHolder> + <urlString>$relpath$../Tagger_Framework</urlString> + </gate.util.persistence.PersistenceManager-URLHolder> + <gate.util.persistence.PersistenceManager-URLHolder> + <urlString>$relpath$../ANNIE</urlString> + </gate.util.persistence.PersistenceManager-URLHolder> + </localList> + <collectionType>java.util.ArrayList</collectionType> + </urlList> + <application class="gate.util.persistence.SerialAnalyserControllerPersistence"> + <prList class="gate.util.persistence.CollectionPersistence"> + <localList> + <gate.util.persistence.PRPersistence> + <runtimeParams class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap> + <entry> + <string>setsToKeep</string> + <gate.util.persistence.CollectionPersistence> + <localList> + <string>Key</string> + </localList> + <collectionType>java.util.ArrayList</collectionType> + </gate.util.persistence.CollectionPersistence> + </entry> + <entry> + <string>document</string> + <null/> + </entry> + <entry> + <string>annotationTypes</string> + <null/> + </entry> + <entry> + <string>corpus</string> + <null/> + </entry> + <entry> + <string>keepOriginalMarkupsAS</string> + <boolean>true</boolean> + </entry> + <entry> + <string>setsToRemove</string> + <null/> + </entry> + </localMap> + </runtimeParams> + <resourceType>gate.creole.annotdelete.AnnotationDeletePR</resourceType> + <resourceName>Document Reset</resourceName> + <initParams class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap/> + </initParams> + <features class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap/> + </features> + </gate.util.persistence.PRPersistence> + <gate.util.persistence.LanguageAnalyserPersistence> + <runtimeParams class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap> + <entry> + <string>annotationSetName</string> + <string></string> + </entry> + <entry> + <string>document</string> + <null/> + </entry> + </localMap> + </runtimeParams> + <resourceType>gate.creole.tokeniser.SimpleTokeniser</resourceType> + <resourceName>French Tokeniser</resourceName> + <initParams class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap> + <entry> + <string>rulesURL</string> + <gate.util.persistence.PersistenceManager-URLHolder> + <urlString>$relpath$tokeniser/FrenchTokeniser.rules</urlString> + </gate.util.persistence.PersistenceManager-URLHolder> + </entry> + <entry> + <string>encoding</string> + <string>UTF-8</string> + </entry> + </localMap> + </initParams> + <features class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap/> + </features> + </gate.util.persistence.LanguageAnalyserPersistence> + <gate.util.persistence.LanguageAnalyserPersistence> + <runtimeParams class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap> + <entry> + <string>wholeWordsOnly</string> + <boolean>true</boolean> + </entry> + <entry> + <string>document</string> + <null/> + </entry> + <entry> + <string>longestMatchOnly</string> + <boolean>true</boolean> + </entry> + <entry> + <string>annotationSetName</string> + <null/> + </entry> + </localMap> + </runtimeParams> + <resourceType>gate.creole.gazetteer.DefaultGazetteer</resourceType> + <resourceName>French Gazetteer</resourceName> + <initParams class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap> + <entry> + <string>gazetteerFeatureSeparator</string> + <null/> + </entry> + <entry> + <string>listsURL</string> + <gate.util.persistence.PersistenceManager-URLHolder> + <urlString>$relpath$gazetteer/lists.def</urlString> + </gate.util.persistence.PersistenceManager-URLHolder> + </entry> + <entry> + <string>caseSensitive</string> + <boolean>true</boolean> + </entry> + <entry> + <string>encoding</string> + <string>UTF-8</string> + </entry> + </localMap> + </initParams> + <features class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap/> + </features> + </gate.util.persistence.LanguageAnalyserPersistence> + <gate.util.persistence.LanguageAnalyserPersistence> + <runtimeParams class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap> + <entry> + <string>outputASName</string> + <null/> + </entry> + <entry> + <string>document</string> + <null/> + </entry> + </localMap> + </runtimeParams> + <resourceType>gate.creole.splitter.RegexSentenceSplitter</resourceType> + <resourceName>RegEx Sentence Splitter</resourceName> + <initParams class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap> + <entry> + <string>encoding</string> + <string>UTF-8</string> + </entry> + <entry> + <string>externalSplitListURL</string> + <gate.util.persistence.PersistenceManager-URLHolder> + <urlString>$relpath$../ANNIE/resources/regex-splitter/external-split-patterns.txt</urlString> + </gate.util.persistence.PersistenceManager-URLHolder> + </entry> + <entry> + <string>nonSplitListURL</string> + <gate.util.persistence.PersistenceManager-URLHolder> + <urlString>$relpath$../ANNIE/resources/regex-splitter/non-split-patterns.txt</urlString> + </gate.util.persistence.PersistenceManager-URLHolder> + </entry> + <entry> + <string>internalSplitListURL</string> + <gate.util.persistence.PersistenceManager-URLHolder> + <urlString>$relpath$../ANNIE/resources/regex-splitter/internal-split-patterns.txt</urlString> + </gate.util.persistence.PersistenceManager-URLHolder> + </entry> + </localMap> + </initParams> + <features class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap/> + </features> + </gate.util.persistence.LanguageAnalyserPersistence> + <gate.util.persistence.LanguageAnalyserPersistence> + <runtimeParams class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap> + <entry> + <string>outputASName</string> + <null/> + </entry> + <entry> + <string>document</string> + <null/> + </entry> + <entry> + <string>ontology</string> + <null/> + </entry> + <entry> + <string>inputASName</string> + <null/> + </entry> + </localMap> + </runtimeParams> + <resourceType>gate.creole.Transducer</resourceType> + <resourceName>Adapt Tokeniser to Tagger</resourceName> + <initParams class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap> + <entry> + <string>encoding</string> + <string>UTF-8</string> + </entry> + <entry> + <string>annotationAccessors</string> + <null/> + </entry> + <entry> + <string>operators</string> + <null/> + </entry> + <entry> + <string>grammarURL</string> + <gate.util.persistence.PersistenceManager-URLHolder> + <urlString>$relpath$tokeniser/postprocess.jape</urlString> + </gate.util.persistence.PersistenceManager-URLHolder> + </entry> + <entry> + <string>binaryGrammarURL</string> + <null/> + </entry> + </localMap> + </initParams> + <features class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap/> + </features> + </gate.util.persistence.LanguageAnalyserPersistence> + <gate.util.persistence.PRPersistence> + <runtimeParams class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap> + <entry> + <string>outputAnnotationType</string> + <string>Token</string> + </entry> + <entry> + <string>regex</string> + <string>(.+) (.+) (.+)</string> + </entry> + <entry> + <string>inputASName</string> + <string></string> + </entry> + <entry> + <string>featureMapping</string> + <gate.util.persistence.MapPersistence> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap> + <entry> + <string>lemma</string> + <string>3</string> + </entry> + <entry> + <string>category</string> + <string>2</string> + </entry> + <entry> + <string>string</string> + <string>1</string> + </entry> + </localMap> + </gate.util.persistence.MapPersistence> + </entry> + <entry> + <string>updateAnnotations</string> + <boolean>true</boolean> + </entry> + <entry> + <string>debug</string> + <boolean>false</boolean> + </entry> + <entry> + <string>taggerBinary</string> + <gate.util.persistence.PersistenceManager-URLHolder> + <urlString>$relpath$../../../../../../usr/local/treetagger-3.2/cmd/tree-tagger-french-utf8</urlString> + </gate.util.persistence.PersistenceManager-URLHolder> + </entry> + <entry> + <string>inputAnnotationType</string> + <string>Token</string> + </entry> + <entry> + <string>document</string> + <null/> + </entry> + <entry> + <string>corpus</string> + <null/> + </entry> + <entry> + <string>taggerDir</string> + <null/> + </entry> + <entry> + <string>failOnUnmappableCharacter</string> + <boolean>false</boolean> + </entry> + <entry> + <string>outputASName</string> + <string></string> + </entry> + <entry> + <string>encoding</string> + <string>UTF-8</string> + </entry> + <entry> + <string>taggerFlags</string> + <gate.util.persistence.CollectionPersistence> + <localList/> + <collectionType>java.util.ArrayList</collectionType> + </gate.util.persistence.CollectionPersistence> + </entry> + </localMap> + </runtimeParams> + <resourceType>gate.taggerframework.GenericTagger</resourceType> + <resourceName>TreeTagger-FR-NoTokenization</resourceName> + <initParams class="gate.util.persistence.MapPersistence"> + <mapType>gate.util.SimpleFeatureMapImpl</mapType> + <localMap> + <entry> + <string>preProcessURL</string> + ... [truncated message content] |
From: <gat...@us...> - 2017-07-26 08:10:22
|
Revision: 20258 http://sourceforge.net/p/gate/code/20258 Author: gate-project Date: 2017-07-26 08:10:20 +0000 (Wed, 26 Jul 2017) Log Message: ----------- [diana] Edited with GATEWiki Modified Paths: -------------- gate/trunk/doc/papers.html gate/trunk/doc/papers.yam Modified: gate/trunk/doc/papers.html =================================================================== --- gate/trunk/doc/papers.html 2017-07-26 08:09:37 UTC (rev 20257) +++ gate/trunk/doc/papers.html 2017-07-26 08:10:20 UTC (rev 20258) @@ -102,9 +102,8 @@ <h2 class="cow-heading">Forthcoming / Accepted</h2> <ul> -<li>M. Fernandez, L. Piccolo, D. Maynard, M. Wippoo, C. Meili, H. Alani. Pro-Environmental Campaigns via Social Media: Analysing Awareness</li> +<li>M. Fernandez, L. Piccolo, D. Maynard, M. Wippoo, C. Meili, H. Alani. Pro-Environmental Campaigns via Social Media: Analysing Awareness and Behaviour Patterns. To appear in Journal of Web Science 2017.</li> </ul> -<p>and Behaviour Patterns. To appear in Journal of Web Science 2017.</p> <ul> <li>K. Bontcheva, L. Derczynski, I. Roberts. Crowdsourcing Named Entity Recognition and Entity Linking Corpora. In Nancy Ide and James Pustejovsky, eds.: The Handbook of Linguistic Annotation.</li> Modified: gate/trunk/doc/papers.yam =================================================================== --- gate/trunk/doc/papers.yam 2017-07-26 08:09:37 UTC (rev 20257) +++ gate/trunk/doc/papers.yam 2017-07-26 08:10:20 UTC (rev 20258) @@ -45,8 +45,7 @@ %2* Forthcoming / Accepted -- M. Fernandez, L. Piccolo, D. Maynard, M. Wippoo, C. Meili, H. Alani. Pro-Environmental Campaigns via Social Media: Analysing Awareness -and Behaviour Patterns. To appear in Journal of Web Science 2017. +- M. Fernandez, L. Piccolo, D. Maynard, M. Wippoo, C. Meili, H. Alani. Pro-Environmental Campaigns via Social Media: Analysing Awareness and Behaviour Patterns. To appear in Journal of Web Science 2017. - K. Bontcheva, L. Derczynski, I. Roberts. Crowdsourcing Named Entity Recognition and Entity Linking Corpora. In Nancy Ide and James Pustejovsky, eds.: The Handbook of Linguistic Annotation. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gat...@us...> - 2017-07-26 08:09:39
|
Revision: 20257 http://sourceforge.net/p/gate/code/20257 Author: gate-project Date: 2017-07-26 08:09:37 +0000 (Wed, 26 Jul 2017) Log Message: ----------- [diana] woo another journal paper accepted Modified Paths: -------------- gate/trunk/doc/papers.html gate/trunk/doc/papers.yam Modified: gate/trunk/doc/papers.html =================================================================== --- gate/trunk/doc/papers.html 2017-07-25 09:51:48 UTC (rev 20256) +++ gate/trunk/doc/papers.html 2017-07-26 08:09:37 UTC (rev 20257) @@ -102,6 +102,11 @@ <h2 class="cow-heading">Forthcoming / Accepted</h2> <ul> +<li>M. Fernandez, L. Piccolo, D. Maynard, M. Wippoo, C. Meili, H. Alani. Pro-Environmental Campaigns via Social Media: Analysing Awareness</li> +</ul> +<p>and Behaviour Patterns. To appear in Journal of Web Science 2017.</p> + +<ul> <li>K. Bontcheva, L. Derczynski, I. Roberts. Crowdsourcing Named Entity Recognition and Entity Linking Corpora. In Nancy Ide and James Pustejovsky, eds.: The Handbook of Linguistic Annotation.</li> </ul> Modified: gate/trunk/doc/papers.yam =================================================================== --- gate/trunk/doc/papers.yam 2017-07-25 09:51:48 UTC (rev 20256) +++ gate/trunk/doc/papers.yam 2017-07-26 08:09:37 UTC (rev 20257) @@ -45,6 +45,9 @@ %2* Forthcoming / Accepted +- M. Fernandez, L. Piccolo, D. Maynard, M. Wippoo, C. Meili, H. Alani. Pro-Environmental Campaigns via Social Media: Analysing Awareness +and Behaviour Patterns. To appear in Journal of Web Science 2017. + - K. Bontcheva, L. Derczynski, I. Roberts. Crowdsourcing Named Entity Recognition and Entity Linking Corpora. In Nancy Ide and James Pustejovsky, eds.: The Handbook of Linguistic Annotation. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gat...@us...> - 2017-07-25 09:51:51
|
Revision: 20256 http://sourceforge.net/p/gate/code/20256 Author: gate-project Date: 2017-07-25 09:51:48 +0000 (Tue, 25 Jul 2017) Log Message: ----------- [diana] Edited with GATEWiki Modified Paths: -------------- gate/trunk/doc/papers.html gate/trunk/doc/papers.yam Modified: gate/trunk/doc/papers.html =================================================================== --- gate/trunk/doc/papers.html 2017-07-25 09:47:03 UTC (rev 20255) +++ gate/trunk/doc/papers.html 2017-07-25 09:51:48 UTC (rev 20256) @@ -109,7 +109,7 @@ <h2 class="cow-heading">2017</h2> <ul> -<li>D. Maynard and B. Lepori. Ontologies as bridges between data sources and user queries: the KNOWMAK project experience. Proceedings of STI 2017, Paris, France, September 2017</li> +<li>D. Maynard and B. Lepori. Ontologies as bridges between data sources and user queries: the KNOWMAK project experience. Proceedings of STI 2017, Paris, France, September 2017 <a class="cow-url" href="http://gate.ac.uk/sale/2017/sti2017/STI2017_ontologies.pdf">PDF</a></li> </ul> <ul> Modified: gate/trunk/doc/papers.yam =================================================================== --- gate/trunk/doc/papers.yam 2017-07-25 09:47:03 UTC (rev 20255) +++ gate/trunk/doc/papers.yam 2017-07-25 09:51:48 UTC (rev 20256) @@ -51,7 +51,7 @@ %2* 2017 -- D. Maynard and B. Lepori. Ontologies as bridges between data sources and user queries: the KNOWMAK project experience. Proceedings of STI 2017, Paris, France, September 2017 +- D. Maynard and B. Lepori. Ontologies as bridges between data sources and user queries: the KNOWMAK project experience. Proceedings of STI 2017, Paris, France, September 2017 %(http://gate.ac.uk/sale/2017/sti2017/STI2017_ontologies.pdf, PDF) - D. Maynard, I. Roberts, M. A. Greenwood, D. Rout and K. Bontcheva. A Framework for Real-time Semantic Social Media Analysis. Web Semantics: Science, Services and Agents on the World Wide Web, 2017 (in press). %(https://doi.org/10.1016/j.websem.2017.05.002, https://doi.org/10.1016/j.websem.2017.05.002,) %(http://www.sciencedirect.com/science/article/pii/S1570826817300240, pre-print) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gat...@us...> - 2017-07-25 09:47:05
|
Revision: 20255 http://sourceforge.net/p/gate/code/20255 Author: gate-project Date: 2017-07-25 09:47:03 +0000 (Tue, 25 Jul 2017) Log Message: ----------- [diana] correcting and tidying up Modified Paths: -------------- gate/trunk/doc/papers.html gate/trunk/doc/papers.yam Modified: gate/trunk/doc/papers.html =================================================================== --- gate/trunk/doc/papers.html 2017-07-25 09:39:06 UTC (rev 20254) +++ gate/trunk/doc/papers.html 2017-07-25 09:47:03 UTC (rev 20255) @@ -44,8 +44,8 @@ </head> <body bgcolor="#FFFFFF" text="#000000"> <h1 class="cow-title-heading">GATE papers</h1> -<h2 class="cow-heading">Which paper to cite if ..</h2> -<h3 class="cow-heading">I used GATE:</h3> +<h2 class="cow-heading">Which paper to cite for ..</h2> +<h3 class="cow-heading">GATE:</h3> <ul> <li>H. Cunningham, V. Tablan, A. Roberts, K. Bontcheva (2013) Getting More Out of Biomedical Documents with GATE's Full Lifecycle Open Source Text Analytics. PLoS Comput Biol 9(2): e1002854. doi:10.1371/journal.pcbi.1002854 — <a class="cow-url" href="http://tinyurl.com/gate-life-sci/">http://tinyurl.com/gate-life-sci/</a></li> @@ -52,48 +52,45 @@ <li>H. Cunningham, et al. Text Processing with GATE (Version 6). University of Sheffield Department of Computer Science. 15 April 2011. ISBN 0956599311. <a class="cow-url" href="http://tinyurl.com/gatebook">Available from Amazon</a>. <a class="cow-url" href="bibtex.html#Cunningham2011a">BibTex</a>.</li> </ul> -<h3 class="cow-heading">I Used ANNIE (for TwitIE — version of ANNIE for social media — see below):</h3> +<h3 class="cow-heading">ANNIE (for TwitIE — version of ANNIE for social media — see below):</h3> <ul> <li>H. Cunningham, D. Maynard, K. Bontcheva, V. Tablan. GATE: A Framework and Graphical Development Environment for Robust NLP Tools and Applications. Proceedings of the 40th Anniversary Meeting of the Association for Computational Linguistics (ACL'02). Philadelphia, July 2002. <a class="cow-url" href="../../sale/acl02/acl-main.pdf">PDF</a>. <a class="cow-url" href="bibtex.html#Cunningham2002">BibTeX</a>.</li> </ul> -<h3 class="cow-heading">I used <a class="cow-url" href="http://gatecloud.net">GATECloud.net</a>:</h3> +<h3 class="cow-heading"><a class="cow-url" href="http://cloud.gate.ac.uk">GATE Cloud</a>:</h3> <ul> <li>V. Tablan, I. Roberts, H. Cunningham, and K. Bontcheva. GATECloud.net: a Platform for Large-Scale, Open-Source Text Processing on the Cloud. <a class="cow-url" href="http://rsta.royalsocietypublishing.org/">Philosophical Transactions of the Royal Society A</a>, 371(1983), 2013 <a class="cow-url" href="http://dx.doi.org/10.1098/rsta.2012.0071">doi:10.1098/rsta.2012.0071</a>. <a class="cow-url" href="http://gate.ac.uk/sale/ahm11/journal/revised-sumission-preprint.pdf">A pre-print</a>.</li> </ul> -<h3 class="cow-heading">I used <a class="cow-url" href="https://gate.ac.uk/mimir">GATE Mímir</a>:</h3> +<h3 class="cow-heading"><a class="cow-url" href="https://gate.ac.uk/mimir">GATE Mímir</a>:</h3> <ul> <li>V. Tablan, K. Bontcheva, I. Roberts, and H. Cunningham. Mímir: An open-source semantic search framework for interactive information seeking and discovery. Journal of Web Semantics: Science, Services and Agents on the World Wide Web, 2014. <a class="cow-url" href="http://dx.doi.org/10.1016/j.websem.2014.10.002">doi:10.1016/j.websem.2014.10.002</a>. <a class="cow-url" href="bibtex.html#Tablan2014">BibTeX</a>.</li> </ul> -<h3 class="cow-heading">I used GATE Teamware:</h3> -<ul> -<li>K. Bontcheva, H. Cunningham, I. Roberts, A. Roberts, V. Tablan, N. Aswani, G. Gorrell. Teamware: A Web-based, Collaborative Text Annotation Framework. Language Resources and Evaluation. Volume 47, Issue 4, December 2013. <a class="cow-url" href="http://link.springer.com/article/10.1007/s10579-013-9215-6">PDF</a></li> -</ul> -<h3 class="cow-heading">I used TwitIE / the social media components in GATE:</h3> +<h3 class="cow-heading">TwitIE:</h3> + <ul> <li>K. Bontcheva, L. Derczynski, A. Funk, M.A. Greenwood, D. Maynard, N. Aswani. TwitIE: An Open-Source Information Extraction Pipeline for Microblog Text. Proceedings of the International Conference on Recent Advances in Natural Language Processing (RANLP 2013). <a class="cow-url" href="https://gate.ac.uk/sale/ranlp2013/twitie/twitie-ranlp2013.pdf">PDF</a>, <a class="cow-url" href="https://gate.ac.uk/wiki/twitie.html">Download TwitIE</a></li> </ul> -<h3 class="cow-heading">I used the ontology features in GATE:</h3> + <h3 class="cow-heading">Social media analysis tools in GATE:</h3> +<ul> +<li>D. Maynard, I. Roberts, M. A. Greenwood, D. Rout and K. Bontcheva. A Framework for Real-time Semantic Social Media Analysis. Web Semantics: Science, Services and Agents on the World Wide Web, 2017 (in press). <a class="cow-url" href="https://doi.org/10.1016/j.websem.2017.05.002"><a class="cow-url" href="https://doi.org/10.1016/j.websem.2017.05.002">https://doi.org/10.1016/j.websem.2017.05.002</a>,</a> <a class="cow-url" href="http://www.sciencedirect.com/science/article/pii/S1570826817300240">pre-print</a></li> +</ul> +<h3 class="cow-heading">Ontology features in GATE:</h3> + <ul> <li>K. Bontcheva, V. Tablan, D. Maynard, H. Cunningham. Evolving GATE to Meet New Challenges in Language Engineering. Natural Language Engineering. 10 (3/4), pp. 349-373. 2004. <a class="cow-url" href="../../sale/jnle03/jnle-final.pdf">Pre-print</a>. <a class="cow-url" href="bibtex.html#Bontcheva2004">BibTeX</a>.</li> </ul> -<h3 class="cow-heading">I used GATE for Information Retrieval</h3> +<h3 class="cow-heading">GATE Teamware:</h3> <ul> -<li>H. Cunningham, A. Hanbury, and S. Rüger. Scaling up high-value retrieval to medium-volume data. In H. Cunningham, A. Hanbury, and S. Rüger, editors, Advances in Multidisciplinary Retrieval (the 1st Information Retrieval Facility Conference). LNCS volume number: 6107, Lecture Notes in Computer Science, Vienna, Austria, May 2010. Springer. <a class="cow-url" href="bibtex.html#Cunningham2010">BibTeX</a>.</li> +<li>K. Bontcheva, H. Cunningham, I. Roberts, A. Roberts, V. Tablan, N. Aswani, G. Gorrell. Teamware: A Web-based, Collaborative Text Annotation Framework. Language Resources and Evaluation. Volume 47, Issue 4, December 2013. <a class="cow-url" href="http://link.springer.com/article/10.1007/s10579-013-9215-6">PDF</a></li> </ul> -<h3 class="cow-heading">On GATE and multimedia:</h3> - <ul> - <li>M. Dowman, V. Tablan, H. Cunningham and B. Popov. Web-Assisted Annotation, Semantic Indexing and Search of Television and Radio News. 14th International World Wide Web Conference. Chiba, Japan, 2005. <a class="cow-url" href="http://gate.ac.uk/sale/www05/web-assisted-annotation.pdf">PDF</a>. <a class="cow-url" href="bibtex.html#Dowman2005">BibTeX</a>.</li> - </ul> - <div class="cow-contents"><h2 class="cow-heading">Contents</h2> <p><ul> <li><a href="#section-1.">1. Books, Book Chapters, Journals and Conference papers</a></li> @@ -108,12 +105,13 @@ <li>K. Bontcheva, L. Derczynski, I. Roberts. Crowdsourcing Named Entity Recognition and Entity Linking Corpora. In Nancy Ide and James Pustejovsky, eds.: The Handbook of Linguistic Annotation.</li> </ul> + +<h2 class="cow-heading">2017</h2> + <ul> -<li>D. Maynard and B. Lepori. Ontologies as bridges between data sources and user queries: the KNOWMAK project experience. Proceedings of STI 2017, Paris, France, September 2017 (forthcoming).</li> +<li>D. Maynard and B. Lepori. Ontologies as bridges between data sources and user queries: the KNOWMAK project experience. Proceedings of STI 2017, Paris, France, September 2017</li> </ul> -<h2 class="cow-heading">2017</h2> - <ul> <li>D. Maynard, I. Roberts, M. A. Greenwood, D. Rout and K. Bontcheva. A Framework for Real-time Semantic Social Media Analysis. Web Semantics: Science, Services and Agents on the World Wide Web, 2017 (in press). <a class="cow-url" href="https://doi.org/10.1016/j.websem.2017.05.002"><a class="cow-url" href="https://doi.org/10.1016/j.websem.2017.05.002">https://doi.org/10.1016/j.websem.2017.05.002</a>,</a> <a class="cow-url" href="http://www.sciencedirect.com/science/article/pii/S1570826817300240">pre-print</a></li> </ul> Modified: gate/trunk/doc/papers.yam =================================================================== --- gate/trunk/doc/papers.yam 2017-07-25 09:39:06 UTC (rev 20254) +++ gate/trunk/doc/papers.yam 2017-07-25 09:47:03 UTC (rev 20255) @@ -1,46 +1,44 @@ GATE papers -%2* Which paper to cite if .. +%2* Which paper to cite for .. -%3* I used GATE: +%3* GATE: - H. Cunningham, V. Tablan, A. Roberts, K. Bontcheva (2013) Getting More Out of Biomedical Documents with GATE's Full Lifecycle Open Source Text Analytics. PLoS Comput Biol 9(2): e1002854. doi:10.1371/journal.pcbi.1002854 -- http://tinyurl.com/gate-life-sci/ - H. Cunningham, et al. Text Processing with GATE (Version 6). University of Sheffield Department of Computer Science. 15 April 2011. ISBN 0956599311. %(http://tinyurl.com/gatebook, Available from Amazon). %(bibtex.html#Cunningham2011a, BibTex). -%3* I Used ANNIE (for TwitIE -- version of ANNIE for social media -- see below): +%3* ANNIE (for TwitIE -- version of ANNIE for social media -- see below): - H. Cunningham, D. Maynard, K. Bontcheva, V. Tablan. GATE: A Framework and Graphical Development Environment for Robust NLP Tools and Applications. Proceedings of the 40th Anniversary Meeting of the Association for Computational Linguistics (ACL'02). Philadelphia, July 2002. %(../../sale/acl02/acl-main.pdf,PDF). %(bibtex.html#Cunningham2002, BibTeX). -%3* I used %(http://gatecloud.net, GATECloud.net): +%3* %(http://cloud.gate.ac.uk, GATE Cloud): - V. Tablan, I. Roberts, H. Cunningham, and K. Bontcheva. GATECloud.net: a Platform for Large-Scale, Open-Source Text Processing on the Cloud. %(http://rsta.royalsocietypublishing.org/, Philosophical Transactions of the Royal Society A), 371(1983), 2013 %(http://dx.doi.org/10.1098/rsta.2012.0071, doi:10.1098/rsta.2012.0071). %(http://gate.ac.uk/sale/ahm11/journal/revised-sumission-preprint.pdf, A pre-print). -%3* I used %(https://gate.ac.uk/mimir, GATE Mímir): +%3* %(https://gate.ac.uk/mimir, GATE Mímir): - V. Tablan, K. Bontcheva, I. Roberts, and H. Cunningham. Mímir: An open-source semantic search framework for interactive information seeking and discovery. Journal of Web Semantics: Science, Services and Agents on the World Wide Web, 2014. %(http://dx.doi.org/10.1016/j.websem.2014.10.002, doi:10.1016/j.websem.2014.10.002). %(bibtex.html#Tablan2014, BibTeX). -%3* I used GATE Teamware: -- K. Bontcheva, H. Cunningham, I. Roberts, A. Roberts, V. Tablan, N. Aswani, G. Gorrell. Teamware: A Web-based, Collaborative Text Annotation Framework. Language Resources and Evaluation. Volume 47, Issue 4, December 2013. %(http://link.springer.com/article/10.1007/s10579-013-9215-6,PDF) -%3* I used TwitIE / the social media components in GATE: +%3* TwitIE: - K. Bontcheva, L. Derczynski, A. Funk, M.A. Greenwood, D. Maynard, N. Aswani. TwitIE: An Open-Source Information Extraction Pipeline for Microblog Text. Proceedings of the International Conference on Recent Advances in Natural Language Processing (RANLP 2013). %(https://gate.ac.uk/sale/ranlp2013/twitie/twitie-ranlp2013.pdf, PDF), %(https://gate.ac.uk/wiki/twitie.html, Download TwitIE) + +%3* Social media analysis tools in GATE: -%3* I used the ontology features in GATE: +- D. Maynard, I. Roberts, M. A. Greenwood, D. Rout and K. Bontcheva. A Framework for Real-time Semantic Social Media Analysis. Web Semantics: Science, Services and Agents on the World Wide Web, 2017 (in press). %(https://doi.org/10.1016/j.websem.2017.05.002, https://doi.org/10.1016/j.websem.2017.05.002,) %(http://www.sciencedirect.com/science/article/pii/S1570826817300240, pre-print) +%3* Ontology features in GATE: + - K. Bontcheva, V. Tablan, D. Maynard, H. Cunningham. Evolving GATE to Meet New Challenges in Language Engineering. Natural Language Engineering. 10 (3/4), pp. 349-373. 2004. %(../../sale/jnle03/jnle-final.pdf,Pre-print). %(bibtex.html#Bontcheva2004, BibTeX). -%3* I used GATE for Information Retrieval +%3* GATE Teamware: -- H. Cunningham, A. Hanbury, and S. Rüger. Scaling up high-value retrieval to medium-volume data. In H. Cunningham, A. Hanbury, and S. Rüger, editors, Advances in Multidisciplinary Retrieval (the 1st Information Retrieval Facility Conference). LNCS volume number: 6107, Lecture Notes in Computer Science, Vienna, Austria, May 2010. Springer. %(bibtex.html#Cunningham2010, BibTeX). +- K. Bontcheva, H. Cunningham, I. Roberts, A. Roberts, V. Tablan, N. Aswani, G. Gorrell. Teamware: A Web-based, Collaborative Text Annotation Framework. Language Resources and Evaluation. Volume 47, Issue 4, December 2013. %(http://link.springer.com/article/10.1007/s10579-013-9215-6,PDF) -%3* On GATE and multimedia: - - M. Dowman, V. Tablan, H. Cunningham and B. Popov. Web-Assisted Annotation, Semantic Indexing and Search of Television and Radio News. 14th International World Wide Web Conference. Chiba, Japan, 2005. %(http://gate.ac.uk/sale/www05/web-assisted-annotation.pdf,PDF). %(bibtex.html#Dowman2005, BibTeX). - - %contents %1 Books, Book Chapters, Journals and Conference papers @@ -49,10 +47,11 @@ - K. Bontcheva, L. Derczynski, I. Roberts. Crowdsourcing Named Entity Recognition and Entity Linking Corpora. In Nancy Ide and James Pustejovsky, eds.: The Handbook of Linguistic Annotation. -- D. Maynard and B. Lepori. Ontologies as bridges between data sources and user queries: the KNOWMAK project experience. Proceedings of STI 2017, Paris, France, September 2017 (forthcoming). + %2* 2017 +- D. Maynard and B. Lepori. Ontologies as bridges between data sources and user queries: the KNOWMAK project experience. Proceedings of STI 2017, Paris, France, September 2017 - D. Maynard, I. Roberts, M. A. Greenwood, D. Rout and K. Bontcheva. A Framework for Real-time Semantic Social Media Analysis. Web Semantics: Science, Services and Agents on the World Wide Web, 2017 (in press). %(https://doi.org/10.1016/j.websem.2017.05.002, https://doi.org/10.1016/j.websem.2017.05.002,) %(http://www.sciencedirect.com/science/article/pii/S1570826817300240, pre-print) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gat...@us...> - 2017-07-25 09:39:08
|
Revision: 20254 http://sourceforge.net/p/gate/code/20254 Author: gate-project Date: 2017-07-25 09:39:06 +0000 (Tue, 25 Jul 2017) Log Message: ----------- [diana] helps when you spell the location of your file correctly Modified Paths: -------------- gate/trunk/doc/papers.html gate/trunk/doc/papers.yam Modified: gate/trunk/doc/papers.html =================================================================== --- gate/trunk/doc/papers.html 2017-07-12 18:34:00 UTC (rev 20253) +++ gate/trunk/doc/papers.html 2017-07-25 09:39:06 UTC (rev 20254) @@ -123,7 +123,7 @@ </ul> <ul> -<li>D. Maynard, A. Funk and B. Lepori. Towards an Infrastructure for Understanding and Interlinking Knowledge Co-Creation in European research. ESWC 2017 Workshop on Scientometrics, Portoroz, Slovenia, May 2017. <a class="cow-url" href="http://gate.ac.uk/sale/2017/eswc2017/scientometrics/knowmake-ontologies.pdf">PDF</a></li> +<li>D. Maynard, A. Funk and B. Lepori. Towards an Infrastructure for Understanding and Interlinking Knowledge Co-Creation in European research. ESWC 2017 Workshop on Scientometrics, Portoroz, Slovenia, May 2017. <a class="cow-url" href="http://gate.ac.uk/sale/2017/eswc2017/scientometrics/knowmak-ontologies.pdf">PDF</a></li> </ul> <ul> Modified: gate/trunk/doc/papers.yam =================================================================== --- gate/trunk/doc/papers.yam 2017-07-12 18:34:00 UTC (rev 20253) +++ gate/trunk/doc/papers.yam 2017-07-25 09:39:06 UTC (rev 20254) @@ -58,7 +58,7 @@ - P.K. Srijith, M. Lukasik, K. Bontcheva and T. Cohn. Longitudinal Modeling of Social Media with Hawkes Process based on Users and Networks. In The IEEE/ACM International Conference on Social Networks Analysis and Mining, ASONAM, 2017. -- D. Maynard, A. Funk and B. Lepori. Towards an Infrastructure for Understanding and Interlinking Knowledge Co-Creation in European research. ESWC 2017 Workshop on Scientometrics, Portoroz, Slovenia, May 2017. %(http://gate.ac.uk/sale/2017/eswc2017/scientometrics/knowmake-ontologies.pdf, PDF) +- D. Maynard, A. Funk and B. Lepori. Towards an Infrastructure for Understanding and Interlinking Knowledge Co-Creation in European research. ESWC 2017 Workshop on Scientometrics, Portoroz, Slovenia, May 2017. %(http://gate.ac.uk/sale/2017/eswc2017/scientometrics/knowmak-ontologies.pdf, PDF) - L. Derczynski. Automatically Ordering Events and Times in Text. Studies in Computational Intelligence 677. Springer. %(http://link.springer.com/book/10.1007/978-3-319-47241-6, online version) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2017-07-12 18:34:02
|
Revision: 20253 http://sourceforge.net/p/gate/code/20253 Author: markagreenwood Date: 2017-07-12 18:34:00 +0000 (Wed, 12 Jul 2017) Log Message: ----------- removing this for now Removed Paths: ------------- gate/branches/sawdust2/plugins/Gazetteer_LKB/pom.xml Deleted: gate/branches/sawdust2/plugins/Gazetteer_LKB/pom.xml =================================================================== --- gate/branches/sawdust2/plugins/Gazetteer_LKB/pom.xml 2017-07-12 09:52:45 UTC (rev 20252) +++ gate/branches/sawdust2/plugins/Gazetteer_LKB/pom.xml 2017-07-12 18:34:00 UTC (rev 20253) @@ -1,155 +0,0 @@ -<?xml version="1.0"?> -<project> - <modelVersion>4.0.0</modelVersion> - <groupId>com.ontotext.kim</groupId> - <artifactId>Gazetteer_LKB</artifactId> - <name>Large Knowledge Base Gazetteer</name> - <version>1.2</version> - <url>http://nmwiki.ontotext.com/lkb_gazetteer/</url> - - <description> - The large knowledge base (KB) gazetteer allows loading huge collections - of identifiers and labels and using them for gazetteer lookup. - This gazetteer extracts can dictionary from a remote RDF repository, - local set of RDF files ot pregenerated binary image of a such collection. - </description> - - <dependencies> - <dependency> - <groupId>uk.ac.gate</groupId> - <artifactId>gate-core</artifactId> - <version>6.0</version> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>com.ontotext.kim</groupId> - <artifactId>kim-util</artifactId> - <version>3.0-RC5</version> - <exclusions> - <exclusion> - <groupId>com.ontotext</groupId> - <artifactId>platform-api</artifactId> - </exclusion> - <exclusion> - <groupId>com.ontotext</groupId> - <artifactId>rdfdb-sesame</artifactId> - </exclusion> - <exclusion> - <groupId>org.openrdf.sesame</groupId> - <artifactId>sesame-runtime</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>commons-collections</groupId> - <artifactId>commons-collections</artifactId> - <version>3.2.1</version> - </dependency> - - <dependency> - <groupId>net.sf.trove4j</groupId> - <artifactId>trove4j</artifactId> - <!-- This specific version of trove is selected for BigOWLIM 3.4 compatibility --> - <version>2.0.2</version> - </dependency> - - <dependency> - <!-- We selected the custom built sesame-onejar artifact, - instead of the official sesame-runtime for simplicity. - sesame-runtime leads to a lot of jars placed in lib, which leads to - a lot of repetition in the creole.xml --> - <groupId>org.openrdf.sesame</groupId> - <artifactId>sesame-onejar</artifactId> - <version>2.3.2</version> - </dependency> - - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-log4j12</artifactId> - <!-- Not the latest version for compatibility with Sesame 2.3.* and OWLIM 3.3, 3.4 --> - <version>1.5.11</version> - </dependency> - - <!-- Optional dependency of sesame-onejar; Required here for HTTPRepository - and SPARQL Endpoint support --> - <dependency> - <groupId>commons-httpclient</groupId> - <artifactId>commons-httpclient</artifactId> - <version>3.1</version> - </dependency> - - - <dependency> - <groupId>org.easymock</groupId> - <artifactId>easymock</artifactId> - <version>2.5.1</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>3.8.1</version> - <!-- Scope is not "test" due to some functional tests present in src/main --> - </dependency> - </dependencies> - - <build> - <sourceDirectory>src</sourceDirectory> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>2.3.2</version> - <configuration> - <source>1.5</source> - <target>1.5</target> - <!-- See the bottom for actual value --> - <encoding>${project.build.sourceEncoding}</encoding> - </configuration> - </plugin> - <plugin> - <artifactId>maven-assembly-plugin</artifactId> - <configuration> - <descriptors> - <descriptor>creole-bin.xml</descriptor> - </descriptors> - </configuration> - <executions> - <execution> - <id>make-assembly</id> - <phase>package</phase> - <goals> - <goal>attached</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - - <repositories> - <!-- Note that the repository URLs should NOT end in / --> - <repository> - <id>public</id> - <name>Ontotext Public Repository</name> - <url> - http://maven.ontotext.com/archiva/repository/public</url> - <releases> - <enabled>true</enabled> - <updatePolicy>never</updatePolicy> - </releases> - <snapshots> - <enabled>false</enabled> - </snapshots> - </repository> - </repositories> - - <distributionManagement> - <repository> - <id>internal</id> - <url>dav:http://maven.ontotext.com/archiva/repository/public</url> - </repository> - </distributionManagement> - -</project> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2017-07-12 09:52:48
|
Revision: 20252 http://sourceforge.net/p/gate/code/20252 Author: markagreenwood Date: 2017-07-12 09:52:45 +0000 (Wed, 12 Jul 2017) Log Message: ----------- use the right creole.xml file Modified Paths: -------------- gate/branches/sawdust2/plugins/Ontology_Tools/src/main/resources/creole.xml Removed Paths: ------------- gate/branches/sawdust2/plugins/Ontology_Tools/creole.xml Deleted: gate/branches/sawdust2/plugins/Ontology_Tools/creole.xml =================================================================== --- gate/branches/sawdust2/plugins/Ontology_Tools/creole.xml 2017-07-12 09:33:41 UTC (rev 20251) +++ gate/branches/sawdust2/plugins/Ontology_Tools/creole.xml 2017-07-12 09:52:45 UTC (rev 20252) @@ -1,75 +0,0 @@ -<?xml version="1.0"?> -<!-- $Id$ --> -<!-- creole.xml directory file for GATE builtins --> -<CREOLE-DIRECTORY> - - <!-- Processing Resources --> - <CREOLE> - <!-- creole.xml for OntoGazetteer --> - <RESOURCE> - <NAME>OntoGazetteer</NAME> - <CLASS>gate.creole.gazetteer.OntoGazetteerImpl</CLASS> - <COMMENT>A list lookup component based on mapping between ontology classes and gazetteer lists.</COMMENT> - <HELPURL>http://gate.ac.uk/userguide/sec:gazetteers:ontogaz</HELPURL> - <PARAMETER NAME="document" RUNTIME="true" COMMENT="The document to be processed">gate.Document</PARAMETER> - <PARAMETER NAME="annotationSetName" RUNTIME="true" COMMENT="The annotation set to be used for the generated annotations" OPTIONAL="true">java.lang.String</PARAMETER> - <PARAMETER NAME="listsURL" DEFAULT="../ANNIE/resources/gazetteer/lists.def" COMMENT="The URL to the file with list of lists" SUFFIXES="def">java.net.URL</PARAMETER> - <PARAMETER DEFAULT="UTF-8" NAME="encoding" COMMENT="The encoding used for reading the definitions">java.lang.String</PARAMETER> - <PARAMETER DEFAULT="true" NAME="caseSensitive" COMMENT="Should this gazetteer diferentiate on case. Currently the Gazetteer works only in case sensitive mode.">java.lang.Boolean</PARAMETER> - <PARAMETER NAME="mappingURL" DEFAULT="../ANNIE/resources/gazetteer/mapping.def" COMMENT="The URL to the file with mappings of lists vs classes" SUFFIXES="def">java.net.URL</PARAMETER> - <PARAMETER NAME="gazetteerName" DEFAULT="com.ontotext.gate.gazetteer.HashGazetteer" COMMENT="The gazetteer tobe used with this ontogazetteer. should implement Gazetteer interface">java.lang.String</PARAMETER> - <ICON>gazetteer</ICON> - </RESOURCE> - </CREOLE> - - <!-- creole.xml for Visual Resources --> - <CREOLE> - - <!-- VR NEW Ontology Editor --> - <RESOURCE> - <NAME>GATE Ontology Editor</NAME> - <COMMENT>Ontology editing tool.</COMMENT> - <HELPURL>http://gate.ac.uk/userguide/sec:ontologies:vr</HELPURL> - <CLASS>gate.gui.ontology.OntologyEditor</CLASS> - <GUI TYPE="large"> - <MAIN_VIEWER/> - <RESOURCE_DISPLAYED>gate.creole.ontology.Ontology</RESOURCE_DISPLAYED> - </GUI> - </RESOURCE> - - <!-- Ontology Annotation Tool --> - <RESOURCE> - <NAME>OAT</NAME> - <COMMENT>Ontology Annotation Tool.</COMMENT> - <HELPURL>http://gate.ac.uk/userguide/sec:ontologies:ocat</HELPURL> - <JAR>ontology_tools.jar</JAR> - <CLASS>gate.creole.ontology.ocat.OntologyViewer</CLASS> - </RESOURCE> - - <RESOURCE> - <NAME>RAT-C</NAME> - <COMMENT>Relation Annotation Tool Class view.</COMMENT> - <HELPURL>http://gate.ac.uk/userguide/sec:ontologies:rat</HELPURL> - <CLASS>gate.gui.docview.OntologyClassView</CLASS> - </RESOURCE> - - <RESOURCE> - <NAME>RAT-I</NAME> - <COMMENT>Relation Annotation Tool Instance view.</COMMENT> - <HELPURL>http://gate.ac.uk/userguide/sec:ontologies:rat</HELPURL> - <CLASS>gate.gui.docview.OntologyInstanceView</CLASS> - </RESOURCE> - - <RESOURCE> - <NAME>GAZE</NAME> - <CLASS>com.ontotext.gate.vr.Gaze</CLASS> - <COMMENT>Gazetteer viewer and editor</COMMENT> - <HELPURL>http://gate.ac.uk/userguide/sec:gazetteers:onto_gaze</HELPURL> - <GUI TYPE="large"> - <MAIN_VIEWER /> - <RESOURCE_DISPLAYED>gate.creole.gazetteer.OntoGazetteerImpl</RESOURCE_DISPLAYED> - </GUI> - </RESOURCE> - - </CREOLE> -</CREOLE-DIRECTORY> Modified: gate/branches/sawdust2/plugins/Ontology_Tools/src/main/resources/creole.xml =================================================================== --- gate/branches/sawdust2/plugins/Ontology_Tools/src/main/resources/creole.xml 2017-07-12 09:33:41 UTC (rev 20251) +++ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/resources/creole.xml 2017-07-12 09:52:45 UTC (rev 20252) @@ -1,8 +1,76 @@ -<?xml version="1.0"?> -<CREOLE-DIRECTORY> +<?xml version="1.0"?> +<!-- $Id: creole.xml 15153 2012-01-20 17:47:20Z markagreenwood $ --> +<!-- creole.xml directory file for GATE builtins --> +<CREOLE-DIRECTORY> - <!-- plugins can require other plugins. - For example to require ANNIE you would include the following: - <REQUIRES GROUP="uk.ac.gate.plugins" ARTIFACT="annie" VERSION="8.5-SNAPSHOT"/> - --> + <REQUIRES GROUP="uk.ac.gate.plugins" ARTIFACT="annie" VERSION="8.5-SNAPSHOT"/> + + <!-- Processing Resources --> + <CREOLE> + <!-- creole.xml for OntoGazetteer --> + <RESOURCE> + <NAME>OntoGazetteer</NAME> + <CLASS>gate.creole.gazetteer.OntoGazetteerImpl</CLASS> + <COMMENT>A list lookup component based on mapping between ontology classes and gazetteer lists.</COMMENT> + <HELPURL>http://gate.ac.uk/userguide/sec:gazetteers:ontogaz</HELPURL> + <PARAMETER NAME="document" RUNTIME="true" COMMENT="The document to be processed">gate.Document</PARAMETER> + <PARAMETER NAME="annotationSetName" RUNTIME="true" COMMENT="The annotation set to be used for the generated annotations" OPTIONAL="true">java.lang.String</PARAMETER> + <PARAMETER NAME="listsURL" DEFAULT="../ANNIE/resources/gazetteer/lists.def" COMMENT="The URL to the file with list of lists" SUFFIXES="def">java.net.URL</PARAMETER> + <PARAMETER DEFAULT="UTF-8" NAME="encoding" COMMENT="The encoding used for reading the definitions">java.lang.String</PARAMETER> + <PARAMETER DEFAULT="true" NAME="caseSensitive" COMMENT="Should this gazetteer diferentiate on case. Currently the Gazetteer works only in case sensitive mode.">java.lang.Boolean</PARAMETER> + <PARAMETER NAME="mappingURL" DEFAULT="../ANNIE/resources/gazetteer/mapping.def" COMMENT="The URL to the file with mappings of lists vs classes" SUFFIXES="def">java.net.URL</PARAMETER> + <PARAMETER NAME="gazetteerName" DEFAULT="com.ontotext.gate.gazetteer.HashGazetteer" COMMENT="The gazetteer tobe used with this ontogazetteer. should implement Gazetteer interface">java.lang.String</PARAMETER> + <ICON>gazetteer</ICON> + </RESOURCE> + </CREOLE> + + <!-- creole.xml for Visual Resources --> + <CREOLE> + + <!-- VR NEW Ontology Editor --> + <RESOURCE> + <NAME>GATE Ontology Editor</NAME> + <COMMENT>Ontology editing tool.</COMMENT> + <HELPURL>http://gate.ac.uk/userguide/sec:ontologies:vr</HELPURL> + <CLASS>gate.gui.ontology.OntologyEditor</CLASS> + <GUI TYPE="large"> + <MAIN_VIEWER/> + <RESOURCE_DISPLAYED>gate.creole.ontology.Ontology</RESOURCE_DISPLAYED> + </GUI> + </RESOURCE> + + <!-- Ontology Annotation Tool --> + <RESOURCE> + <NAME>OAT</NAME> + <COMMENT>Ontology Annotation Tool.</COMMENT> + <HELPURL>http://gate.ac.uk/userguide/sec:ontologies:ocat</HELPURL> + <CLASS>gate.creole.ontology.ocat.OntologyViewer</CLASS> + </RESOURCE> + + <RESOURCE> + <NAME>RAT-C</NAME> + <COMMENT>Relation Annotation Tool Class view.</COMMENT> + <HELPURL>http://gate.ac.uk/userguide/sec:ontologies:rat</HELPURL> + <CLASS>gate.gui.docview.OntologyClassView</CLASS> + </RESOURCE> + + <RESOURCE> + <NAME>RAT-I</NAME> + <COMMENT>Relation Annotation Tool Instance view.</COMMENT> + <HELPURL>http://gate.ac.uk/userguide/sec:ontologies:rat</HELPURL> + <CLASS>gate.gui.docview.OntologyInstanceView</CLASS> + </RESOURCE> + + <RESOURCE> + <NAME>GAZE</NAME> + <CLASS>com.ontotext.gate.vr.Gaze</CLASS> + <COMMENT>Gazetteer viewer and editor</COMMENT> + <HELPURL>http://gate.ac.uk/userguide/sec:gazetteers:onto_gaze</HELPURL> + <GUI TYPE="large"> + <MAIN_VIEWER /> + <RESOURCE_DISPLAYED>gate.creole.gazetteer.OntoGazetteerImpl</RESOURCE_DISPLAYED> + </GUI> + </RESOURCE> + + </CREOLE> </CREOLE-DIRECTORY> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mar...@us...> - 2017-07-12 09:33:46
|
Revision: 20251 http://sourceforge.net/p/gate/code/20251 Author: markagreenwood Date: 2017-07-12 09:33:41 +0000 (Wed, 12 Jul 2017) Log Message: ----------- mavenized ready to move to git Added Paths: ----------- gate/branches/sawdust2/plugins/Ontology_Tools/pom.xml gate/branches/sawdust2/plugins/Ontology_Tools/src/main/ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ontotext/ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ontotext/gate/ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ontotext/gate/vr/ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ontotext/gate/vr/ClassNode.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ontotext/gate/vr/Gaze.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ontotext/gate/vr/GeneralEditorException.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ontotext/gate/vr/IFolder.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ontotext/gate/vr/MappingTreeView.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ontotext/gate/vr/OntoTreeModel.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/creole/ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/creole/ontology/ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/creole/ontology/ocat/ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/creole/ontology/ocat/AnnotationAction.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/creole/ontology/ocat/AnnotationEditor.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/creole/ontology/ocat/CheckRenderer.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/creole/ontology/ocat/ComboRenderer.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/creole/ontology/ocat/FeaturesEditor.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/creole/ontology/ocat/OntologyTreeListener.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/creole/ontology/ocat/OntologyTreePanel.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/creole/ontology/ocat/OntologyViewer.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/creole/ontology/ocat/OntologyViewerOptions.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/creole/ontology/ocat/Utils.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/docview/ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/docview/OntologyClassView.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/docview/OntologyInstanceView.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/AnnotationPropertyAction.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/DatatypePropertyAction.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/DeleteOntologyResourceAction.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/DetailsGroup.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/DetailsTableCellRenderer.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/DetailsTableModel.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/InstanceAction.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/KeyValuePair.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/OResourceNode.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/ObjectPropertyAction.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/OntoTreeCellRenderer.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/OntologyEditor.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/OntologyItemComparator.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/PropertyDetailsTableCellRenderer.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/PropertyDetailsTableModel.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/PropertyValue.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/RDFPropertyPrototype.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/RestrictionAction.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/SearchAction.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/SubClassAction.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/SymmetricPropertyAction.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/TopClassAction.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/TransitivePropertyAction.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/TreeNodeSelectionListener.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/Utils.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/gate/gui/ontology/ValuesSelectionAction.java gate/branches/sawdust2/plugins/Ontology_Tools/src/main/resources/ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/resources/creole.xml gate/branches/sawdust2/plugins/Ontology_Tools/src/test/ gate/branches/sawdust2/plugins/Ontology_Tools/src/test/java/ gate/branches/sawdust2/plugins/Ontology_Tools/src/test/java/gate/ gate/branches/sawdust2/plugins/Ontology_Tools/src/test/java/gate/creole/ gate/branches/sawdust2/plugins/Ontology_Tools/src/test/java/gate/creole/GappLoadingTest.java gate/branches/sawdust2/plugins/Ontology_Tools/src/test/resources/ gate/branches/sawdust2/plugins/Ontology_Tools/src/test/resources/creole.properties Removed Paths: ------------- gate/branches/sawdust2/plugins/Ontology_Tools/.classpath gate/branches/sawdust2/plugins/Ontology_Tools/.project gate/branches/sawdust2/plugins/Ontology_Tools/build.xml gate/branches/sawdust2/plugins/Ontology_Tools/doc/ gate/branches/sawdust2/plugins/Ontology_Tools/src/com/ gate/branches/sawdust2/plugins/Ontology_Tools/src/gate/ Deleted: gate/branches/sawdust2/plugins/Ontology_Tools/.classpath =================================================================== --- gate/branches/sawdust2/plugins/Ontology_Tools/.classpath 2017-07-10 14:43:43 UTC (rev 20250) +++ gate/branches/sawdust2/plugins/Ontology_Tools/.classpath 2017-07-12 09:33:41 UTC (rev 20251) @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="src" path="src"/> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> - <classpathentry combineaccessrules="false" exported="true" kind="src" path="/GATE"/> - <classpathentry kind="output" path="build"/> -</classpath> Deleted: gate/branches/sawdust2/plugins/Ontology_Tools/.project =================================================================== --- gate/branches/sawdust2/plugins/Ontology_Tools/.project 2017-07-10 14:43:43 UTC (rev 20250) +++ gate/branches/sawdust2/plugins/Ontology_Tools/.project 2017-07-12 09:33:41 UTC (rev 20251) @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>GATE-plugin-Ontology_Tools</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.jdt.core.javanature</nature> - </natures> -</projectDescription> Deleted: gate/branches/sawdust2/plugins/Ontology_Tools/build.xml =================================================================== --- gate/branches/sawdust2/plugins/Ontology_Tools/build.xml 2017-07-10 14:43:43 UTC (rev 20250) +++ gate/branches/sawdust2/plugins/Ontology_Tools/build.xml 2017-07-12 09:33:41 UTC (rev 20251) @@ -1,89 +0,0 @@ -<project name="ontology_tools" default="jar" basedir="."> - <description> - A plugin for Ontology Tools. - </description> - - <!-- Prevent Ant from warning about includeantruntime not being set --> - <property name="build.sysclasspath" value="ignore" /> - - <!-- set global properties for this build --> - <property name="src" location="src"/> - <property name="jar.location" location="ontology_tools.jar" /> - <property name="build" location="build" /> - <property name="gate.home" location="../.." /> - <property name="gate.jar" location="${gate.home}/bin/gate.jar" /> - <property name="gate.lib" location="${gate.home}/lib" /> - <property name="doc.dir" location="doc" /> - <property name="javadoc.dir" location="${doc.dir}/javadoc" /> - - <path id="classpath"> - <pathelement location="${gate.jar}" /> - <fileset dir="${gate.lib}"> - <include name="**/*.jar" /> - <include name="**/*.zip" /> - </fileset> - <!--<fileset dir="lib"> - <include name="*.jar"/> - </fileset>--> - </path> - - - <target name="init"> - <!-- Create the time stamp --> - <tstamp/> - <!-- Create the build directory structure used by compile --> - <mkdir dir="${build}"/> - </target> - - <target name="compile" depends="init" - description="compile the source " > - <!-- Compile the java code from ${src} into ${build} --> - <javac srcdir="${src}" destdir="${build}" debug="true" source="1.5" target="1.5"> - <compilerarg value="-Xlint:deprecation"/> - <classpath refid="classpath"/> - </javac> - </target> - - <target name="jar" depends="compile" - description="generate the distribution" > - <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file --> - <jar jarfile="${jar.location}" basedir="${build}"/> - </target> - - <!-- Build JavaDoc documentation --> - <target name="doc.prepare"> - <mkdir dir="${javadoc.dir}" /> - </target> - - <target name="javadoc" depends="doc.prepare"> - <javadoc destdir="${javadoc.dir}" packagenames="*" - classpathref="classpath" - encoding="UTF-8" - windowtitle="${plugin.name} JavaDoc" - source="1.6"> - <sourcepath> - <pathelement location="${src}" /> - </sourcepath> - <link href="http://docs.oracle.com/javase/6/docs/api/" /> - <link href="http://gate.ac.uk/gate/doc/javadoc/" /> - </javadoc> - </target> - - - <target name="clean.classes" - description="clean up" > - <delete dir="${build}"/> - </target> - - <target name="clean" depends="clean.classes" > - <!-- full clean also removes the generated JAR file --> - <delete file="${jar.location}" /> - </target> - - <!-- Targets used by the main GATE build file --> - <target name="build" depends="jar" /> - <target name="test" /> - <target name="distro.prepare" depends="clean.classes" /> - -</project> - Added: gate/branches/sawdust2/plugins/Ontology_Tools/pom.xml =================================================================== --- gate/branches/sawdust2/plugins/Ontology_Tools/pom.xml (rev 0) +++ gate/branches/sawdust2/plugins/Ontology_Tools/pom.xml 2017-07-12 09:33:41 UTC (rev 20251) @@ -0,0 +1,42 @@ + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>uk.ac.gate</groupId> + <artifactId>gate-plugin-base</artifactId> + <!-- this should be the version of GATE you wish to build against --> + <version>8.5-SNAPSHOT</version> + + <!-- this forces the parent to always be resolved from the repo --> + <relativePath></relativePath> + </parent> + + <!-- this is the description of this plugin --> + <groupId>uk.ac.gate.plugins</groupId> + <artifactId>ontology-tools</artifactId> + <version>8.5-SNAPSHOT</version> + + <licenses> + <license> + <!-- this is the license we usually use for plugins but feel free to change + this if you feel a different license would be more suitable for your plugin --> + <name>GNU Lesser General Public License (LGPL), Version 3</name> + <url>http://www.gnu.org/licenses/lgpl-3.0.txt</url> + <distribution>repo</distribution> + </license> + </licenses> + + <dependencies> + <!-- add any other libraries your plugin depends on. Any other GATE plugins + you depend on at compile time should use the provided scope --> + <dependency> + <groupId>uk.ac.gate.plugins</groupId> + <artifactId>annie</artifactId> + <version>8.5-SNAPSHOT</version> + </dependency> + </dependencies> + +</project> Added: gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ontotext/gate/vr/ClassNode.java =================================================================== --- gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ontotext/gate/vr/ClassNode.java (rev 0) +++ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ontotext/gate/vr/ClassNode.java 2017-07-12 09:33:41 UTC (rev 20251) @@ -0,0 +1,455 @@ +package com.ontotext.gate.vr; + +import gate.creole.gazetteer.MappingDefinition; +import gate.creole.gazetteer.MappingNode; +import gate.creole.ontology.AnonymousClass; +import gate.creole.ontology.OClass; +import gate.creole.ontology.OConstants; +import gate.creole.ontology.OInstance; +import gate.creole.ontology.OURI; +import gate.creole.ontology.Ontology; +import gate.util.GateRuntimeException; + +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.io.IOException; +import java.io.Serializable; +import java.net.URL; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; +import java.util.Vector; + +/** Represents a single class node from the visualized ontology */ +public class ClassNode implements IFolder, Transferable, Cloneable, + Serializable { + + private static final long serialVersionUID = 3258128055154063414L; + + /** flavor used for drag and drop */ + final public static DataFlavor CLASS_NODE_FLAVOR = new DataFlavor( + ClassNode.class, "Class Node"); + + static DataFlavor flavors[] = { CLASS_NODE_FLAVOR }; + + private String name; + private Vector<ClassNode> children = new Vector<ClassNode>(); + private Object source; + + /** + * create a structure representing the class hierarchy of an ontology + * + * @return the root node of the structure + */ + public static ClassNode createRootNode(Ontology o) { + return createRootNode(o, false, false); + } + + public static ClassNode createRootNode(Ontology o, + boolean includeInstances, boolean includeAnonymousClasses) { + if (null == o) + throw new NullPointerException("ontology is null."); + + ClassNode root = new ClassNode(o); + Iterator<OClass> itops = o.getOClasses(true).iterator(); + Vector<ClassNode> kids = new Vector<ClassNode>(); + if (includeAnonymousClasses) { + while (itops.hasNext()) { + ClassNode node = new ClassNode(itops.next()); + kids.add(node); + } // while + } else { + while (itops.hasNext()) { + OClass aClass = itops.next(); + if (aClass instanceof AnonymousClass) { + continue; + } + ClassNode node = new ClassNode(aClass); + kids.add(node); + } // while + } + + root.source = o; + root.setChildren(kids); + Vector<ClassNode> parents = kids; + Vector<ClassNode> allKids; + do { + allKids = new Vector<ClassNode>(); + for (int i = 0; i < parents.size(); i++) { + ClassNode parent = parents.get(i); + kids = new Vector<ClassNode>(); + + // skip this one if it's an instance + if (parent.getSource() instanceof OInstance) + continue; + + OClass ocl = (OClass) parent.getSource(); + + // if we include instances, then get them too + if (includeInstances && (o instanceof Ontology)) { + Ontology kb = (Ontology) o; + Set<OInstance> instances = kb.getOInstances(ocl, + OConstants.Closure.DIRECT_CLOSURE); + if (instances != null && !instances.isEmpty()) { + Iterator<OInstance> insti = instances.iterator(); + while (insti.hasNext()) + kids.add(new ClassNode(insti.next())); + } + } + + if (0 == ocl.getSubClasses(OConstants.Closure.DIRECT_CLOSURE) + .size()) { + if (!kids.isEmpty()) + // add the instances as children, but do not add them + // for future + // traversal to allKids + parent.setChildren(kids); + continue; + } // if 0 children + + Iterator<OClass> kidsi = ocl.getSubClasses( + OConstants.Closure.DIRECT_CLOSURE).iterator(); + + while (kidsi.hasNext()) { + OClass aClass = kidsi.next(); + if (!includeAnonymousClasses + && aClass instanceof AnonymousClass) + continue; + kids.add(new ClassNode(aClass)); + } // while kidsi + parent.setChildren(kids); + allKids.addAll(kids); + + } // for i + parents = allKids; + } while (0 < allKids.size()); + + return root; + }// createRootNode() + + /** + * Creates a structure representing the class hierarchy of an ontology and + * the gazetteerLists mapped to it. + * + * @param o + * an ontology + * @param mapping + * mapping definition + * @param nameVsNode + * : this is actually a return value: should be initialized + * before passing to this method and afterwards one can find a + * mapping of class names vs class nodes there. + * @return the root node of the structure + */ + @SuppressWarnings("deprecation") + public static ClassNode createRootNode(Ontology o, + MappingDefinition mapping, Map<String, ClassNode> nameVsNode) { + if (null == o || null == nameVsNode || null == mapping) + throw new NullPointerException( + "mapping, nameVsNode or ontology-o is null."); + ClassNode root = new ClassNode(o); + Iterator<OClass> itops = o.getOClasses(true).iterator(); + Vector<ClassNode> kids = new Vector<ClassNode>(); + while (itops.hasNext()) { + ClassNode node = new ClassNode(itops.next()); + nameVsNode.put(node.toString(), node); + kids.add(node); + } // while + + root.source = o; + root.setChildren(kids); + Vector<ClassNode> parents = kids; + Vector<ClassNode> allKids; + do { + allKids = new Vector<ClassNode>(); + for (int i = 0; i < parents.size(); i++) { + ClassNode parent = parents.get(i); + + OClass ocl = (OClass) parent.getSource(); + if (0 == ocl.getSubClasses(OConstants.Closure.DIRECT_CLOSURE) + .size()) { + continue; + } // if 0 children + + Iterator<OClass> kidsi = ocl.getSubClasses( + OConstants.Closure.DIRECT_CLOSURE).iterator(); + + kids = new Vector<ClassNode>(); + while (kidsi.hasNext()) { + ClassNode cn = new ClassNode(kidsi.next()); + kids.add(cn); + nameVsNode.put(cn.toString(), cn); + } // while kidsi + parent.setChildren(kids); + allKids.addAll(kids); + + } // for i + parents = allKids; + } while (0 < allKids.size()); + + // display mapping + Iterator<MappingNode> inodes = mapping.iterator(); + MappingNode mn; + while (inodes.hasNext()) { + mn = inodes.next(); + URL turl = null; + try { + turl = new URL(mn.getOntologyID()); + } catch (java.net.MalformedURLException x) { + } + if (null != turl) { + Ontology o2 = null; + try { + o2 = gate.creole.ontology.OntologyUtilities.getOntology(turl); + } catch (gate.creole.ResourceInstantiationException x) { + } + if (o2 != null && o2.equals(o)) { + ClassNode cmn = new ClassNode(mn); + ClassNode cn = nameVsNode.get(mn.getClassID()); + if (null != cn) { + cn.children.add(cn.children.size(), cmn); + } + }// if from the same ontology + } // turl != null + }// while inodes + + return root; + }// createRootNode() + + /** + * Constructs a root class node from an ontology + * + * @param o + * the ontology + */ + public ClassNode(Ontology o) { + name = o.getName(); + } + + /** + * Constructs a class node given an ontology class + * + * @param clas + * ontology class + */ + public ClassNode(OClass clas) { + name = clas.getName(); + source = clas; + } + + /** + * Constructs a class node given an ontology instance + * + * @param instance + * ontology instance + */ + public ClassNode(OInstance instance) { + name = instance.getName(); + source = instance; + } + + /** + * Constructs a class node given a mapping node + * + * @param mapNode + * mapping node + */ + public ClassNode(MappingNode mapNode) { + name = mapNode.getList(); + source = mapNode; + } + + public int getIndexOfChild(Object child) { + return children.indexOf(child); + } + + public Iterator<ClassNode> getChildren() { + return children.iterator(); + } + + public void setChildren(Vector<ClassNode> chldrn) { + children = chldrn; + } + + public Vector<ClassNode> children() { + return children; + } + + public String toString() { + return name; + } + + public int getChildCount() { + return children.size(); + } + + public IFolder getChild(int index) { + return children.get(index); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((source == null) ? 0 : source.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + ClassNode other = (ClassNode) obj; + if (source == null) { + if (other.source != null) + return false; + } else if (!source.equals(other.source)) + return false; + return true; + } + + /** + * Gets the Source object + * + * @return the source object e.g. an gate.creole.TClass or a + * gate.creole.Ontology + */ + public Object getSource() { + return source; + } + + /** + * Sets the source object + * + * @param o + * the source object to be set + */ + public void setSource(Object o) { + source = o; + } + + /** + * Renames this class node + * + * @param newName + * the new name of the node + */ + public void rename(String newName) { + name = newName; + } + + /** + * Removes a sub class + * + * @param sub + * the sub class to be removed + */ + public void removeSubNode(ClassNode sub) { + if (children.contains(sub)) { + children.remove(sub); + Object source = this.getSource(); + if (source instanceof OClass) { + OClass c = (OClass) source; + if (sub.getSource() instanceof OClass) + c.removeSubClass((OClass) sub.getSource()); + else if (sub.getSource() instanceof OInstance + && c.getOntology() instanceof Ontology) + ((Ontology) c.getOntology()) + .removeOInstance((OInstance) sub.getSource()); + } else if (source instanceof Ontology) { + Ontology o = (Ontology) source; + o.removeOClass((OClass) sub.getSource()); + } else if (source instanceof OInstance) { + // cannot remove anything from an instance + return; + } else { + throw new GateRuntimeException( + "Can not remove a sub node from a classnode.\n" + + "The source is neither an Ontology neither TClass"); + } // else + } // if contains + } // removeSubNode + + /** + * Adds a sub node + * + * @param sub + * the sub node to be added + */ + public void addSubNode(ClassNode sub) { + if (!children.contains(sub)) { + Object source = this.getSource(); + if (source instanceof OClass) { + OClass c = (OClass) source; + if (!(sub.getSource() instanceof OClass) + && !(sub.getSource() instanceof OInstance)) + throw new GateRuntimeException( + "The sub node's source is not an instance of TClass or OInstance"); + if (sub.getSource() instanceof OClass) { + OClass sc = (OClass) sub.getSource(); + c.addSubClass(sc); + // this code originally used the deprecated method + // addOClass(URI, byte) + // with the byte constant indicating a class, without + // checking for + // sc not being an anonymous class. + c.getOntology().addOClass((OURI) sc.getONodeID()); + children.add(sub); + } + if (sub.getSource() instanceof OInstance + && c.getOntology() instanceof Ontology) { + OInstance inst = (OInstance) sub.getSource(); + if (!((Ontology) c.getOntology()).containsOInstance(inst + .getOURI())) { + Iterator<OClass> instClasses = inst.getOClasses( + OConstants.Closure.DIRECT_CLOSURE).iterator(); + while (instClasses.hasNext()) { + ((Ontology) c.getOntology()).addOInstance( + inst.getOURI(), instClasses.next()); + } + } + + children.add(sub); + } + + } else { + if (source instanceof Ontology) { + Ontology o = (Ontology) source; + if (!(sub.getSource() instanceof OClass)) + throw new GateRuntimeException( + "The sub node's source is not an instance of TClass"); + OClass sc = (OClass) sub.getSource(); + o.addOClass((OURI) sc.getONodeID()); + children.add(sub); + } else { + throw new GateRuntimeException( + "cannot add a sub node to something which " + + "is neither an Ontology neither an TClass"); + } // else + } // else + } // if ! contains + } // addSubNode() + + /*--- Transferable interface implementation ---*/ + public boolean isDataFlavorSupported(DataFlavor df) { + return df.equals(CLASS_NODE_FLAVOR); + } + + public Object getTransferData(DataFlavor df) + throws UnsupportedFlavorException, IOException { + if (df.equals(CLASS_NODE_FLAVOR)) { + return this; + } else + throw new UnsupportedFlavorException(df); + } + + public DataFlavor[] getTransferDataFlavors() { + return flavors; + } + +} // class ClassNode \ No newline at end of file Added: gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ontotext/gate/vr/Gaze.java =================================================================== --- gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ontotext/gate/vr/Gaze.java (rev 0) +++ gate/branches/sawdust2/plugins/Ontology_Tools/src/main/java/com/ontotext/gate/vr/Gaze.java 2017-07-12 09:33:41 UTC (rev 20251) @@ -0,0 +1,1968 @@ +/* Gaze.java + * borislav popov + */ +package com.ontotext.gate.vr; + +import javax.swing.*; +import javax.swing.event.*; +import javax.swing.tree.TreeModel; +import javax.swing.tree.TreePath; + +import gate.creole.*; +import gate.creole.gazetteer.*; +import gate.creole.ontology.*; +import gate.util.*; +import gate.event.GateEvent; +import gate.gui.MainFrame; +import java.awt.*; +import java.awt.event.*; +import java.util.*; +import java.net.*; +import java.io.*; + +/** Gaze is a Gazetteer VR capable of viewing and editing + * gazetteer lists, linear definitions (lists.def files), + * and mapping definitions (mappings between ontology classes and gazetteer lists). + * I.e. capable of visualizing and editing both linear and ontology-aware gazetteers. */ +public class Gaze extends AbstractVisualResource + implements GazetteerListener, OntologyModificationListener { + + /** size x when running from the tools menu */ + public final static int SIZE_X = 700; + /** size y when running from the tools menu */ + public final static int SIZE_Y = 500; + /** positin x when running from the tools menu */ + public final static int POSITION_X = 300; + /** positin y when running from the tools menu */ + public final static int POSITION_Y = 200; + + /* Linear Definition Actions */ + /** Edit Linear Node */ + private final static int LDA_EDIT = 1; + /** Insert Linear Node */ + private final static int LDA_INSERT = 2; + /** Remove Linear Node */ + private final static int LDA_REMOVE = 3; + + /** the target to be displayed */ + private Gazetteer target = null; + + /** is the target resource ontology-aware gazetteer */ + private boolean isOntoGaz = false; + + /** the linear definition being displayed */ + private LinearDefinition linear = null; + + /** the linear node currently selected */ + private LinearNode linearNode = null; + + /** the gazetteer list currently selected */ + private GazetteerList gazList = null; + + /** Set of all lists, both in the linear definition and + * explicitly loaded ones.*/ + private Set listSet = null; + + /** the mapping definition being displayed */ + private MappingDefinition mapping = null; + + /** the mapping node currently selected */ + private MappingNode mappingNode = null; + + /** the ontology that is currently displayed */ + private Ontology ontology = null; + + /** map of ontologies vs trees */ + private Map<Ontology, JTree> ontologyTrees = new HashMap<Ontology, JTree>(); + + /*manually added gui components */ + + /**Linear Definition Popup menu */ + protected JPopupMenu linearPopup = new JPopupMenu(); + /**Linear Definition Edit Popup Item*/ + protected JMenuItem linearPopupEdit; + /**Linear Definition Insert Popup Item*/ + protected JMenuItem linearPopupInsert; + /**Linear Definition Remove Popup Item*/ + protected JMenuItem linearPopupRemove; + + /*automatically added gui components */ + protected JMenuBar mainMenu = new JMenuBar(); + protected JMenu fileMenu = new JMenu(); + protected JMenu viewMenu = new JMenu(); + protected JSplitPane baseSplit = new JSplitPane(); + protected JSplitPane mappingSplit = new JSplitPane(); + protected JSplitPane linearSplit = new JSplitPane(); + protected JPanel linearPanel = new JPanel(); + protected JPanel listPanel = new JPanel(); + protected JPanel mappingPanel = new JPanel(); + protected JPanel ontologyPanel = new JPanel(); + protected JLabel linearLabel = new JLabel(); + protected GridBagLayout gridBagLayout1 = new GridBagLayout(); + protected JScrollPane linearScroll = new JScrollPane(); + protected JToolBar linearBar = new JToolBar(); + protected JButton btnLinearLoad = new JButton(); + protected JList linearList = new JList(); + protected JButton btnLinearSave = new JButton(); + protected JButton btnLinearSaveAs = new JButton(); + protected JLabel listLabel = new JLabel(); + protected GridBagLayout gridBagLayout2 = new GridBagLayout(); + protected JToolBar listBar = new JToolBar(); + protected JButton btnListLoad = new JButton(); + protected JScrollPane listScroll = new JScrollPane(); + protected JButton btnListSave = new JButton(); + protected JButton btnListSaveAs = new JButton(); + protected GridBagLayout gridBagLayout3 = new GridBagLayout(); + protected JLabel mappingLabel = new JLabel(); + protected JToolBar mappingBar = new JToolBar(); + protected JButton btnMappingLoad = new JButton(); + protected JScrollPane mappingScroll = new JScrollPane(); + protected JList mappingList = new JList(); + protected JButton btnMappingSave = new JButton(); + protected JButton btnMappingSaveAs = new JButton(); + protected JLabel ontologyLabel = new JLabel(); + protected JToolBar ontologyBar = new JToolBar(); + protected JButton btnOntologyLoad = new JButton(); + protected JScrollPane ontologyScroll = new JScrollPane(); + protected GridBagLayout gridBagLayout4 = new GridBagLayout(); + protected JMenu menuHelp = new JMenu(); + protected JMenuItem menuAbout = new JMenuItem(); + protected GridBagLayout thisLayout = new GridBagLayout(); + protected JMenu menuLinear = new JMenu(); + protected JMenuItem menuLinearLoad = new JMenuItem(); + protected JMenuItem menuLinearSave = new JMenuItem(); + protected JMenuItem menuLinearSaveAs = new JMenuItem(); + protected JMenu menuList = new JMenu(); + protected JMenuItem menuListLoad = new JMenuItem(); + protected JMenuItem menuListSave = new JMenuItem(); + protected JMenuItem menuListSaveAs = new JMenuItem(); + protected JMenu menuMapping = new JMenu(); + protected JMenuItem menuMappingLoad = new JMenuItem(); + protected JMenuItem menuMappingSave = new JMenuItem(); + protected JMenuItem menuMappingSaveAs = new JMenuItem(); + protected JMenu menuOntology = new JMenu(); + protected JMenuItem menuOntologyLoad = new JMenuItem(); + protected JMenuItem menuRefresh = new JMenuItem(); + protected JTree oTree = new JTree(); + protected JTextArea listArea = new JTextArea(); + protected JButton btnMappingNew = new JButton(); + protected JButton btnLinearNew = new JButton(); + protected JButton btnListNew = new JButton(); + protected JMenuItem menuLinearNew = new JMenuItem(); + protected JMenuItem menuListNew = new JMenuItem(); + protected JMenuItem menuMappingNew = new JMenuItem(); + protected JButton btnListSaveAll = new JButton(); + protected JMenuItem menuListSaveAll = new JMenuItem(); + + + public Gaze() { + try { + + jbInit(); + /* add menu bar*/ + mainMenu.setMinimumSize(new Dimension(0,20)); + mainMenu.setMaximumSize(new Dimension(0,20)); + mainMenu.setPreferredSize(new Dimension(0,20)); + this.add(mainMenu, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0 + ,GridBagConstraints.CENTER, + GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0 )); + + /* make the ontology tree invisible because not initialized yet*/ + oTree.setVisible(false); + + /* create and associate linear listeners... */ + createLinearListeneres(); + + /*...and non linear (mapping, ontology) listeners */ + createNonLinearListeners(); + + /* associate the load,save,saveas buttons with action */ + createLinearDefBtnListeners(); + createGazListBtnListeners(); + createMappingDefBtnListeners(); + + /* create a new cell renderer for the linear definition list */ + linearList.setCellRenderer(new LinearCR()); + + /* add modifications listener over the gazetteer list text area */ + listArea.getDocument().addDocumentListener(new GazListDL()); + + /* create Linear Definition Popup menu */ + linearPopupEdit = new JMenuItem("edit"); + linearPopupInsert = new JMenuItem("insert"); + linearPopupRemove = new JMenuItem("remove"); + + linearPopup.add(linearPopupEdit); + linearPopup.add(linearPopupInsert); + linearPopup.add(linearPopupRemove); + + /* add popup listener */ + linearList.addMouseListener(new LinearPopupListener()); + + + /* add popup menu items' listeners*/ + linearPopupEdit.addActionListener(new LinearPopupEditListener()); + linearPopupRemove.addActionListener(new LinearPopupRemoveListener()); + linearPopupInsert.addActionListener(new LinearPopupInsertListener()); + } catch(Exception e) { + e.printStackTrace(gate.util.Err.getPrintWriter()); + } + } + + /** + * Called by the GUI when this viewer/editor has to initialise itself for a + * specific object. this is an {@link gate.creole.AbstractVisualResource} overriden method. + * @param targeta the object (be it a {@link gate.Resource}, + * {@link gate.DataStore} or whatever) this viewer has to display + */ + public void setTarget(Object targeta) { + + /*check the parameter*/ + if (null == targeta) { + throw new GateRuntimeException("should not set null target."); + } + if (! (targeta instanceof Gazetteer) ) { + throw new GateRuntimeException( + "the target should impelement \n"+ + "gate.creole.gazetteer.Gazetteer. \n"+ + "target => "+targeta.getClass()); + } + + target = (Gazetteer)targeta; + + target.addGazetteerListener(this); + + /** determine the type of the target */ + isOntoGaz = (target instanceof OntoGazetteer); + + /**disable the ontology and mapping areas */ + if (!isOntoGaz) { + mappingSplit.setVisible(false); + mappingList.setEnabled(false); + } + + /* display linear definition */ + displayLinear(target); + + /* display mapping */ + if (isOntoGaz) + displayMapping(target); + + } // setTarget(Object) + + + public gate.Resource init() throws ResourceInstantiationException { + return this; + } + + /** updates the mapping list's ui */ + void updateMappingUI(){ + if ( null!=mappingList ) { + mappingList.setListData(mapping.toArray()); + mappingList.updateUI(); + } + } // updateMappingUI() + + /** Displays the specified list in the most right pane of Gaze + * @param listName the name of the list + */ + void displayList(String listName) { + // find the gazetteer list by list name + Object node = linear.getNodesByListNames().get(listName); + GazetteerList newList = null; + if ( node != null ) { + newList = (GazetteerList)linear.getListsByNode().get(node); + if ( null != newList ){ + + //retrieve the possible editions of the gazetteer + if (null!=listArea && null!=gazList) { + gazList.setMode(gazList.STRING_MODE); + boolean mdfd = gazList.isModified(); + gazList.updateContent(listArea.getText()); + gazList.setModified(mdfd); + } + + //show the newly selected list + gazList = newList; + if ( null!= gazList) { + gazList.setMode(gazList.STRING_MODE); + boolean mdfd = gazList.isModified(); + listArea.setText(gazList.toString()); + gazList.setModified(mdfd); + } else { + listArea.setText(""); + } + } // != null + } // != null + + } // displayList(String) + + /**Gets the lists + * @return a list of all the gaz lists known to this VR*/ + java.util.List getLists() { + return linear.getLists(); + } + + /**Gets all classes. + * @return a list of all the classes from all the ontologies known to this VR*/ + java.util.List getClasses() { + java.util.List<OClass> result = null; + if ( null == ontology) + result = new ArrayList<OClass>(); + else { + result = new ArrayList<OClass>(ontology.getOClasses(false)); + } + return result; + } + + + + /** Displays linear definition + * @param g the gazetteer to take the definition from */ + private void displayLinear(Gazetteer g) { + // get the linear definition + linear = g.getLinearDefinition(); + // check the linear definition + if (null == linear) + throw new GateRuntimeException( + "linear definition of a gazetteer should not be null."); + + listSet = new HashSet(linear.getLists()); + + if (null == listSet) + throw new GateRuntimeException( + "The set of Gazetteer Lists should not be null."); + + // set the list data with the nodes of the gaz + linearList.setListData(new Vector(linear.getNodes())); + } // displayLinear() + + /** Displays mapping + * @param g the gazetteer to take the mapping from */ + private void displayMapping(Gazetteer g) { + mapping = g.getMappingDefinition(); + if (null == mapping) + throw new GateRuntimeException( + "the mapping definition of an onto gazetteer should not be null"); + mappingList.setListData(mapping.toArray()); + + /*Add all lists present in the mapping to the set of loaded lists*/ + listSet.addAll(mapping.getLists()); + + }// displayMapping() + + /**Creates and associates listeners for the linear gui components*/ + private void createLinearListeneres() { + + /* add list selection listener to the linear definition list component*/ + linearList.addListSelectionListener( + new ListSelectionListener () { + public void valueChanged(ListSelectionEvent e) { + if (linearList.getAnchorSelectionIndex() < linearList.getModel().getSize()) { + Object obj = linearList.getModel().getElementAt( + linearList.getAnchorSelectionIndex()); + if ( obj instanceof LinearNode ) { + linearNode = (LinearNode) obj; + + //retrieve the possible editions of the gazetteer + if (null!=listArea && null!=gazList) { + gazList.setMode(gazList.STRING_MODE); + boolean mdfd = gazList.isModified(); + gazList.updateContent(listArea.getText()); + gazList.setModified(mdfd); + } + + //show the newly selected list + gazList = (GazetteerList)linear.getListsByNode().get(linearNode); + if ( null!= gazList) { + gazList.setMode(gazList.STRING_MODE); + boolean mdfd = gazList.isModified(); + listArea.setText(gazList.toString()); + gazList.setModified(mdfd); + } else { + listArea.setText(""); + } + + + } // only if linear node + } // size > 0 + } // valueChanged(); + } ); + + } // createLinearListeneres() + + /**Creates and asssociates listeners for the + * non linear (mapping,ontology) gui components */ + private void createNonLinearListeners() { + + /* add list selection listener to the mapping definition list component*/ + mappingList.addListSelectionListener( + new ListSelectionListener () { + @SuppressWarnings("deprecation") + public void valueChanged(ListSelectionEvent e) { + if (0 < mappingList.getModel().getSize()) { + Object obj = mappingList.getModel().getElementAt( + mappingList.getAnchorSelectionIndex()); + if ( obj instanceof MappingNode ) { + mappingNode = (MappingNode) obj; + URL ourl; + try { + ourl = new URL(mappingNode.getOntologyID()); + } catch (MalformedURLException x) { + throw new GateRuntimeException("Malformed URL:" + +mappingNode.getOntologyID()); + } + // get te ontology + try { + ontology = OntologyUtilities.getOntology(ourl); + ontology.addOntologyModificationListener(Gaze.this); + } catch (ResourceInstantiationException x) { + x.printStackTrace(Err.getPrintWriter()); + } + if (null == ontology) + throw new GateRuntimeException("can not retrieve ontology by url.\n" + +"ontology is null.\n" + +"url = "+ourl); + + // remove the old tree from the scroll pane + if (null != oTree) + ontologyScroll.getViewport().remove(oTree); + + // check if there is already a tree for this ontology + oTree = (JTree) ontologyTrees.get(ontology); + + if (null == oTree) { + Map namesVsNodes = new HashMap(); + ClassNode root = ClassNode.createRootNode(ontology,mapping,namesVsNodes); + OntoTreeModel model = new OntoTreeModel(root); + MappingTreeView view = new MappingTreeView(model,mapping,Gaze.this); + oTree = view; + ontologyTrees.put(ontology,oTree); + } // ontology tree has not been previously creted + + ontologyScroll.getViewport().add(oTree,null); + oTree.setVisible(true); + + displayList(mappingNode.getList()); + } // only if mapping node + } // size > 0 + } // valueChanged(); + } ); + + } // createNonLinearListeners() + + + /**Sets the listeners for the load,save and save as + * buttons in the linear definition pane */ + private void createLinearDefBtnListeners() { + /* add a create/new action listener */ + btnLinearNew.addActionListener(new LinearNewListener()); + menuLinearNew.addActionListener(new LinearNewListener()); + + /* add load action listener for the linear definition */ + btnLinearLoad.addActionListener(new LinearLoadListener()); + menuLinearLoad.addActionListener(new LinearLoadListener()); + + /* add save as action listener for the linear definition */ + btnLinearSaveAs.addActionListener(new LinearSaveAsListener()); + menuLinearSaveAs.addActionListener(new LinearSaveAsListener()); + + + /* add save action listener for the linear definition */ + btnLinearSave.addActionListener(new LinearSaveListener()); + menuLinearSave.addActionListener(new LinearSaveListener()); + + } // createLinearDefBtnListeners() + + /**Sets the listeners for the load,save and save as + * buttons in the gazetteer list pane */ + private void createGazListBtnListeners() { + + /* add new action listener */ + btnListNew.addActionListener(new ListNewListener()); + menuListNew.addActionListener(new ListNewListener()); + + /* add load action listener */ + btnListLoad.addActionListener(new ListLoadListener()); + menuListLoad.addActionListener(new ListLoadListener()); + + /* add save as action listener */ + btnListSaveAs.addActionListener(new ListSaveAsListener()); + menuListSaveAs.addActionListener(new ListSaveAsListener()); + + /* add save action listener */ + btnListSave.addActionListener(new ListSaveListener()); + menuListSave.addActionListener(new ListSaveListener()); + + /* add save all action listener */ + btnListSaveAll.addActionListener(new ListSaveAllListener()); + menuListSaveAll.addActionListener(new ListSaveAllListener()); + } // createGazListBtnListeners() + + /**Sets the listeners for the load,save and save as + * buttons in the mapping pane */ + private void createMappingDefBtnListeners() { + + /* add create new action listener */ + btnMappingNew.addActionListener(new MappingNewListener()); + menuMappingNew.addActionListener(new MappingNewListener()); + + /* add load action listener */ + btnMappingLoad.addActionListener(new MappingLoadListener()); + menuMappingLoad.addActionListener(new MappingLoadListener()); + + /* add save as action listen*/ + btnMappingSaveAs.addActionListener(new MappingSaveAsListener()); + menuMappingSaveAs.addActionListener(new MappingSaveAsListener()); + + + /* add save action listener */ + btnMappingSave.addActionListener(new MappingSaveListener()); + menuMappingSave.addActionListener(new MappingSaveListener()); + + /* add load ontology action listener*/ + btnOntologyLoad.addActionListener(new OntologyLoadListener()); + menuOntologyLoad.addActionListener(new OntologyLoadListener()); + + } // createLinearDefBtnListeners() + + /** + * Performs an action over the Linear Definition. + * e.g. edit,insert,remove Linear Node. + * @param action the action to be performed + * @param index index of the place where this action took place(e.g. where to insert) + * @param node the Linear Node to be used in the action + */ + private void performLinearAction(int action, int index, LinearNode node ) { + switch (action) { + case LDA_EDIT : { + LinearNode bkp = linear.get(index); + linear.remove(index); + int size = linear.size(); + linear.add(index,node); + if (size == linear.size()) { + JOptionPane.showMessageDialog( + this, + "The Linear Node can not be added to the Linear Definition \n" + +"because a node with such a list already exists,\n"+ + "cannot be opened, or cannot be created if non-existant.\n" + +"node : "+node, + "Edit Linear Node Failure", + JOptionPane.ERROR_MESSAGE); + //rollback + linear.add(index,bkp); + }// if + + break; + } + case LDA_INSERT : { + int size = linear.size(); + if (index < 0 ) index = 0; + linear.add(index,node); + if (size == linear.size()) { + JOptionPane.showMessageDialog( + this, + "The Linear Node can not be added to the Linear Definition \n" + +"because a node with such a list already exists,\n"+ + "cannot be opened, or cannot be created if non-existant.\n" + +"node : "+node, + "Insert Linear Node Failure", + JOptionPane.ERROR_MESSAGE); + }// if + break; + } + case LDA_REMOVE : { + linear.remove(index); + break; + } + } // switch action + linearList.setListData(linear.toArray()); + } // performLinearAction(int,LinearNode) + + /** Reinitializes the edited gazetteer */ + private void reinitializeGazetteer() { + try { + target.setListsURL(linear.getURL()); + if (isOntoGaz) { + ((OntoGazetteer)target).setMappingURL(mapping.getURL()); + gate.Factory.deleteResource(((OntoGazetteer)target).getGazetteer()); + } // if onto gaz + target = (Gazetteer)target.init(); + JOptionPane.showMessageDialog(this, + "Gazetteer Reinitialized.", + "Reinitialize Gazetteer", + JOptionPane.INFORMATION_MESSAGE); + } catch(ResourceInstantiationException x) { + JOptionPane.showMessageDialog(this, + "Gazetteer can not be reinitialized.\n"+ + "due to:"+x.getClass()+" "+x.getMessage(), + "Gazsetteer Reinitialize Failure.",JOptionPane.ERROR_MESSAGE); + } + } // reinitializeGazetteer() + + /** Init of the gui components */ + private void jbInit() throws Exception { + fileMenu.setToolTipText(""); + fileMenu.setText("File"); + viewMenu.setText("View"); + this.setPreferredSize(new Dimension(600, 300)); + this.setLayout(thisLayout); + baseSplit.setPreferredSize(new Dimension(700, 450)); + mappingSplit.setOrientation(JSplitPane.VERTICAL_SPLIT); + mappingSplit.setToolTipText(""); + linearSplit.setContinuousLayout(true); + linearLabel.setAlignmentY((float) 0.0); + linearLabel.setToolTipText(""); + linearLabel.setHorizontalAlignment(SwingConstants.CENTER); + linearLabel.setText("Linear Definition"); + linearPanel.setLayout(gridBagLayout1); + linearScroll.setPreferredSize(new Dimension(100, 50)); + btnLinearLoad.setBorder(BorderFactory.createEtchedBorder()); + btnLinearLoad.setToolTipText("Load a linear definition"); + btnLinearLoad.setFocusPainted(false); + btnLinearLoad.setMargin(new Insets(2, 2, 2, 2)); + btnLinearLoad.setText("Load"); + btnLinearSave.setBorder(BorderFactory.createEtchedBorder()); + btnLinearSave.setToolTipText("Save the linear definition"); + btnLinearSave.setFocusPainted(false); + btnLinearSave.setMargin(new Insets(2, 2, 2, 2)); + btnLinearSave.setText("Save"); + btnLinearSaveAs.setBorder(BorderFactory.createEtchedBorder()); + btnLinearSaveAs.setToolTipText("Save the linear definition changing the location"); + btnLinearSaveAs.setFocusPainted(false); + btnLinearSaveAs.setMargin(new Insets(2, 0, 2, 0)); + btnLinearSaveAs.setText("Save as..."); + listLabel.setAlignmentY((float) 0.0); + listLabel.setHorizontalAlignment(SwingConstants.CENTER); + listLabel.setText("Gazetteer List"); + listPanel.setLayout(gridBagLayout2); + btnListLoad.setBorder(BorderFactory.createEtchedBorder()); + btnListLoad.setToolTipText("Load a gazetteer list"); + btnListLoad.setFocusPainted(false); + btnListLoad.setMargin(new Insets(2, 0, 2, 0)); + btnListLoad.setText("Load"); + listScroll.setAlignmentX((float) 0.0); + listScroll.setAlignmentY((float) 0.0); + btnListSave.setBorder(BorderFactory.createEtchedBorder()); + btnListSave.setToolTipText("Save the gazetteer list"); + btnListSave.setFocusPainted(false); + btnListSave.setMargin(new Insets(2, 0, 2, 0)); + btnListSave.setText("Save"); + btnListSaveAs.setBorder(BorderFactory.createEtchedBorder()); + btnListSaveAs.setToolTipText("Save the gazetteer list to different location"); + btnListSaveAs.setFocusPainted(false); + btnListSaveAs.setMargin(new Insets(2, 0, 2, 0)); + btnListSaveAs.setText("Save as..."); + listBar.setFloatable(false); + mappingPanel.setLayout(gridBagLayout3); + mappingLabel.setHorizontalAlignment(SwingConstants.CENTER); + mappingLabel.setText("Mapping Definition"); + btnMappingLoad.setBorder(BorderFactory.createEtchedBorder()); + btnMappingLoad.setToolTipText("Load a mapping definition"); + btnMappingLoad.setFocusPainted(false); + btnMappingLoad.setMargin(new Insets(2, 0, 2, 0)); + btnMappingLoad.setText("Load"); + btnMappingSave.setBorder(BorderFactory.createEtchedBorder()); + btnMappingSave.setToolTipText("Save mapping definition"); + btnMappingSave.setFocusPainted(false); + btnMappingSave.setMargin(new Insets(2, 0, 2, 0)); + btnMappingSave.setText("Save"); + btnMappingSaveAs.setBorder(BorderFactory.createEtchedBorder()); + btnMappingSaveAs.setToolTipText("Save mapping definition to another location"); + btnMappingSaveAs.setFocusPainted(false); + btnMappingSaveAs.setMargin(new Insets(2, 0, 2, 0)); + btnMappingSaveAs.setText("Save As..."); + ontologyLabel.setHorizontalAlignment(SwingConstants.CENTER); + ontologyLabel.setText("Ontology"); + btnOntologyLoad.setBorder(BorderFactory.createEtchedBorder()); + btnOntologyLoad.setToolTipText("Load an ontology"); + btnOntologyLoad.setFocusPainted(false); + btnOntologyLoad.setMargin(new Insets(2, 2, 2, 2)); + btnOntologyLoad.setText("Load"); + ontologyPanel.setLayout(gridBagLayout4); + mappingBar.setFloatable(false); + ontologyBar.setFloatable(false); + linearBar.setFloatable(false); + menuHelp.setText("Help"); + menuAbout.setText("About"); + menuLinear.setText("Linear Definition"); + menuLinearLoad.setText("Load"); + menuLinearSave.setText("Save"); + menuLinearSaveAs.setText("Save as"); + menuList.setText("Gazetteer List"); + menuListLoad.setText("Load"); + menuListSave.setText("Save"); + menuListSaveAs.setText("Save as"); + menuMapping.setText("Mapping Definition"); + menuMappingLoad.setText("Load"); + menuMappingSave.setText("Save"); + menuMappingSaveAs.setText("Save as"); + menuOntology.setText("Ontology"); + menuOntologyLoad.setText("Load"); + menuRefresh.setText("Refresh"); + mainMenu.setBorder(BorderFactory.createEtchedBorder()); + oTree.setToolTipText(""); + btnMappingNew.setText("New"); + btnMappingNew.setMargin(new Insets(2, 0, 2, 0)); + btnMappingNew.setFocusPainted(false); + btnMappingNew.setToolTipText("Create a New Mapping Definition"); + btnMappingNew.setBorder(BorderFactory.createEtchedBorder()); + btnLinearNew.setText("New"); + btnLinearNew.setMargin(new Insets(2, 2, 2, 2)); + btnLinearNew.setFocusPainted(false); + btnLinearNew.setToolTipText("Create a New Linear Definition"); + btnLinearNew.setBorder(BorderFactory.createEtchedBorder()); + btnListNew.setText("New"); + btnListNew.setMargin(new Insets(2, 0, 2, 0)); + btnListNew.setFocusPainted(false); + btnListNew.setToolTipText("Create a New Gazetteer List"); + btnListNew.setBorder(BorderFactory.createEtchedBorder()); + menuLinearNew.setText("New"); + menuListNew.setText("New"); + menuMappingNew.setText("New"); + btnListSaveAll.setText("Save All"); + btnListSaveAll.setMargin(new Insets(2, 0, 2, 0)); + btnListSaveAll.setFocusPainted(false); + btnListSaveAll.setToolTipText("Save all modified gazetteer lists "); + btnListSaveAll.setBorder(BorderFactory.createEtchedBorder()); + menuListSaveAll.setToolTipText("Save All Modified Gazetteer Lists"); + menuListSaveAll.setText("Save All"); + listBar.add(btnListNew, null); + linearBar.add(btnLinearNew, null); + mainMenu.add(fileMenu); + mainMenu.add(viewMenu); + mainMenu.add(menuHelp); + this.add(baseSplit, new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0 + ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 48, 64)); + baseSplit.add(mappingSplit, JSplitPane.LEFT); + baseSplit.add(linearSplit, JSplitPane.RIGHT); + linearSplit.add(linearPanel, JSplitPane.TOP); + linearSplit.add(listPanel, JSplitPane.BOTTOM); + listPanel.add(listLabel, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0 + ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); + mappingSplit.add(mappingPanel, JSplitPane.BOTTOM); + mappingSplit.add(ontologyPanel, JSplitPane.TOP); + ontologyPanel.add(ontologyLabel, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0 + ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); + ontologyPanel.add(ontologyBar, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0 + ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); + ontologyPanel.add(ontologyScroll, new GridBagConstraints(0, 2, 1, 1, 1.0, 1.0 + ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); + ontologyScroll.getViewport().add(oTree, null); + ontologyBar.add(btnOntologyLoad, null); + linearPanel.add(linearBar, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0 + ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); + linearBar.add(btnLinearLoad, null); + linearBar.add(btnLinearSave, null); + linearBar.add(btnLinearSaveAs, null); + linearPanel.add(linearScroll, new GridBagConstraints(0, 2, GridBagConstraints.REMAINDER, GridBagConstraints.REMAINDER, 1.0, 1.0 + ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); + linearScroll.getViewport().add(linearList, null); + linearPanel.add(linearLabel, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0 + ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); + listPanel.add(listBar, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0 + ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); + listPanel.add(listScroll, new GridBagConstraints(0, 2, GridBagConstraints.REMAINDER, GridBagConstraints.REMAINDER, 1.0, 1.0 + ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); + listScroll.getViewport().add(listArea, null); + listBar.add(btnListLoad, null); + listBar.add(btnListSave, null); + listBar.add(btnListSaveAs, null); + listBar.add(btnListSaveAll, null); + mappingPanel.add(mappingLabel, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0 + ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); + mappingPanel.add(mappingBar, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0 + ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); + mappingPanel.add(mappingScroll, new GridBagConstraints(0, 2, 1, 1, 1.0, 1.0 + ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0)); + mappingScroll.getViewport().add(mappingList, null); + mappingBar.add(btnMappingNew, null); + mappingBar.add(btnMappingLoad, null); + mappingBar.add(btnMappingSave, null); + mappingBar.add(btnMappingSaveAs, null); + menuHelp.add(menuAbout); + fileMenu.add(menuLinear); + fileMenu.add(menuList); + fileMenu.addSeparator(); + fileMenu.add(menuMapping); + fileMenu.add(menuOntology); + menuLinear.add(menuLinearNew); + menuLinear.add(menuLinearLoad); + menuLinear.add(menuLinearSave); + menuLinear.add(menuLinearSaveAs); + menuList.add(menuListNew); + menuList.add(menuListLoad); + menuList.add(menuListSave); + menuList.add(menuListSaveAs); + menuList.add(menuListSaveAll); + menuMapping.add(menuMappingNew); + menuMapping.add(menuMappingLoad); + menuMapping.add(menuMappingSave); + menuMapping.add(menuMappingSaveAs); + menuOntology.add(menuOntologyLoad); + viewMenu.add(menuRefresh); + mappingSplit.setDividerLocation(200); + linearSplit.setDividerLocation(230); + baseSplit.setDividerLocation(300); + } // jbInit() + +/*---------im... [truncated message content] |
From: <mar...@us...> - 2017-07-10 14:43:47
|
Revision: 20250 http://sourceforge.net/p/gate/code/20250 Author: markagreenwood Date: 2017-07-10 14:43:43 +0000 (Mon, 10 Jul 2017) Log Message: ----------- moved the ontology editor into the plugin.... I think Added Paths: ----------- gate/branches/sawdust2/plugins/Ontology_Tools/src/gate/gui/docview/ gate/branches/sawdust2/plugins/Ontology_Tools/src/gate/gui/docview/OntologyClassView.java gate/branches/sawdust2/plugins/Ontology_Tools/src/gate/gui/docview/OntologyInstanceView.java Removed Paths: ------------- gate/branches/sawdust2/gate-core/src/main/java/gate/gui/docview/OntologyClassView.java gate/branches/sawdust2/gate-core/src/main/java/gate/gui/docview/OntologyInstanceView.java Deleted: gate/branches/sawdust2/gate-core/src/main/java/gate/gui/docview/OntologyClassView.java =================================================================== --- gate/branches/sawdust2/gate-core/src/main/java/gate/gui/docview/OntologyClassView.java 2017-07-10 14:40:48 UTC (rev 20249) +++ gate/branches/sawdust2/gate-core/src/main/java/gate/gui/docview/OntologyClassView.java 2017-07-10 14:43:43 UTC (rev 20250) @@ -1,1117 +0,0 @@ -/** - * Copyright (c) 1995-2012, The University of Sheffield. See the file - * COPYRIGHT.txt in the software or at http://gate.ac.uk/gate/COPYRIGHT.txt - * - * This file is part of GATE (see http://gate.ac.uk/), and is free - * software, licenced under the GNU Library General Public License, - * Version 2, June 1991 (in the distribution as file licence.html, - * and also available at http://gate.ac.uk/gate/licence.html). - * - * Thomas Heitz - 14/12/2009 - * - * $Id$ - */ - -package gate.gui.docview; - -import gate.Annotation; -import gate.AnnotationSet; -import gate.FeatureMap; -import gate.Gate; -import gate.LanguageResource; -import gate.Resource; -import gate.creole.ontology.OClass; -import gate.creole.ontology.OConstants; -import gate.creole.ontology.OResource; -import gate.creole.ontology.Ontology; -import gate.creole.ontology.OntologyModificationListener; -import gate.creole.ontology.RDFProperty; -import gate.event.CreoleEvent; -import gate.event.CreoleListener; -import gate.gui.MainFrame; -import gate.gui.annedit.AnnotationData; -import gate.gui.annedit.AnnotationDataImpl; -import gate.gui.ontology.OntologyItemComparator; -import gate.util.GateRuntimeException; -import gate.util.OptionsMap; - -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Component; -import java.awt.FlowLayout; -import java.awt.GridBagConstraints; -import java.awt.GridBagLayout; -import java.awt.Insets; -import java.awt.Rectangle; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Enumeration; -import java.util.EventObject; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.Vector; - -import javax.swing.AbstractAction; -import javax.swing.AbstractCellEditor; -import javax.swing.BorderFactory; -import javax.swing.DefaultComboBoxModel; -import javax.swing.JCheckBox; -import javax.swing.JComboBox; -import javax.swing.JLabel; -import javax.swing.JMenuItem; -import javax.swing.JPanel; -import javax.swing.JPopupMenu; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; -import javax.swing.JTree; -import javax.swing.SwingConstants; -import javax.swing.SwingUtilities; -import javax.swing.Timer; -import javax.swing.UIManager; -import javax.swing.border.Border; -import javax.swing.event.MouseInputAdapter; -import javax.swing.event.TreeExpansionEvent; -import javax.swing.event.TreeSelectionEvent; -import javax.swing.event.TreeSelectionListener; -import javax.swing.event.TreeWillExpandListener; -import javax.swing.text.BadLocationException; -import javax.swing.tree.DefaultMutableTreeNode; -import javax.swing.tree.DefaultTreeModel; -import javax.swing.tree.ExpandVetoException; -import javax.swing.tree.TreeCellEditor; -import javax.swing.tree.TreeCellRenderer; -import javax.swing.tree.TreePath; -import javax.swing.tree.TreeSelectionModel; - -/** - * Document view that displays an ontology class tree to annotate a document. - * - * tick the checkbox of a class to show the instances highlighted in the text - * selected class will be used when creating a new annotation from a text - * selection in the document - * take only the first 20 characters of the selection for the instance name - * and add a number if already existing - * allow multiple ontologies to be used at the same time - * put each ontology in a JPanel with triangle icons to hide/show the panel, - * hidden by default - * open only first level of classes when opening an ontology - * load lazily the ontology trees - * context menu for classes to hide/show them, saved in user configuration - */ -@SuppressWarnings("serial") -public class OntologyClassView extends AbstractDocumentView - implements CreoleListener, OntologyModificationListener { - - public OntologyClassView() { - - colorByClassMap = new HashMap<OClass, Color>(); - highlightedClasses = new HashSet<OClass>(); - highlightsDataByClassMap = new HashMap<OClass, List<TextualDocumentView.HighlightData>>(); - treeByOntologyMap = new HashMap<Ontology, JTree>(); - String prefix = getClass().getName() + '.'; - hiddenClassesSet = userConfig.getSet(prefix + "hiddenclasses"); - itemComparator = new OntologyItemComparator(); - } - - @Override - protected void initGUI() { - - // get a pointer to the text view used to display - // the selected annotations - Iterator<DocumentView> centralViewsIter = owner.getCentralViews().iterator(); - while(textView == null && centralViewsIter.hasNext()){ - DocumentView aView = centralViewsIter.next(); - if(aView instanceof TextualDocumentView) - textView = (TextualDocumentView) aView; - } - textArea = textView.getTextView(); - // get a pointer to the instance view - Iterator<DocumentView> horizontalViewsIter = owner.getHorizontalViews().iterator(); - while(instanceView == null && horizontalViewsIter.hasNext()){ - DocumentView aView = horizontalViewsIter.next(); - if (aView instanceof OntologyInstanceView) { - instanceView = (OntologyInstanceView) aView; - } - } - instanceView.setOwner(owner); - - mainPanel = new JPanel(new GridBagLayout()); - GridBagConstraints gbc = new GridBagConstraints(); - gbc.gridx = 0; - treesPanel = new JPanel(); - treesPanel.setLayout(new GridBagLayout()); - // add a disclosure panel for each loaded ontology in the system - boolean isOntologyLoaded = false; - List<LanguageResource> resources = - gate.Gate.getCreoleRegister().getPublicLrInstances(); - for (LanguageResource resource : resources) { - if (resource instanceof Ontology) { - loadOntology((Ontology) resource); - isOntologyLoaded = true; - } - } - gbc.weightx = 1; - gbc.weighty = 1; - gbc.fill = GridBagConstraints.BOTH; - gbc.anchor = GridBagConstraints.NORTHWEST; - mainPanel.add(new JScrollPane(treesPanel), gbc); - setComboBox = new JComboBox<String>(); - setComboBox.setEditable(true); - setComboBox.setToolTipText( - "Annotation set where to load/save the annotations"); - gbc.weighty = 0; - gbc.fill = GridBagConstraints.HORIZONTAL; - gbc.anchor = GridBagConstraints.SOUTH; - mainPanel.add(setComboBox, gbc); - - initListeners(); - - // fill the annotation sets list - List<String> annotationSets = new ArrayList<String>(); - annotationSets.add(""); - annotationSets.addAll(document.getAnnotationSetNames()); - Collections.sort(annotationSets); - setComboBox.setModel(new DefaultComboBoxModel<String>( - new Vector<String>(annotationSets))); - - if (isOntologyLoaded) { - // find the first set that contains annotations used before by this view - selectedSet = ""; - for (int i = 0; i < setComboBox.getItemCount(); i++) { - String setName = setComboBox.getItemAt(i); - if (setColorTreeNodesWhenInstancesFound(setName)) { - selectedSet = setName; - break; - } - } - setComboBox.setSelectedItem(selectedSet); - } else { - messageLabel = new JLabel( - "<html><p><font color=red>Load at least one ontology."); - messageLabel.setHorizontalAlignment(SwingConstants.CENTER); - messageLabel.setBorder(BorderFactory.createEmptyBorder(5, 2, 5, 2)); - messageLabel.setBackground( - UIManager.getColor("Tree.selectionBackground")); - gbc = new GridBagConstraints(); - treesPanel.add(messageLabel, gbc); - } - } - - protected void initListeners() { - - Gate.getCreoleRegister().addCreoleListener(this); - - setComboBox.addItemListener(new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - selectedSet = (String) setComboBox.getSelectedItem(); - setColorTreeNodesWhenInstancesFound(selectedSet); - // unselect annotations - SwingUtilities.invokeLater(new Runnable() { @Override - public void run() { - for (OClass oClass : highlightedClasses) { - if (highlightsDataByClassMap.containsKey(oClass)) { - textView.removeHighlights(highlightsDataByClassMap.get(oClass)); - } - } - highlightsDataByClassMap.clear(); - highlightedClasses.clear(); - // update showing trees - for (JTree tree : treeByOntologyMap.values()) { - if (tree.isShowing()) { - tree.revalidate(); - } - } - }}); - } - }); - - // a listener that stops or restarts a timer which calls an action - mouseStoppedMovingAction = new MouseStoppedMovingAction(); - mouseMovementTimer = new javax.swing.Timer( - MOUSE_MOVEMENT_TIMER_DELAY, mouseStoppedMovingAction); - mouseMovementTimer.setRepeats(false); - textMouseListener = new TextMouseListener(); - } - - @Override - protected void registerHooks() { - textArea.addMouseListener(textMouseListener); - textArea.addMouseMotionListener(textMouseListener); - // reselect annotations - SwingUtilities.invokeLater(new Runnable() { @Override - public void run() { - for (OClass oClass : new HashSet<OClass>(highlightedClasses)) { - if (highlightsDataByClassMap.containsKey(oClass)) { - textView.addHighlights(highlightsDataByClassMap.get(oClass)); - } - } - }}); - // show the instance view at the bottom - if (!instanceView.isActive()) { - owner.setBottomView(owner.horizontalViews.indexOf(instanceView)); - } - } - - @Override - protected void unregisterHooks() { - textArea.removeMouseListener(textMouseListener); - textArea.removeMouseMotionListener(textMouseListener); - // unselect annotations - SwingUtilities.invokeLater(new Runnable() { @Override - public void run() { - for (OClass oClass : highlightedClasses) { - if (highlightsDataByClassMap.containsKey(oClass)) { - textView.removeHighlights(highlightsDataByClassMap.get(oClass)); - } - } - }}); - // hide the instance view at the bottom - if (instanceView.isActive()) { - owner.setBottomView(-1); - } - } - - @Override - public void cleanup() { - super.cleanup(); - Gate.getCreoleRegister().removeCreoleListener(this); - document = null; - // save hidden classes to be reused next time - String prefix = getClass().getName() + '.'; - userConfig.put(prefix + "hiddenclasses", hiddenClassesSet); - } - - @Override - public Component getGUI() { - return mainPanel; - } - - @Override - public int getType() { - return VERTICAL; - } - - @Override - public void resourceLoaded(CreoleEvent e) { - if (e.getResource() instanceof Ontology) { - if (messageLabel != null - && treesPanel.isAncestorOf(messageLabel)) { - treesPanel.remove(messageLabel); - // find the first set that contains annotations used before by this view - selectedSet = ""; - for (int i = 0; i < setComboBox.getItemCount(); i++) { - String setName = setComboBox.getItemAt(i); - if (setColorTreeNodesWhenInstancesFound(setName)) { - selectedSet = setName; - break; - } - } - setComboBox.setSelectedItem(selectedSet); - } - Ontology ontology = (Ontology) e.getResource(); - loadOntology(ontology); - // listen to modification of classes in the ontology to rebuild the tree - ontology.addOntologyModificationListener(this); - } - } - - @Override - public void resourceUnloaded(CreoleEvent e) { - if (e.getResource() instanceof Ontology) { - Ontology ontology = (Ontology) e.getResource(); - JTree tree = treeByOntologyMap.remove(ontology); - for (Component component : treesPanel.getComponents()) { - if (component instanceof JPanel - && ((JPanel) component).isAncestorOf(tree)) { - treesPanel.remove(component); - } - } - treesPanel.revalidate(); - } - } - - @Override - public void datastoreOpened(CreoleEvent e) { /* do nothing */ } - - @Override - public void datastoreCreated(CreoleEvent e) { /* do nothing */ } - - @Override - public void datastoreClosed(CreoleEvent e) { /* do nothing */ } - - @Override - public void resourceRenamed(Resource resource, String oldName, - String newName) { /* do nothing */ } - @Override - public void resourceRelationChanged(Ontology ontology, OResource - resource1, OResource resource2, int eventType) { /* do nothing */ } - - @Override - public void resourcePropertyValueChanged(Ontology ontology, OResource - resource, RDFProperty property, Object value, int eventType) { - /* do nothing */ } - - @Override - public void resourcesRemoved(Ontology ontology, String[] resources) { } - - @Override - public void resourceAdded(Ontology ontology, OResource resource) { - if (resource instanceof OClass) { - final JTree tree = treeByOntologyMap.get(ontology); - DefaultMutableTreeNode node = - (DefaultMutableTreeNode) tree.getModel().getRoot(); - final Enumeration<?> enumeration = node.preorderEnumeration(); - SwingUtilities.invokeLater(new Runnable() { @Override - public void run() { - // traverse the expanded class tree and update all the nodes - while (enumeration.hasMoreElements()) { - DefaultMutableTreeNode node = - (DefaultMutableTreeNode) enumeration.nextElement(); - Object userObject = node.getUserObject(); - if (userObject != null - && !userObject.equals("Loading...")) { - // node already expanded - OClass oClass = (OClass) userObject; - Set<OClass> classes = oClass.getSubClasses( - OConstants.Closure.DIRECT_CLOSURE); - // readd all the children node - addNodes(tree, node, classes, false); - } - } - }}); - } - } - - @Override - public void ontologyReset(Ontology ontology) { /* do nothing */ } - - /** - * Extract annotations that have been created by this view and - * colored the corresponding tree class node if found. - * @param setName the annotation set name to search - * @return true if and only if at least one annotation has been found - */ - protected boolean setColorTreeNodesWhenInstancesFound(String setName) { - boolean returnValue = false; - List<LanguageResource> resources = - gate.Gate.getCreoleRegister().getPublicLrInstances(); - Map<String, Ontology> ontologyMap = new HashMap<String, Ontology>(); - for (LanguageResource resource : resources) { - if (resource instanceof Ontology) { - Ontology ontology = (Ontology) resource; - String ontologyName = ontology.getDefaultNameSpace(); - ontologyName = ontologyName.substring(0, ontologyName.length()-1); - ontologyMap.put(ontologyName, ontology); - } - } - for (Annotation annotation : - document.getAnnotations(setName).get(ANNOTATION_TYPE)) { - FeatureMap features = annotation.getFeatures(); - if (features.get(ONTOLOGY) != null - && features.get(CLASS) != null - && features.get(INSTANCE) != null) { - // find the corresponding ontology - Ontology ontology = ontologyMap.get(features.get(ONTOLOGY)); - if (ontology != null) { - // choose a background color for the annotation type tree node - OClass oClass = ontology.getOClass(ontology - .createOURI((String) features.get(CLASS))); - if (oClass != null) { - colorByClassMap.put(oClass, - AnnotationSetsView.getColor(setName, oClass.getName())); - returnValue = true; - } - } - } - } - return returnValue; - } - - /** - * Add the ontology in a disclosure panel, closed at start. - * @param ontology ontology to display - */ - protected void loadOntology(final Ontology ontology) { - - // create the class tree - final JTree tree = new JTree(new Object[]{"Loading..."}); - treeByOntologyMap.put(ontology, tree); - tree.setRootVisible(false); - tree.setShowsRootHandles(true); - tree.setEditable(true); - tree.getSelectionModel().setSelectionMode( - TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION); - - final JPanel treePanel = new JPanel(new BorderLayout()); - final JCheckBox disclosureCheckBox = new JCheckBox( - ontology.getName(), MainFrame.getIcon("closed"), false); - disclosureCheckBox.setSelectedIcon(MainFrame.getIcon("expanded")); - treePanel.add(disclosureCheckBox, BorderLayout.NORTH); - - // show/hide the tree when clicking the disclosure checkbox - disclosureCheckBox.addActionListener(new ActionListener() { - boolean isTreeBuilt = false; - @Override - public void actionPerformed(ActionEvent e) { - if (disclosureCheckBox.isSelected()) { - if (!isTreeBuilt) { - tree.expandRow(0); // expands "Loading..." node - buildClassTree(tree, ontology); - isTreeBuilt = true; - } - treePanel.add(tree, BorderLayout.CENTER); - } else { - treePanel.remove(tree); - } - treesPanel.repaint(); - } - }); - - // context menu to show root classes - disclosureCheckBox.addMouseListener(new MouseAdapter() { - @Override - public void mousePressed(MouseEvent e) { processMouseEvent(e); } - @Override - public void mouseReleased(MouseEvent e) { processMouseEvent(e); } - @Override - public void mouseClicked(MouseEvent e) { processMouseEvent(e); } - protected void processMouseEvent(MouseEvent e) { - JPopupMenu popup = new JPopupMenu(); - if (e.isPopupTrigger()) { - popup.add(new JMenuItem( - new AbstractAction("Show all root classes") { - @Override - public void actionPerformed(ActionEvent e) { - if (!disclosureCheckBox.isSelected()) { - disclosureCheckBox.doClick(); - } - hiddenClassesSet.clear(); - DefaultMutableTreeNode node = (DefaultMutableTreeNode) - tree.getModel().getRoot(); - final Set<OClass> classes = ontology.getOClasses(true); - // add first level nodes to the tree - addNodes(tree, node, classes, false); - } - })); - popup.show(e.getComponent(), e.getX(), e.getY()); - } - } - }); - - // when a class is selected in the tree update the instance table - tree.getSelectionModel().addTreeSelectionListener( - new TreeSelectionListener() { - @Override - public void valueChanged(TreeSelectionEvent e) { - if (e.getNewLeadSelectionPath() == null) { - if (treeByOntologyMap.get(selectedClass.getOntology()).equals(tree)){ - // only nullify selectedClass if unselect from the same tree - selectedClass = null; - } - } else { - if (tree.getSelectionCount() == 1) { // a class is selected - DefaultMutableTreeNode node = (DefaultMutableTreeNode) - e.getNewLeadSelectionPath().getLastPathComponent(); - selectedClass = (OClass) node.getUserObject(); - } else { // several classes are selected - selectedClass = null; - } - // clear selection in other trees - for (JTree aTree : treeByOntologyMap.values()) { - if (!aTree.equals(tree)) { - aTree.clearSelection(); - } - } - } - instanceView.updateInstanceTable(selectedClass); - } - } - ); - - // context menu to hide/show classes - tree.addMouseListener(new MouseAdapter() { - @Override - public void mousePressed(MouseEvent e) { - TreePath path = tree.getClosestPathForLocation(e.getX(), e.getY()); - if (e.isPopupTrigger() - && !tree.isPathSelected(path)) { - // if right click outside the selection then reset selection - tree.getSelectionModel().setSelectionPath(path); - } - processMouseEvent(e); - } - @Override - public void mouseReleased(MouseEvent e) { - processMouseEvent(e); - } - @Override - public void mouseClicked(MouseEvent e) { - processMouseEvent(e); - } - protected void processMouseEvent(MouseEvent e) { - JPopupMenu popup = new JPopupMenu(); - if (!e.isPopupTrigger()) { return; } - popup.add(new JMenuItem( - new AbstractAction("Hide selected classes") { - @Override - public void actionPerformed(ActionEvent e) { - DefaultTreeModel treeModel = (DefaultTreeModel) tree.getModel(); - TreePath[] selectedPaths = tree.getSelectionPaths(); - for (TreePath selectedPath : selectedPaths) { - DefaultMutableTreeNode node = (DefaultMutableTreeNode) - selectedPath.getLastPathComponent(); - if (node.getParent() != null) { - treeModel.removeNodeFromParent(node); - Object userObject = node.getUserObject(); - OClass oClass = (OClass) userObject; - hiddenClassesSet.add(oClass.getONodeID().toString()); - } - } - } - })); - - if (tree.getSelectionCount() == 1) { - popup.add(new JMenuItem(new AbstractAction("Show all sub classes") { - @Override - public void actionPerformed(ActionEvent e) { - DefaultMutableTreeNode node = (DefaultMutableTreeNode) - tree.getSelectionPath().getLastPathComponent(); - Object userObject = node.getUserObject(); - OClass oClass = (OClass) userObject; - Set<OClass> classes = oClass.getSubClasses( - OClass.Closure.DIRECT_CLOSURE); - addNodes(tree, node, classes, false); - } - })); - } - popup.show(e.getComponent(), e.getX(), e.getY()); - } - }); - - GridBagConstraints gbc = new GridBagConstraints(); - gbc.fill = GridBagConstraints.BOTH; - gbc.anchor = GridBagConstraints.NORTHWEST; - gbc.gridx = 0; - gbc.weightx = 1; - gbc.weighty = 1; - treesPanel.add(treePanel, gbc); - } - - /** - * Build the class tree from the ontology. - * Based on {@link gate.gui.ontology.OntologyEditor#rebuildModel()}. - * @param tree tree to build - * @param ontology ontology to use - */ - protected void buildClassTree(final JTree tree, Ontology ontology) { - if (ontology == null) { return; } - - // listener to lazily create children nodes - tree.addTreeWillExpandListener(new TreeWillExpandListener() { - @Override - public void treeWillExpand(TreeExpansionEvent event) - throws ExpandVetoException { - DefaultMutableTreeNode node = (DefaultMutableTreeNode) - event.getPath().getLastPathComponent(); - DefaultMutableTreeNode nodeFirstChild = - (DefaultMutableTreeNode) node.getChildAt(0); - if (nodeFirstChild.getUserObject().equals("Loading...")) { - // if this node has not already been expanded - node.removeAllChildren(); - Object userObject = node.getUserObject(); - OClass oClass = (OClass) userObject; - Set<OClass> classes = - oClass.getSubClasses(OClass.Closure.DIRECT_CLOSURE); - // add children nodes to the current tree node - addNodes(tree, node, classes, true); - } - } - @Override - public void treeWillCollapse(TreeExpansionEvent event) - throws ExpandVetoException { /* do nothing */ } - }); - - final DefaultMutableTreeNode node = new DefaultMutableTreeNode(null, true); - final Set<OClass> classes = ontology.getOClasses(true); - // add first level nodes to the tree - addNodes(tree, node, classes, true); - SwingUtilities.invokeLater(new Runnable() { @Override - public void run() { - tree.setModel(new DefaultTreeModel(node)); - tree.setCellRenderer(new ClassTreeCellRenderer()); - tree.setCellEditor(new ClassTreeCellEditor(tree)); - DefaultMutableTreeNode node = (DefaultMutableTreeNode) - tree.getModel().getRoot(); - Enumeration<?> enumeration = node.children(); - // expand tree until second level - while (enumeration.hasMoreElements()) { - node = (DefaultMutableTreeNode) enumeration.nextElement(); - tree.expandPath(new TreePath(node.getPath())); - } - }}); - } - - /** - * Add children nodes to the parent node in the tree. - * @param tree tree to update - * @param parent parent node - * @param newChildren children classes to add - * @param filterClasses if children nodes contain hidden classes - * then don't add them. - */ - protected void addNodes(JTree tree, DefaultMutableTreeNode parent, - Set<OClass> newChildren, - boolean filterClasses) { - // list the existing children classes of the parent node - List<OClass> children = new ArrayList<OClass>(); - for (int i = 0; i < parent.getChildCount(); i++) { - DefaultMutableTreeNode node = - (DefaultMutableTreeNode) parent.getChildAt(i); - Object userObject = node.getUserObject(); - if (userObject instanceof OClass) { - OClass oClass = (OClass) userObject; - children.add(oClass); - } else if (userObject.equals("Loading...")) { - parent.removeAllChildren(); - children.clear(); - break; - } - } - int index = -1; - DefaultTreeModel treeModel = (DefaultTreeModel) tree.getModel(); - List<OClass> subClasses = new ArrayList<OClass>(newChildren); - Collections.sort(subClasses, itemComparator); - // for each children classes to add to the parent node - for (OClass subClass : subClasses) { - index++; - if (index > parent.getChildCount()) { index = parent.getChildCount(); } - if (filterClasses) { - if (hiddenClassesSet.contains(subClass.getONodeID().toString())) { - // this class is filtered so skip it - continue; - } - } else { - hiddenClassesSet.remove(subClass.getONodeID().toString()); - } - DefaultMutableTreeNode subNode = new DefaultMutableTreeNode(subClass); - if (!filterClasses || !children.contains(subClass)) { - if (!subClass.getSubClasses(OClass.Closure.DIRECT_CLOSURE).isEmpty()) { - subNode.insert(new DefaultMutableTreeNode("Loading..."), 0); - } - } - if (!children.contains(subClass)) { - // add the children node if not already existing - treeModel.insertNodeInto(subNode, parent, index); - } - } - tree.expandPath(new TreePath(parent.getPath())); - } - - /** - * A mouse listener used for events in the text view. - * Stop or restart the timer that will call {@link MouseStoppedMovingAction}. - * Based on {@link AnnotationSetsView.TextMouseListener}. - */ - protected class TextMouseListener extends MouseInputAdapter { - @Override - public void mouseDragged(MouseEvent e){ - //do not create annotations while dragging - mouseMovementTimer.stop(); - } - @Override - public void mouseMoved(MouseEvent e){ - //this triggers select annotation leading to edit annotation or new - //annotation actions - //ignore movement if CTRL pressed or dragging - int modEx = e.getModifiersEx(); - if((modEx & MouseEvent.CTRL_DOWN_MASK) != 0){ - mouseMovementTimer.stop(); - return; - } - if((modEx & MouseEvent.BUTTON1_DOWN_MASK) != 0){ - mouseMovementTimer.stop(); - return; - } - //check the text location is real - int textLocation = textArea.viewToModel(e.getPoint()); - try { - Rectangle viewLocation = textArea.modelToView(textLocation); - //expand the rectangle a bit - int error = 10; - viewLocation = new Rectangle(viewLocation.x - error, - viewLocation.y - error, - viewLocation.width + 2*error, - viewLocation.height + 2*error); - if(viewLocation.contains(e.getPoint())){ - mouseStoppedMovingAction.setTextLocation(textLocation); - }else{ - mouseStoppedMovingAction.setTextLocation(-1); - } - } - catch(BadLocationException ble) { - throw new GateRuntimeException(ble); - }finally{ - mouseMovementTimer.restart(); - } - } - @Override - public void mouseExited(MouseEvent e){ - mouseMovementTimer.stop(); - } - } - - /** - * Add the text selection to the filter instance table to enable creating - * a new instance from the selection or adding it as a new label to an - * existing instance. - * Based on {@link AnnotationSetsView.MouseStoppedMovingAction}. - */ - protected class MouseStoppedMovingAction extends AbstractAction { - @Override - public void actionPerformed(ActionEvent evt) { - List<LanguageResource> resources = - gate.Gate.getCreoleRegister().getPublicLrInstances(); - Map<String, Ontology> ontologyMap = new HashMap<String, Ontology>(); - for (LanguageResource resource : resources) { - if (resource instanceof Ontology) { - Ontology ontology = (Ontology) resource; - String ontologyName = ontology.getDefaultNameSpace(); - ontologyName = ontologyName.substring(0, ontologyName.length()-1); - ontologyMap.put(ontologyName, ontology); - } - } - // check for annotations at mouse location - String setName = (String) setComboBox.getSelectedItem(); - for (Annotation annotation : document.getAnnotations(setName) - .get(ANNOTATION_TYPE).get(Math.max(0l, textLocation-1), - Math.min(document.getContent().size(), textLocation+1))) { - final FeatureMap features = annotation.getFeatures(); - if (features.get(ONTOLOGY) != null - && features.get(CLASS) != null - && features.get(INSTANCE) != null) { - // find the corresponding ontology - final Ontology ontology = - ontologyMap.get(features.get(ONTOLOGY)); - if (ontology != null) { - OClass oClass = ontology.getOClass(ontology - .createOURI((String) features.get(CLASS))); - // find if the annotation class is highlighted - if (oClass != null - && highlightedClasses.contains(oClass)) { - final JTree tree = treeByOntologyMap.get(ontology); - DefaultMutableTreeNode node = - (DefaultMutableTreeNode) tree.getModel().getRoot(); - Enumeration<?> nodesEnum = node.preorderEnumeration(); - boolean done = false; - // traverse the class tree - while(!done && nodesEnum.hasMoreElements()) { - node = (DefaultMutableTreeNode) nodesEnum.nextElement(); - done = node.getUserObject() instanceof OClass - && node.getUserObject().equals(oClass); - } - if (done) { - // select the class in the tree - TreePath nodePath = new TreePath(node.getPath()); - tree.setSelectionPath(nodePath); - tree.scrollPathToVisible(nodePath); - SwingUtilities.invokeLater(new Runnable() { @Override - public void run() { - // select the annotation in the instances table - instanceView.selectInstance(ontology.getOInstance( - ontology.createOURI((String) features.get(INSTANCE)))); - }}); - break; - } - } - } - } - } - - int start = textArea.getSelectionStart(); - int end = textArea.getSelectionEnd(); - String selectedText = textArea.getSelectedText(); - if (textLocation == -1 - || selectedClass == null - || selectedText == null - || start > textLocation - || end < textLocation - || start == end) { - return; - } - // remove selection - textArea.setSelectionStart(start); - textArea.setSelectionEnd(start); - instanceView.addSelectionToFilter(selectedSet, selectedText, start, end); - } - - public void setTextLocation(int textLocation){ - this.textLocation = textLocation; - } - int textLocation; - } - - public void setClassHighlighted(final OClass oClass, boolean isHighlighted) { - final JTree tree = treeByOntologyMap.get(oClass.getOntology()); - if (isHighlighted) { - // find all annotations for the class - final List<AnnotationData> annotationsData = - new ArrayList<AnnotationData>(); - AnnotationSet annotationSet = document.getAnnotations(selectedSet); - String ontologyName = oClass.getOntology().getDefaultNameSpace(); - ontologyName = ontologyName.substring(0, ontologyName.length()-1); - for (Annotation annotation : annotationSet.get(ANNOTATION_TYPE)) { - FeatureMap features = annotation.getFeatures(); - if (features.get(ONTOLOGY) != null - && features.get(ONTOLOGY).equals(ontologyName) - && features.get(CLASS) != null - && features.get(CLASS).equals(oClass.getONodeID().toString()) - && features.get(INSTANCE) != null) { - annotationsData.add(new AnnotationDataImpl(annotationSet,annotation)); - } - } - highlightedClasses.add(oClass); - if (annotationsData.isEmpty()) { - // no instance annotation for this class - colorByClassMap.remove(oClass); - SwingUtilities.invokeLater(new Runnable() { @Override - public void run() { - if (highlightsDataByClassMap.containsKey(oClass)) { - textView.removeHighlights(highlightsDataByClassMap.get(oClass)); - } - highlightsDataByClassMap.remove(oClass); - tree.repaint(); - }}); - } else { - final Color color; - if (colorByClassMap.containsKey(oClass)) { - color = colorByClassMap.get(oClass); - } else { - color = AnnotationSetsView.getColor(selectedSet,oClass.getName()); - colorByClassMap.put(oClass, color); - } - SwingUtilities.invokeLater(new Runnable() { @Override - public void run() { - highlightsDataByClassMap.put(oClass, - textView.addHighlights(annotationsData, color)); - tree.repaint(); - }}); - } - } else { // if (!isHighlighted) - highlightedClasses.remove(oClass); - SwingUtilities.invokeLater(new Runnable() { @Override - public void run() { - if (highlightsDataByClassMap.containsKey(oClass)) { - textView.removeHighlights(highlightsDataByClassMap.get(oClass)); - } - tree.repaint(); - }}); - } - } - - /** - * To see if it's worth using it to optimise highlights display. - * @param set set - * @param annotation annotation - * @param oClass class - * @param tree tree - */ - public void highlightInstance(AnnotationSet set, Annotation annotation, - final OClass oClass, final JTree tree) { - final AnnotationData annotationData = new AnnotationDataImpl(set, annotation); - final List<TextualDocumentView.HighlightData> highlightsData = highlightsDataByClassMap.containsKey(oClass) ? - highlightsDataByClassMap.get(oClass) : new ArrayList<TextualDocumentView.HighlightData>(); - highlightedClasses.add(oClass); - final Color color; - if (colorByClassMap.containsKey(oClass)) { - color = colorByClassMap.get(oClass); - } else { - color = AnnotationSetsView.getColor(set.getName(),oClass.getName()); - colorByClassMap.put(oClass, color); - } - SwingUtilities.invokeLater(new Runnable() { @Override - public void run() { - highlightsData.add(textView.addHighlight(annotationData, color)); - highlightsDataByClassMap.put(oClass, highlightsData); - tree.repaint(); - }}); - } - - protected class ClassTreeCellRenderer extends JPanel - implements TreeCellRenderer { - - protected Object userObject; - protected JCheckBox checkBox; - protected JLabel label; - private Color selectionColor = - UIManager.getColor("Tree.selectionBackground"); - private Color backgroundColor = UIManager.getColor("Tree.textBackground"); - private Border normalBorder = - BorderFactory.createLineBorder(backgroundColor, 1); - private Border selectionBorder = - BorderFactory.createLineBorder(selectionColor, 1); - - protected Object getUserObject() { - return userObject; - } - - protected JCheckBox getCheckBox() { - return checkBox; - } - - public ClassTreeCellRenderer() { - setLayout(new FlowLayout(FlowLayout.LEFT, 2, 0)); - setBorder(normalBorder); - setOpaque(true); - setBackground(backgroundColor); - checkBox = new JCheckBox(); - checkBox.setMargin(new Insets(0, 0, 0, 0)); - checkBox.setOpaque(true); - checkBox.setBackground(backgroundColor); - add(checkBox); - label = new JLabel(); - label.setOpaque(true); - label.setBackground(backgroundColor); - add(label); - } - - @Override - public Component getTreeCellRendererComponent(JTree tree, Object value, - boolean isSelected, boolean isExpanded, - boolean isLeaf, int row, boolean hasFocus) { - DefaultMutableTreeNode node = (DefaultMutableTreeNode) value; - userObject = node.getUserObject(); - if (node.getUserObject() == null) { return this; } - OClass oClass = (OClass) node.getUserObject(); - checkBox.setSelected(highlightedClasses.contains(oClass)); - checkBox.setBackground(isSelected ? selectionColor : backgroundColor); - label.setText(oClass.getName()); - label.setBackground(colorByClassMap.containsKey(oClass) ? - colorByClassMap.get(oClass) : isSelected ? - selectionColor : backgroundColor); - setBackground(isSelected ? selectionColor : backgroundColor); - setBorder(isSelected ? selectionBorder : normalBorder); - - return this; - } - } - - protected class ClassTreeCellEditor extends AbstractCellEditor - implements TreeCellEditor { - - ClassTreeCellRenderer renderer = new ClassTreeCellRenderer(); - JTree tree; - - public ClassTreeCellEditor(JTree tree) { - this.tree = tree; - } - - @Override - public Object getCellEditorValue() { - boolean isSelected = renderer.getCheckBox().isSelected(); - Object userObject = renderer.getUserObject(); - OClass oClass = (OClass) userObject; - // show/hide highlights according to the checkbox state - setClassHighlighted(oClass, isSelected); - return userObject; - } - - @Override - public boolean isCellEditable(EventObject event) { - boolean returnValue = false; - if (event instanceof MouseEvent) { - MouseEvent mouseEvent = (MouseEvent) event; - TreePath path = tree.getPathForLocation(mouseEvent.getX(), - mouseEvent.getY()); - if (path != null) { - Object node = path.getLastPathComponent(); - if ((node != null) && (node instanceof DefaultMutableTreeNode)) { - Rectangle r = tree.getPathBounds(path); - int x = mouseEvent.getX() - r.x; - JCheckBox checkbox = renderer.getCheckBox(); - // checks if the mouse click was on the checkbox not the label - returnValue = x > 0 && x < checkbox.getPreferredSize().width; - } - } - } - return returnValue; - } - - @Override - public Component getTreeCellEditorComponent(final JTree tree, Object value, - boolean selected, boolean expanded, boolean leaf, int row) { - - // reuse renderer as an editor - Component editor = renderer.getTreeCellRendererComponent(tree, value, - true, expanded, leaf, row, true); - - // stop editing when checkbox has state changed - renderer.getCheckBox().addItemListener(new ItemListener() { - @Override - public void itemStateChanged(ItemEvent itemEvent) { - stopCellEditing(); - } - }); - - return editor; - } - } - - public String getSelectedSet() { - return selectedSet; - } - - // external resources - protected TextualDocumentView textView; - protected JTextArea textArea; - protected OntologyInstanceView instanceView; - - // UI components - protected JPanel mainPanel; - protected JLabel messageLabel; - protected JPanel treesPanel; - protected JComboBox<String> setComboBox; - - // local objects - /** Class that has the lead selection in the focused ontology tree. */ - protected OClass selectedClass; - /** Classes highlighted in the document with their checkboxes ticked - * in the class tree. */ - protected Set<OClass> highlightedClasses; - /** Colors for class and their instances only if the latter exist. */ - protected Map<OClass, Color> colorByClassMap; - /** HighlightData list for each class. */ - protected Map<OClass, List<TextualDocumentView.HighlightData>> highlightsDataByClassMap; - /** Link trees with their ontologies. */ - protected Map<Ontology, JTree> treeByOntologyMap; - /** Classes to hide in the trees. */ - protected LinkedHashSet<String> hiddenClassesSet; - /** Annotation set name where to read/save the instance annotations. */ - protected String selectedSet; - protected OntologyItemComparator itemComparator; - protected MouseStoppedMovingAction mouseStoppedMovingAction; - protected TextMouseListener textMouseListener; - protected Timer mouseMovementTimer; - protected static final int MOUSE_MOVEMENT_TIMER_DELAY = 500; - protected OptionsMap userConfig = Gate.getUserConfig(); - - // constants for annotation feature, annotation type - protected static final String ONTOLOGY = - gate.creole.ANNIEConstants.LOOKUP_ONTOLOGY_FEATURE_NAME; - protected static final String CLASS = - gate.creole.ANNIEConstants.LOOKUP_CLASS_FEATURE_NAME; - protected static final String INSTANCE = - gate.creole.ANNIEConstants.LOOKUP_INSTANCE_FEATURE_NAME; - protected static final String ANNOTATION_TYPE = "Mention"; -} Deleted: gate/branches/sawdust2/gate-core/src/main/java/gate/gui/docview/OntologyInstanceView.java =================================================================== --- gate/branches/sawdust2/gate-core/src/main/java/gate/gui/docview/OntologyInstanceView.java 2017-07-10 14:40:48 UTC (rev 20249) +++ gate/branches/sawdust2/gate-core/src/main/java/gate/gui/docview/OntologyInstanceView.java 2017-07-10 14:43:43 UTC (rev 20250) @@ -1,897 +0,0 @@ -/** - * Copyright (c) 1995-2012, The University of Sheffield. See the file - * COPYRIGHT.txt in the software or at http://gate.ac.uk/gate/COPYRIGHT.txt - * - * This file is part of GATE (see http://gate.ac.uk/), and is free - * software, licenced under the GNU Library General Public License, - * Version 2, June 1991 (in the distribution as file licence.html, - * and also available at http://gate.ac.uk/gate/licence.html). - * - * Thomas Heitz - 17/12/2009 - * - * $Id$ - */ - -package gate.gui.docview; - -import gate.Annotation; -import gate.AnnotationSet; -import gate.Factory; -import gate.gui.Handle; -import gate.gui.MainFrame; -import gate.gui.ontology.OntologyEditor; -import gate.swing.XJTable; -import gate.creole.ontology.*; -import gate.util.InvalidOffsetException; -import gate.util.GateRuntimeException; -import gate.util.Out; -import gate.util.Strings; - -import javax.swing.*; -import javax.swing.event.DocumentEvent; -import javax.swing.event.DocumentListener; -import javax.swing.event.ListSelectionEvent; -import javax.swing.event.ListSelectionListener; -import javax.swing.table.DefaultTableCellRenderer; -import javax.swing.table.DefaultTableModel; -import javax.swing.table.TableCellEditor; -import java.awt.*; -import java.awt.event.*; -import java.text.Collator; -import java.util.*; -import java.util.List; -import java.util.Timer; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * Document view that shows two tables: one instances and one for properties. - * The instances table is linked with the OntologyClassView class selection - * and the properties table is linked with the instances view. - * <br> - * Two buttons allow to add a new instance from the text selection in the - * document or as a new label for the selected instance. - * <br> - * You can filter the instances table, delete instances and set properties - * that are defined in the ontology as object properties. - */ -@SuppressWarnings("serial") -public class OntologyInstanceView extends AbstractDocumentView { - - public OntologyInstanceView() { - - instances = new HashSet<OInstance>(); - setProperties = new HashSet<ObjectProperty>(); - properties = new HashSet<ObjectProperty>(); - classesByPropertyMap = new HashMap<String, Set<OClass>>(); - } - - @Override - protected void initGUI() { - - // get a pointer to the text view used to display - // the selected annotations - Iterator<DocumentView> centralViewsIter = owner.getCentralViews().iterator(); - while(textView == null && centralViewsIter.hasNext()){ - DocumentView aView = centralViewsIter.next(); - if(aView instanceof TextualDocumentView) - textView = (TextualDocumentView) aView; - } - // get a pointer to the class view - Iterator<DocumentView> verticalViewsIter = owner.getVerticalViews().iterator(); - while(classView == null && verticalViewsIter.hasNext()){ - DocumentView aView = verticalViewsIter.next(); - if (aView instanceof OntologyClassView) { - classView = (OntologyClassView) aView; - } - } - classView.setOwner(owner); - - mainPanel = new JPanel(new BorderLayout()); - - // filter and buttons at the top - JPanel filterPanel = new JPanel(new GridBagLayout()); - GridBagConstraints gbc = new GridBagConstraints(); - JLabel filterLabel = new JLabel("Filter: "); - filterPanel.add(filterLabel, gbc); - gbc.fill = GridBagConstraints.HORIZONTAL; - gbc.weightx = 1; - filterPanel.add(filterTextField = new JTextField(20), gbc); - gbc.fill = GridBagConstraints.NONE; - gbc.weightx = 0; - filterTextField.setToolTipText("Filter the instance table on labels"); - clearFilterButton = new JButton(); - clearFilterButton.setBorder(BorderFactory.createEmptyBorder()); - filterPanel.add(clearFilterButton, gbc); - hiddenInstancesLabel = new JLabel(" 0 hidden "); - filterPanel.add(hiddenInstancesLabel, gbc); - JPanel filterButtonsPanel = new JPanel(); - newInstanceButton = new JButton("New Inst."); - newInstanceButton.setEnabled(false); - newInstanceButton.setToolTipText("New instance from the selection"); - newInstanceButton.setMnemonic(KeyEvent.VK_N); - filterButtonsPanel.add(newInstanceButton); - addLabelButton = new JButton("Add to Selected Inst."); - addLabelButton.setEnabled(false); - addLabelButton.setToolTipText( - "Add label from selection to the selected instance"); - addLabelButton.setMnemonic(KeyEvent.VK_A); - filterButtonsPanel.add(addLabelButton); - filterPanel.add(filterButtonsPanel, gbc); - - mainPanel.add(filterPanel, BorderLayout.NORTH); - - // tables at the bottom - JPanel tablesPanel = new JPanel(new GridLayout(1, 2)); - instanceTable = new XJTable() { - @Override - public boolean isCellEditable(int row, int column) { - return false; - } - }; - DefaultTableModel model = new DefaultTableModel(); - model.addColumn("Instance"); - model.addColumn("Labels"); - instanceTable.setModel(model); - tablesPanel.add(new JScrollPane(instanceTable)); - propertyTable = new XJTable(){ - @Override - public boolean isCellEditable(int row, int column) { - // property values are editable - return convertColumnIndexToModel(column) == 1; - } - }; - model = new DefaultTableModel(); - model.addColumn("Property"); - model.addColumn("Value"); - propertyTable.setModel(model); - tablesPanel.add(new JScrollPane(propertyTable)); - - mainPanel.add(tablesPanel, BorderLayout.CENTER); - - initListeners(); - } - - protected void initListeners() { - - clearFilterButton.setAction( - new AbstractAction("", MainFrame.getIcon("exit.gif")) { - { this.putValue(MNEMONIC_KEY, KeyEvent.VK_BACK_SPACE); - this.putValue(SHORT_DESCRIPTION, "Clear text field"); } - @Override - public void actionPerformed(ActionEvent e) { - filterTextField.setText(""); - filterTextField.requestFocusInWindow(); - } - }); - - // when an instance is selected, update the property table - instanceTable.getSelectionModel().addListSelectionListener( - new ListSelectionListener() { - @Override - public void valueChanged(ListSelectionEvent e) { - if (e.getValueIsAdjusting()) { return; } - updatePropertyTable(); - addLabelButton.setEnabled(newInstanceButton.isEnabled() - && selectedInstance != null); - } - } - ); - - // when typing a character in the instance table, use it for filtering - instanceTable.addKeyListener(new KeyAdapter() { - @Override - public void keyTyped(KeyEvent e) { - if (e.getKeyChar() != KeyEvent.VK_TAB - && e.getKeyChar() != KeyEvent.VK_SPACE - && e.getKeyChar() != KeyEvent.VK_BACK_SPACE - && e.getKeyChar() != KeyEvent.VK_DELETE) { - filterTextField.requestFocusInWindow(); - filterTextField.setText(String.valueOf(e.getKeyChar())); - } - } - }); - - // context menu to delete instances - instanceTable.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent evt) { - processMouseEvent(evt); - } - @Override - public void mousePressed(MouseEvent evt) { - JTable table = (JTable) evt.getSource(); - int row = table.rowAtPoint(evt.getPoint()); - if (evt.isPopupTrigger() - && !table.isRowSelected(row)) { - // if right click outside the selection then reset selection - table.getSelectionModel().setSelectionInterval(row, row); - } - processMouseEvent(evt); - } - @Override - public void mouseReleased(MouseEvent evt) { - processMouseEvent(evt); - } - protected void processMouseEvent(MouseEvent evt) { - final JTable table = (JTable) evt.getSource(); - int row = table.rowAtPoint(evt.getPoint()); - if (row >= 0) { - if (evt.isPopupTrigger()) { - // context menu - JPopupMenu popup = new JPopupMenu(); - if (table.getSelectedRowCount() == 1) { - popup.add(new ShowInstanceInOntologyEditorAction()); - popup.addSeparator(); - } - if (table.getSelectedRowCount() > 0) { - popup.add(new DeleteSelectedInstanceAction()); - } - if (popup.getComponentCount() > 0) { - popup.show(table, evt.getX(), evt.getY()); - } - } - } - } - }); - - // context menu to delete properties - propertyTable.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent evt) { - processMouseEvent(evt); - } - @Override - public void mousePressed(MouseEvent evt) { - JTable table = (JTable) evt.getSource(); - int row = table.rowAtPoint(evt.getPoint()); - if (evt.isPopupTrigger() - && !table.isRowSelected(row)) { - // if right click outside the selection then reset selection - table.getSelectionModel().setSelectionInterval(row, row); - } - processMouseEvent(evt); - } - @Override - public void mouseReleased(MouseEvent evt) { - processMouseEvent(evt); - } - protected void processMouseEvent(MouseEvent evt) { - final JTable table = (JTable) evt.getSource(); - int row = table.rowAtPoint(evt.getPoint()); - if (row >= 0) { - if (evt.isPopupTrigger()) { - // context menu - JPopupMenu popup = new JPopupMenu(); - if (table.getSelectedRowCount() > 0) { - popup.add(new DeleteSelectedPropertyAction()); - } - if (popup.getComponentCount() > 0) { - popup.show(table, evt.getX(), evt.getY()); - } - } - } - } - }); - - // show only the rows containing the text from filterTextField - filterTextField.getDocument().addDocumentListener(new DocumentListener() { - private Timer timer = new Timer("Instance view table rows filter", true); - private TimerTask timerTask; - @Override - public void changedUpdate(DocumentEvent e) { /* do nothing */ } - @Override - public void insertUpdate(DocumentEvent e) { update(); } - @Override - public void removeUpdate(DocumentEvent e) { update(); } - private void update() { - if (timerTask != null) { timerTask.cancel(); } - Date timeToRun = new Date(System.currentTimeMillis() + 300); - timerTask = new TimerTask() { @Override - public void run() { - updateInstanceTable(selectedClass); - }}; - // add a delay - timer.schedule(timerTask, timeToRun); - } - }); - - // Up/Down key events in filterTextField are transferred to the table - filterTextField.addKeyListener(new KeyAdapter() { - @Override - public void keyPressed(KeyEvent e) { - if (e.getKeyCode() == KeyEvent.VK_UP - || e.getKeyCode() == KeyEvent.VK_DOWN - || e.getKeyCode() == KeyEvent.VK_PAGE_UP - || e.getKeyCode() == KeyEvent.VK_PAGE_DOWN) { - instanceTable.dispatchEvent(e); - } - } - }); - } - - @Override - protected void registerHooks() { - // show the class view at the right - if (!classView.isActive()) { - owner.setRightView(owner.verticalViews.indexOf(classView)); - } - } - - @Override - protected void unregisterHooks() { - // hide the class view at the right - if (classView.isActive()) { - owner.setRightView(-1); - } - } - - @Override - public Component getGUI() { - return mainPanel; - } - - @Override - public int getType() { - return HORIZONTAL; - } - - /** - * Update the instance table for the class and ontology selected. - * @param selectedClass class selected - */ - public void updateInstanceTable(OClass selectedClass) { - this.selectedClass = selectedClass; - instances.clear(); - Set<OInstance> allInstances = new HashSet<OInstance>(); - final DefaultTableModel tableModel = new DefaultTableModel(); - tableModel.addColumn("Instance"); - tableModel.addColumn("Labels"); - if (selectedClass != null) { - selectedOntology = selectedClass.getOntology(); - allInstances.addAll(selectedOntology.getOInstances( - selectedClass, OConstants.Closure.TRANSITIVE_CLOSURE)); - String filter = filterTextField.getText() - .trim().toLowerCase(Locale.ENGLISH); - for (OInstance instance : allInstances) { - Set<AnnotationProperty> properties = - instance.getSetAnnotationProperties(); - boolean hasLabelProperty = false; - instances.add(instance); - for (AnnotationProperty property : properties) { - if (property.getName().equals("label")) { - hasLabelProperty = true; - List<Literal> values = - instance.getAnnotationPropertyValues(property); - Set<String> labels = new HashSet<String>(); - boolean matchFilter = false; - for (Literal value : values) { - labels.add(value.getValue()); - if (value.getValue().toLowerCase().indexOf(filter) != -1) { - matchFilter = true; - } - } - if (matchFilter) { - tableModel.addRow(new Object[]{instance.getName(), - Strings.toString(labels)}); - } else { - instances.remove(instance); - } - } - } - if (!hasLabelProperty) { - // add instance row without label property - tableModel.addRow(new Object[]{instance.getName(), ""}); - } - } - } - final int hiddenInstances = allInstances.size() - instances.size(); - SwingUtilities.invokeLater(new Runnable() { @Override - public void run() { - hiddenInstancesLabel.setText(" " + hiddenInstances + " hidden "); - instanceTable.setModel(tableModel); - if (instanceTable.getRowCount() > 0) { - instanceTable.setRowSelectionInterval(0, 0); - } - }}); - } - - protected void updatePropertyTable() { - selectedInstance = null; - final DefaultTableModel tableModel = new DefaultTableModel(); - tableModel.addColumn("Property"); - tableModel.addColumn("Value"); - if (instanceTable.getSelectedRow() != -1) { - String selectedValue = (String) instanceTable.getValueAt( - instanceTable.getSelectedRow(), - instanceTable.convertColumnIndexToView(0)); - for (OInstance instance : instances) { - if (instance.getName().equals(selectedValue)) { - // found the instance matching the name in the table - selectedInstance = instance; - setProperties.clear(); - properties.clear(); - // get all object properties that can be set for this instance - Set<OClass> classes = - instance.getOClasses(OConstants.Closure.DIRECT_CLOSURE); - for (OClass oClass : classes) { - for (RDFProperty property : - oClass.getPropertiesWithResourceAsDomain()) { - if (property instanceof ObjectProperty) { - properties.add((ObjectProperty) property); - Set<String> ranges = new HashSet<String>(); - Set<OClass> rangeClasses = new HashSet<OClass>(); - for (OResource range : - ((ObjectProperty) property).getRange()) { - ranges.add(range.getName()); - rangeClasses.add((OClass) range); - } - if (ranges.isEmpty()) { - ranges.add("All classes"); - } - classesByPropertyMap.put(property.getName(), rangeClasses); - tableModel.addRow(new Object[]{property.getName(), - Strings.toString(ranges)}); - } - } - } - // get all set... [truncated message content] |
From: <mar...@us...> - 2017-07-10 14:40:50
|
Revision: 20249 http://sourceforge.net/p/gate/code/20249 Author: markagreenwood Date: 2017-07-10 14:40:48 +0000 (Mon, 10 Jul 2017) Log Message: ----------- moved the ontology editor into the plugin.... I think Added Paths: ----------- gate/branches/sawdust2/plugins/Ontology_Tools/src/gate/gui/ gate/branches/sawdust2/plugins/Ontology_Tools/src/gate/gui/ontology/ Removed Paths: ------------- gate/branches/sawdust2/gate-core/src/main/java/gate/gui/ontology/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gat...@us...> - 2017-07-03 13:46:12
|
Revision: 20248 http://sourceforge.net/p/gate/code/20248 Author: gate-project Date: 2017-07-03 13:46:10 +0000 (Mon, 03 Jul 2017) Log Message: ----------- [diana] sti paper Modified Paths: -------------- gate/trunk/doc/papers.html gate/trunk/doc/papers.yam Modified: gate/trunk/doc/papers.html =================================================================== --- gate/trunk/doc/papers.html 2017-07-03 10:47:40 UTC (rev 20247) +++ gate/trunk/doc/papers.html 2017-07-03 13:46:10 UTC (rev 20248) @@ -107,6 +107,10 @@ <ul> <li>K. Bontcheva, L. Derczynski, I. Roberts. Crowdsourcing Named Entity Recognition and Entity Linking Corpora. In Nancy Ide and James Pustejovsky, eds.: The Handbook of Linguistic Annotation.</li> </ul> + +<ul> +<li>D. Maynard and B. Lepori. Ontologies as bridges between data sources and user queries: the KNOWMAK project experience. Proceedings of STI 2017, Paris, France, September 2017 (forthcoming).</li> +</ul> <h2 class="cow-heading">2017</h2> Modified: gate/trunk/doc/papers.yam =================================================================== --- gate/trunk/doc/papers.yam 2017-07-03 10:47:40 UTC (rev 20247) +++ gate/trunk/doc/papers.yam 2017-07-03 13:46:10 UTC (rev 20248) @@ -49,6 +49,8 @@ - K. Bontcheva, L. Derczynski, I. Roberts. Crowdsourcing Named Entity Recognition and Entity Linking Corpora. In Nancy Ide and James Pustejovsky, eds.: The Handbook of Linguistic Annotation. +- D. Maynard and B. Lepori. Ontologies as bridges between data sources and user queries: the KNOWMAK project experience. Proceedings of STI 2017, Paris, France, September 2017 (forthcoming). + %2* 2017 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <joh...@us...> - 2017-07-03 10:47:42
|
Revision: 20247 http://sourceforge.net/p/gate/code/20247 Author: johann_p Date: 2017-07-03 10:47:40 +0000 (Mon, 03 Jul 2017) Log Message: ----------- Add the ConText plugin. Modified Paths: -------------- gate/trunk/build/deploy/plugins/gate-8.1.xml Modified: gate/trunk/build/deploy/plugins/gate-8.1.xml =================================================================== --- gate/trunk/build/deploy/plugins/gate-8.1.xml 2017-06-27 21:25:55 UTC (rev 20246) +++ gate/trunk/build/deploy/plugins/gate-8.1.xml 2017-07-03 10:47:40 UTC (rev 20247) @@ -40,6 +40,10 @@ url="https://raw.githubusercontent.com/GateNLP/gateplugin-dict-lemmatizer/V0_4/" downloadURL="https://github.com/GateNLP/gateplugin-dict-lemmatizer/releases/download/V0_4/gateplugin-dict-lemmatizer-0.4.zip" /> +<CreolePlugin + url="https://raw.githubusercontent.com/GateNLP/gateplugin-ConText/V1_0/" + downloadURL="https://github.com/GateNLP/gateplugin-ConText/releases/download/V1_0/gateplugin-ConText-1.0.zip" +/> </UpdateSite> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gat...@us...> - 2017-06-27 21:25:57
|
Revision: 20246 http://sourceforge.net/p/gate/code/20246 Author: gate-project Date: 2017-06-27 21:25:55 +0000 (Tue, 27 Jun 2017) Log Message: ----------- [kalina] Edited with GATEWiki Modified Paths: -------------- gate/trunk/doc/papers.html gate/trunk/doc/papers.yam Modified: gate/trunk/doc/papers.html =================================================================== --- gate/trunk/doc/papers.html 2017-06-27 21:24:07 UTC (rev 20245) +++ gate/trunk/doc/papers.html 2017-06-27 21:25:55 UTC (rev 20246) @@ -196,11 +196,11 @@ <h2 class="cow-heading">2015</h2> <ul> -<li>M. Lukasik, T. Cohn and K. Bontcheva. Classifying Tweet Level Judgements of Rumours in Social Media. In Proceedings of Empirical Methods of Natural Language Processing, EMNLP, 2015. <a class="cow-non-existant-url" href="staffwww.dcs.shef.ac.uk/people/M.Lukasik/pubs/emnlp2015_1.pdf?m=1">PDF</a></li> +<li>M. Lukasik, T. Cohn and K. Bontcheva. Classifying Tweet Level Judgements of Rumours in Social Media. In Proceedings of Empirical Methods of Natural Language Processing, EMNLP, 2015. <a class="cow-url" href="http://staffwww.dcs.shef.ac.uk/people/M.Lukasik/pubs/emnlp2015_1.pdf">PDF</a></li> </ul> <ul> -<li>M. Lukasik, S. Prabhakaran Nair Kusumam, T. Cohn, and K. Bontcheva.. Modeling Tweet Arrival Times using Log-Gaussian Cox Processes. In Proceedings of Empirical Methods of Natural Language Processing, EMNLP, 2015. % (www.emnlp2015.org/proceedings/EMNLP/pdf/EMNLP028.pdf, PDF)</li> +<li>M. Lukasik, S. Prabhakaran Nair Kusumam, T. Cohn, and K. Bontcheva.. Modeling Tweet Arrival Times using Log-Gaussian Cox Processes. In Proceedings of Empirical Methods of Natural Language Processing, EMNLP, 2015. <a class="cow-url" href="http://www.emnlp2015.org/proceedings/EMNLP/pdf/EMNLP028.pdf">PDF</a></li> </ul> <ul> Modified: gate/trunk/doc/papers.yam =================================================================== --- gate/trunk/doc/papers.yam 2017-06-27 21:24:07 UTC (rev 20245) +++ gate/trunk/doc/papers.yam 2017-06-27 21:25:55 UTC (rev 20246) @@ -99,9 +99,9 @@ %2* 2015 -- M. Lukasik, T. Cohn and K. Bontcheva. Classifying Tweet Level Judgements of Rumours in Social Media. In Proceedings of Empirical Methods of Natural Language Processing, EMNLP, 2015. %(staffwww.dcs.shef.ac.uk/people/M.Lukasik/pubs/emnlp2015_1.pdf, PDF) +- M. Lukasik, T. Cohn and K. Bontcheva. Classifying Tweet Level Judgements of Rumours in Social Media. In Proceedings of Empirical Methods of Natural Language Processing, EMNLP, 2015. %(http://staffwww.dcs.shef.ac.uk/people/M.Lukasik/pubs/emnlp2015_1.pdf, PDF) -- M. Lukasik, S. Prabhakaran Nair Kusumam, T. Cohn, and K. Bontcheva.. Modeling Tweet Arrival Times using Log-Gaussian Cox Processes. In Proceedings of Empirical Methods of Natural Language Processing, EMNLP, 2015. % (www.emnlp2015.org/proceedings/EMNLP/pdf/EMNLP028.pdf, PDF) +- M. Lukasik, S. Prabhakaran Nair Kusumam, T. Cohn, and K. Bontcheva.. Modeling Tweet Arrival Times using Log-Gaussian Cox Processes. In Proceedings of Empirical Methods of Natural Language Processing, EMNLP, 2015. %(http://www.emnlp2015.org/proceedings/EMNLP/pdf/EMNLP028.pdf, PDF) - M. Lukasik, T. Cohn, K. Bontcheva. Point process modelling of rumour dynamics in social media. In Proceedings of the 53rd annual meeting of the Association for Computational Linguistics, ACL, 2015. %(http://www.aclweb.org/anthology/P15-2085, PDF) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gat...@us...> - 2017-06-27 21:24:10
|
Revision: 20245 http://sourceforge.net/p/gate/code/20245 Author: gate-project Date: 2017-06-27 21:24:07 +0000 (Tue, 27 Jun 2017) Log Message: ----------- [kalina] Edited with GATEWiki Modified Paths: -------------- gate/trunk/doc/papers.html gate/trunk/doc/papers.yam Modified: gate/trunk/doc/papers.html =================================================================== --- gate/trunk/doc/papers.html 2017-06-27 21:22:48 UTC (rev 20244) +++ gate/trunk/doc/papers.html 2017-06-27 21:24:07 UTC (rev 20245) @@ -111,7 +111,7 @@ <ul> -<li>Diana Maynard, Ian Roberts, Mark A. Greenwood, Dominic Rout and Kalina Bontcheva. A Framework for Real-time Semantic Social Media Analysis. Web Semantics: Science, Services and Agents on the World Wide Web, 2017 (in press). <a class="cow-url" href="https://doi.org/10.1016/j.websem.2017.05.002"><a class="cow-url" href="https://doi.org/10.1016/j.websem.2017.05.002">https://doi.org/10.1016/j.websem.2017.05.002</a>,</a> <a class="cow-url" href="http://www.sciencedirect.com/science/article/pii/S1570826817300240">pre-print</a></li> +<li>D. Maynard, I. Roberts, M. A. Greenwood, D. Rout and K. Bontcheva. A Framework for Real-time Semantic Social Media Analysis. Web Semantics: Science, Services and Agents on the World Wide Web, 2017 (in press). <a class="cow-url" href="https://doi.org/10.1016/j.websem.2017.05.002"><a class="cow-url" href="https://doi.org/10.1016/j.websem.2017.05.002">https://doi.org/10.1016/j.websem.2017.05.002</a>,</a> <a class="cow-url" href="http://www.sciencedirect.com/science/article/pii/S1570826817300240">pre-print</a></li> </ul> <ul> @@ -145,7 +145,7 @@ </ul> <ul> -<li>M. Lukasik, P. K. Srijith, D. Vu, K. Bontcheva, A. Zubiaga, T. Cohn. Hawkes Processes for Continuous Time Sequence Classification an Application to Rumour Stance Classification in Twitter. In Proceedings of the 54th annual meeting of the Association for Computational Linguistics, ACL, 2016. <a class="cow-non-existant-url" href="people.eng.unimelb.edu.au/tcohn/papers/lukasik16acl.pdf?m=1">PDF</a></li> +<li>M. Lukasik, P. K. Srijith, D. Vu, K. Bontcheva, A. Zubiaga, T. Cohn. Hawkes Processes for Continuous Time Sequence Classification an Application to Rumour Stance Classification in Twitter. In Proceedings of the 54th annual meeting of the Association for Computational Linguistics, ACL, 2016. <a class="cow-url" href="http://people.eng.unimelb.edu.au/tcohn/papers/lukasik16acl.pdf">PDF</a></li> </ul> <ul> Modified: gate/trunk/doc/papers.yam =================================================================== --- gate/trunk/doc/papers.yam 2017-06-27 21:22:48 UTC (rev 20244) +++ gate/trunk/doc/papers.yam 2017-06-27 21:24:07 UTC (rev 20245) @@ -52,7 +52,7 @@ %2* 2017 -- Diana Maynard, Ian Roberts, Mark A. Greenwood, Dominic Rout and Kalina Bontcheva. A Framework for Real-time Semantic Social Media Analysis. Web Semantics: Science, Services and Agents on the World Wide Web, 2017 (in press). %(https://doi.org/10.1016/j.websem.2017.05.002, https://doi.org/10.1016/j.websem.2017.05.002,) %(http://www.sciencedirect.com/science/article/pii/S1570826817300240, pre-print) +- D. Maynard, I. Roberts, M. A. Greenwood, D. Rout and K. Bontcheva. A Framework for Real-time Semantic Social Media Analysis. Web Semantics: Science, Services and Agents on the World Wide Web, 2017 (in press). %(https://doi.org/10.1016/j.websem.2017.05.002, https://doi.org/10.1016/j.websem.2017.05.002,) %(http://www.sciencedirect.com/science/article/pii/S1570826817300240, pre-print) - P.K. Srijith, M. Lukasik, K. Bontcheva and T. Cohn. Longitudinal Modeling of Social Media with Hawkes Process based on Users and Networks. In The IEEE/ACM International Conference on Social Networks Analysis and Mining, ASONAM, 2017. @@ -71,7 +71,7 @@ - L. Derczynski, K. Bontcheva, I. Roberts. Broad Twitter Corpus: A Diverse Named Entity Recognition Resource. In Proc. of the Int'l Conference on Computational Linguistics (COLING). %(http://www.derczynski.com/sheffield/papers/btc.pdf, PDF) -- M. Lukasik, P. K. Srijith, D. Vu, K. Bontcheva, A. Zubiaga, T. Cohn. Hawkes Processes for Continuous Time Sequence Classification an Application to Rumour Stance Classification in Twitter. In Proceedings of the 54th annual meeting of the Association for Computational Linguistics, ACL, 2016. %(people.eng.unimelb.edu.au/tcohn/papers/lukasik16acl.pdf, PDF) +- M. Lukasik, P. K. Srijith, D. Vu, K. Bontcheva, A. Zubiaga, T. Cohn. Hawkes Processes for Continuous Time Sequence Classification an Application to Rumour Stance Classification in Twitter. In Proceedings of the 54th annual meeting of the Association for Computational Linguistics, ACL, 2016. %(http://people.eng.unimelb.edu.au/tcohn/papers/lukasik16acl.pdf, PDF) - A. Zubiaga, E. Kochkina, M. Liakata, R. Procter, M. Lukasik.. Stance classification in Rumours as a Sequential Task Exploiting the Tree Structure of Social Media Conversations. In 26th International Conference on Computational Linguistics, COLING, 2016. %(https://arxiv.org/abs/1609.09028, PDF) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gat...@us...> - 2017-06-27 21:22:51
|
Revision: 20244 http://sourceforge.net/p/gate/code/20244 Author: gate-project Date: 2017-06-27 21:22:48 +0000 (Tue, 27 Jun 2017) Log Message: ----------- [kalina] Edited with GATEWiki Modified Paths: -------------- gate/trunk/doc/papers.html gate/trunk/doc/papers.yam Modified: gate/trunk/doc/papers.html =================================================================== --- gate/trunk/doc/papers.html 2017-06-26 17:09:48 UTC (rev 20243) +++ gate/trunk/doc/papers.html 2017-06-27 21:22:48 UTC (rev 20244) @@ -105,20 +105,21 @@ <h2 class="cow-heading">Forthcoming / Accepted</h2> <ul> -<li>V. Tablan, K. Bontcheva, I. Roberts, and H. Cunningham. Mímir: An open-source semantic search framework for interactive information seeking and discovery. Journal of Web Semantics: Science, Services and Agents on the World Wide Web, 2014. <a class="cow-url" href="http://dx.doi.org/10.1016/j.websem.2014.10.002">doi:10.1016/j.websem.2014.10.002</a> <span class="cow-footnote" name="footnote1"><sup><a href="#footnote1">1</a></sup></span></li> +<li>K. Bontcheva, L. Derczynski, I. Roberts. Crowdsourcing Named Entity Recognition and Entity Linking Corpora. In Nancy Ide and James Pustejovsky, eds.: The Handbook of Linguistic Annotation.</li> </ul> +<h2 class="cow-heading">2017</h2> + <ul> -<li>K. Bontcheva, L. Derczynski, I. Roberts. Crowdsourcing Named Entity Recognition and Entity Linking Corpora. In Nancy Ide and James Pustejovsky, eds.: The Handbook of Linguistic Annotation.</li> +<li>Diana Maynard, Ian Roberts, Mark A. Greenwood, Dominic Rout and Kalina Bontcheva. A Framework for Real-time Semantic Social Media Analysis. Web Semantics: Science, Services and Agents on the World Wide Web, 2017 (in press). <a class="cow-url" href="https://doi.org/10.1016/j.websem.2017.05.002"><a class="cow-url" href="https://doi.org/10.1016/j.websem.2017.05.002">https://doi.org/10.1016/j.websem.2017.05.002</a>,</a> <a class="cow-url" href="http://www.sciencedirect.com/science/article/pii/S1570826817300240">pre-print</a></li> </ul> -<h2 class="cow-heading">2017</h2> <ul> -<li>Diana Maynard, Adam Funk and Benedetto Lepori. Towards an Infrastructure for Understanding and Interlinking Knowledge Co-Creation in European research. ESWC 2017 Workshop on Scientometrics, Portoroz, Slovenia, May 2017. <a class="cow-url" href="http://gate.ac.uk/sale/2017/eswc2017/scientometrics/knowmake-ontologies.pdf">PDF</a></li> +<li>P.K. Srijith, M. Lukasik, K. Bontcheva and T. Cohn. Longitudinal Modeling of Social Media with Hawkes Process based on Users and Networks. In The IEEE/ACM International Conference on Social Networks Analysis and Mining, ASONAM, 2017.</li> </ul> <ul> -<li>Diana Maynard, Ian Roberts, Mark A. Greenwood, Dominic Rout and Kalina Bontcheva. A Framework for Real-time Semantic Social Media Analysis. Web Semantics: Science, Services and Agents on the World Wide Web, 2017 (in press). <a class="cow-url" href="https://doi.org/10.1016/j.websem.2017.05.002"><a class="cow-url" href="https://doi.org/10.1016/j.websem.2017.05.002">https://doi.org/10.1016/j.websem.2017.05.002</a>,</a> <a class="cow-url" href="http://www.sciencedirect.com/science/article/pii/S1570826817300240">pre-print</a></li> +<li>D. Maynard, A. Funk and B. Lepori. Towards an Infrastructure for Understanding and Interlinking Knowledge Co-Creation in European research. ESWC 2017 Workshop on Scientometrics, Portoroz, Slovenia, May 2017. <a class="cow-url" href="http://gate.ac.uk/sale/2017/eswc2017/scientometrics/knowmake-ontologies.pdf">PDF</a></li> </ul> <ul> @@ -126,17 +127,17 @@ </ul> <ul> -<li>Isabelle Augenstein, Leon Derczynski, Kalina Bontcheva. 2017. Generalisation in Named Entity Recognition: A Quantitative Analysis. In Computer Speech and Language, Elsevier. <a class="cow-url" href="https://arxiv.org/pdf/1701.02877v1.pdf">PDF</a></li> +<li>I. Augenstein, L. Derczynski, K. Bontcheva. 2017. Generalisation in Named Entity Recognition: A Quantitative Analysis. In Computer Speech and Language, Elsevier. <a class="cow-url" href="https://arxiv.org/pdf/1701.02877v1.pdf">PDF</a></li> </ul> <ul> -<li>Leon Derczynski, Kalina Bontcheva, Maria Liakata, Rob Procter, Geraldine Wong Sak Hoi, Arkaitz Zubiaga. 2017. SemEval-2017 Task 8: RumourEval: Determining rumour veracity and support for rumours. In 10th International Workshop on Semantic Evaluation (SemEval 2017), ACL. <a class="cow-url" href="http://www.derczynski.com/sheffield/papers/rumoureval-task.pdf">PDF</a></li> +<li>L. Derczynski, K. Bontcheva, M. Liakata, R. Procter, G. Wong Sak Hoi, A. Zubiaga. 2017. SemEval-2017 Task 8: RumourEval: Determining rumour veracity and support for rumours. In 10th International Workshop on Semantic Evaluation (SemEval 2017), ACL. <a class="cow-url" href="http://www.derczynski.com/sheffield/papers/rumoureval-task.pdf">PDF</a></li> </ul> <h2 class="cow-heading">2016</h2> <ul> -<li>Diana Maynard, Kalina Bontcheva, Isabelle Augenstein. Natural Language Processing for the Semantic Web. Morgan and Claypool, December 2016. ISBN: 9781627059091 <a class="cow-url" href="http://www.morganclaypoolpublishers.com/catalog_Orig/product_info.php?cPath=22&products_id=1009&osCsid=le7c1fi17uo88v0j8eco2emtu4">Morgan and Claypool link</a></li> +<li>D. Maynard, K. Bontcheva, I. Augenstein. Natural Language Processing for the Semantic Web. Morgan and Claypool, December 2016. ISBN: 9781627059091 <a class="cow-url" href="http://www.morganclaypoolpublishers.com/catalog_Orig/product_info.php?cPath=22&products_id=1009&osCsid=le7c1fi17uo88v0j8eco2emtu4">Morgan and Claypool link</a></li> </ul> <ul> @@ -144,6 +145,14 @@ </ul> <ul> +<li>M. Lukasik, P. K. Srijith, D. Vu, K. Bontcheva, A. Zubiaga, T. Cohn. Hawkes Processes for Continuous Time Sequence Classification an Application to Rumour Stance Classification in Twitter. In Proceedings of the 54th annual meeting of the Association for Computational Linguistics, ACL, 2016. <a class="cow-non-existant-url" href="people.eng.unimelb.edu.au/tcohn/papers/lukasik16acl.pdf?m=1">PDF</a></li> +</ul> + +<ul> +<li>A. Zubiaga, E. Kochkina, M. Liakata, R. Procter, M. Lukasik.. Stance classification in Rumours as a Sequential Task Exploiting the Tree Structure of Social Media Conversations. In 26th International Conference on Computational Linguistics, COLING, 2016. <a class="cow-url" href="https://arxiv.org/abs/1609.09028">PDF</a></li> +</ul> + +<ul> <li>L. Derczynski. Representation and Learning of Temporal Relations. In Proc. of the Int'l Conference on Computational Linguistics (COLING). <a class="cow-url" href="http://www.derczynski.com/sheffield/papers/temp-reltype-repr.pdf">PDF</a></li> </ul> @@ -187,6 +196,18 @@ <h2 class="cow-heading">2015</h2> <ul> +<li>M. Lukasik, T. Cohn and K. Bontcheva. Classifying Tweet Level Judgements of Rumours in Social Media. In Proceedings of Empirical Methods of Natural Language Processing, EMNLP, 2015. <a class="cow-non-existant-url" href="staffwww.dcs.shef.ac.uk/people/M.Lukasik/pubs/emnlp2015_1.pdf?m=1">PDF</a></li> +</ul> + +<ul> +<li>M. Lukasik, S. Prabhakaran Nair Kusumam, T. Cohn, and K. Bontcheva.. Modeling Tweet Arrival Times using Log-Gaussian Cox Processes. In Proceedings of Empirical Methods of Natural Language Processing, EMNLP, 2015. % (www.emnlp2015.org/proceedings/EMNLP/pdf/EMNLP028.pdf, PDF)</li> +</ul> + +<ul> +<li>M. Lukasik, T. Cohn, K. Bontcheva. Point process modelling of rumour dynamics in social media. In Proceedings of the 53rd annual meeting of the Association for Computational Linguistics, ACL, 2015. <a class="cow-url" href="http://www.aclweb.org/anthology/P15-2085">PDF</a></li> +</ul> + +<ul> <li>D. Maynard and K. Bontcheva. Understanding climate change tweets: an open source toolkit for social media analysis. In Proc. of EnviroInfo 2015, Copenhagen, Sep. 2015. <a class="cow-url" href="https://gate.ac.uk/sale/enviroinfo2015/decarbonet.pdf">PDF</a> </li> </ul> @@ -1197,13 +1218,4 @@ </ul> <a class="cow-section-anchor" name="section-4."></a><h1 class="cow-heading"><span class="cow-sec-number">4. </span>Our BibTeX file.</h1> -<p><a class="cow-url" href="gate.bib">Download here.</a></p><span class="cow-footnote-section"> -<h1 class="cow-heading">Footnotes</h1> -<p><ol> -<li> -<a class="cow-footnote-anchor" name="footnote1"></a> -<span class="cow-footnote-text" name="footnote1">Published online but not yet assigned to a specific volume and issue.</span> -</li> -</ol></p> -</span> -</body></html> +<p><a class="cow-url" href="gate.bib">Download here.</a></p></body></html> Modified: gate/trunk/doc/papers.yam =================================================================== --- gate/trunk/doc/papers.yam 2017-06-26 17:09:48 UTC (rev 20243) +++ gate/trunk/doc/papers.yam 2017-06-27 21:22:48 UTC (rev 20244) @@ -47,29 +47,34 @@ %2* Forthcoming / Accepted -- V. Tablan, K. Bontcheva, I. Roberts, and H. Cunningham. Mímir: An open-source semantic search framework for interactive information seeking and discovery. Journal of Web Semantics: Science, Services and Agents on the World Wide Web, 2014. %(http://dx.doi.org/10.1016/j.websem.2014.10.002, doi:10.1016/j.websem.2014.10.002) %footnote(Published online but not yet assigned to a specific volume and issue.) - - K. Bontcheva, L. Derczynski, I. Roberts. Crowdsourcing Named Entity Recognition and Entity Linking Corpora. In Nancy Ide and James Pustejovsky, eds.: The Handbook of Linguistic Annotation. %2* 2017 -- Diana Maynard, Adam Funk and Benedetto Lepori. Towards an Infrastructure for Understanding and Interlinking Knowledge Co-Creation in European research. ESWC 2017 Workshop on Scientometrics, Portoroz, Slovenia, May 2017. %(http://gate.ac.uk/sale/2017/eswc2017/scientometrics/knowmake-ontologies.pdf, PDF) - Diana Maynard, Ian Roberts, Mark A. Greenwood, Dominic Rout and Kalina Bontcheva. A Framework for Real-time Semantic Social Media Analysis. Web Semantics: Science, Services and Agents on the World Wide Web, 2017 (in press). %(https://doi.org/10.1016/j.websem.2017.05.002, https://doi.org/10.1016/j.websem.2017.05.002,) %(http://www.sciencedirect.com/science/article/pii/S1570826817300240, pre-print) +- P.K. Srijith, M. Lukasik, K. Bontcheva and T. Cohn. Longitudinal Modeling of Social Media with Hawkes Process based on Users and Networks. In The IEEE/ACM International Conference on Social Networks Analysis and Mining, ASONAM, 2017. + +- D. Maynard, A. Funk and B. Lepori. Towards an Infrastructure for Understanding and Interlinking Knowledge Co-Creation in European research. ESWC 2017 Workshop on Scientometrics, Portoroz, Slovenia, May 2017. %(http://gate.ac.uk/sale/2017/eswc2017/scientometrics/knowmake-ontologies.pdf, PDF) + - L. Derczynski. Automatically Ordering Events and Times in Text. Studies in Computational Intelligence 677. Springer. %(http://link.springer.com/book/10.1007/978-3-319-47241-6, online version) -- Isabelle Augenstein, Leon Derczynski, Kalina Bontcheva. 2017. Generalisation in Named Entity Recognition: A Quantitative Analysis. In Computer Speech and Language, Elsevier. %(https://arxiv.org/pdf/1701.02877v1.pdf, PDF) +- I. Augenstein, L. Derczynski, K. Bontcheva. 2017. Generalisation in Named Entity Recognition: A Quantitative Analysis. In Computer Speech and Language, Elsevier. %(https://arxiv.org/pdf/1701.02877v1.pdf, PDF) -- Leon Derczynski, Kalina Bontcheva, Maria Liakata, Rob Procter, Geraldine Wong Sak Hoi, Arkaitz Zubiaga. 2017. SemEval-2017 Task 8: RumourEval: Determining rumour veracity and support for rumours. In 10th International Workshop on Semantic Evaluation (SemEval 2017), ACL. %(http://www.derczynski.com/sheffield/papers/rumoureval-task.pdf, PDF) +- L. Derczynski, K. Bontcheva, M. Liakata, R. Procter, G. Wong Sak Hoi, A. Zubiaga. 2017. SemEval-2017 Task 8: RumourEval: Determining rumour veracity and support for rumours. In 10th International Workshop on Semantic Evaluation (SemEval 2017), ACL. %(http://www.derczynski.com/sheffield/papers/rumoureval-task.pdf, PDF) %2* 2016 -- Diana Maynard, Kalina Bontcheva, Isabelle Augenstein. Natural Language Processing for the Semantic Web. Morgan and Claypool, December 2016. ISBN: 9781627059091 %(http://www.morganclaypoolpublishers.com/catalog_Orig/product_info.php?cPath=22&products_id=1009&osCsid=le7c1fi17uo88v0j8eco2emtu4, Morgan and Claypool link) +- D. Maynard, K. Bontcheva, I. Augenstein. Natural Language Processing for the Semantic Web. Morgan and Claypool, December 2016. ISBN: 9781627059091 %(http://www.morganclaypoolpublishers.com/catalog_Orig/product_info.php?cPath=22&products_id=1009&osCsid=le7c1fi17uo88v0j8eco2emtu4, Morgan and Claypool link) - L. Derczynski, K. Bontcheva, I. Roberts. Broad Twitter Corpus: A Diverse Named Entity Recognition Resource. In Proc. of the Int'l Conference on Computational Linguistics (COLING). %(http://www.derczynski.com/sheffield/papers/btc.pdf, PDF) +- M. Lukasik, P. K. Srijith, D. Vu, K. Bontcheva, A. Zubiaga, T. Cohn. Hawkes Processes for Continuous Time Sequence Classification an Application to Rumour Stance Classification in Twitter. In Proceedings of the 54th annual meeting of the Association for Computational Linguistics, ACL, 2016. %(people.eng.unimelb.edu.au/tcohn/papers/lukasik16acl.pdf, PDF) + +- A. Zubiaga, E. Kochkina, M. Liakata, R. Procter, M. Lukasik.. Stance classification in Rumours as a Sequential Task Exploiting the Tree Structure of Social Media Conversations. In 26th International Conference on Computational Linguistics, COLING, 2016. %(https://arxiv.org/abs/1609.09028, PDF) + - L. Derczynski. Representation and Learning of Temporal Relations. In Proc. of the Int'l Conference on Computational Linguistics (COLING). %(http://www.derczynski.com/sheffield/papers/temp-reltype-repr.pdf, PDF) - Anna Kolliakou, Michael Ball, Leon Derczynski, David Chandran, George Gkotsis, Paolo Deluca, Richard Jackson, Hitesh Shetty, Robert Stewart. Novel psychoactive substances: an investigation of temporal trends in social media and electronic health records. European Psychiatry. @@ -94,6 +99,12 @@ %2* 2015 +- M. Lukasik, T. Cohn and K. Bontcheva. Classifying Tweet Level Judgements of Rumours in Social Media. In Proceedings of Empirical Methods of Natural Language Processing, EMNLP, 2015. %(staffwww.dcs.shef.ac.uk/people/M.Lukasik/pubs/emnlp2015_1.pdf, PDF) + +- M. Lukasik, S. Prabhakaran Nair Kusumam, T. Cohn, and K. Bontcheva.. Modeling Tweet Arrival Times using Log-Gaussian Cox Processes. In Proceedings of Empirical Methods of Natural Language Processing, EMNLP, 2015. % (www.emnlp2015.org/proceedings/EMNLP/pdf/EMNLP028.pdf, PDF) + +- M. Lukasik, T. Cohn, K. Bontcheva. Point process modelling of rumour dynamics in social media. In Proceedings of the 53rd annual meeting of the Association for Computational Linguistics, ACL, 2015. %(http://www.aclweb.org/anthology/P15-2085, PDF) + - D. Maynard and K. Bontcheva. Understanding climate change tweets: an open source toolkit for social media analysis. In Proc. of EnviroInfo 2015, Copenhagen, Sep. 2015. %(https://gate.ac.uk/sale/enviroinfo2015/decarbonet.pdf, PDF) - Diana Maynard and Jonathon Hare. Entity-based Opinion Mining from Text and Multimedia. In "Advances in Social Media Analysis", Mohamed Gaber, Nirmalie Wiratunga, Ayse Goker, and Mihaela Cocea (eds.) 2015, Springer. %(http://www.springer.com/gb/book/9783319184579, Springer link). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ian...@us...> - 2017-06-26 17:09:50
|
Revision: 20243 http://sourceforge.net/p/gate/code/20243 Author: ian_roberts Date: 2017-06-26 17:09:48 +0000 (Mon, 26 Jun 2017) Log Message: ----------- Tagging 2.8.1 Added Paths: ----------- gcp/tags/2.8.1/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |