Giter VIP home page Giter VIP logo

aida-interchange-format's People

Contributors

bdpham avatar berquist avatar craigwarsaw avatar eaciv avatar jakevb avatar nextcen-dgemoets avatar omitz avatar phile-caci avatar rogerbock avatar sharknc avatar xpeng-isi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aida-interchange-format's Issues

`coldstart2Gaia` should be renamed `coldstart2AidaInterchange`

After installation, there are only 3 executable binaries can be found in target/appassembler/bin, which are coldstart2Gaia, validateAIF, and images2Aif. So, coldstart2Gala should be renamed to coldstart2AidaInterchange according to README, right?

Should ldcOnt:genafl_apora be defined as ObjectProperty instead of Class?

I noticed that in seedling-ontology.ttl, some properties like ldcOnt:genafl_apora and ldcOnt:genafl_more are all defined as owl:Class. But since they can only show at rdf:predicate, shouldn't they be defined as owl:ObjectProperty?

In current seedling-ontology.ttl:

ldcOnt:genafl_apora  a   owl:Class ;
        rdfs:label       "General-Affiliation_Artifact-Political-Organization-Religious-Affiliation (APORA)" ;
        rdfs:subClassOf  aidaDomainCommon:RelationType .

For example:

ldc:E779987.00077  a  aif:Entity ;
        aif:system  ldc:LDCModelGenerator .
ldc:E779987.00075  a  aif:Entity ;
        aif:system  ldc:LDCModelGenerator .
ldc:R779987.00010  a     rdf:Statement ;
        rdf:object       ldc:E779987.00075 , ldc:E779987.00071 ;
        rdf:predicate    ldcOnt:genafl_apora ;
        rdf:subject      ldc:E779987.00077 ;

Installing Python code as a package fails

> pip install -e .
Obtaining file:///Users/gabbard/projects/gaia/aida-tools/repos/AIDA-Interchange-Format
    Complete output from command python setup.py egg_info:
    running egg_info
    creating gaia_interchange.egg-info
    writing gaia_interchange.egg-info/PKG-INFO
    writing dependency_links to gaia_interchange.egg-info/dependency_links.txt
    writing requirements to gaia_interchange.egg-info/requires.txt
    writing top-level names to gaia_interchange.egg-info/top_level.txt
    writing manifest file 'gaia_interchange.egg-info/SOURCES.txt'
    error: package directory 'tests' does not exist

Re-work ClusterMember and ClusterMembership

In the latest InterchangeOntology (as of 2018-08-08) there is a problem with ClusterMembership: Adding this class without adding any property to link it to the ClusterMember class makes it impossible to link an instance to a SameAsCluster.

See also the code review for AIF-8: #55 :

A new class has been introduced, ClusterMembership. ClusterMembership instances are linked to Enitites/Events/SameAsClusters via the clusterMember property. The original ClusterMember class is still there. ClusterMember instances are linked to SameAsClusters through the cluster property. However, there is no way to link ClusterMembership instances to ClusterMembers. Is this intentional? If so, how do we express that an entity or event is a member of a cluster? If there is not a good reason to separate ClusterMembership from ClusterMember, than I suggest we just stick with ClusterMember and connect that to Enitites/Events/SameAsClusters via the clusterMember property.

At the same time the InterchangeOntology has a ClusterMember class that is never used in AIFUtils.kt or defined in AidaAnnotationOntology.kt. InterchangeOntology does have a clusterMember property that is being used, but the domain in InterchangeOntology is ClusterMembership.

Python install fails on Windows

Installing the Python package fails on Windows because the where path passed to setuptools.find_packages() ends in a slash:

> pip install .
Processing e:\shared\coding\isi\2019-aida\repos\aida-interchange-format
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\crazy\AppData\Local\Temp\pip-req-build-91ixkqom\setup.py", line 18, in <module>
        packages=setuptools.find_packages(where='./python/', exclude=['tests']),
      File "c:\users\crazy\appdata\local\programs\python\python37\lib\site-packages\setuptools\__init__.py", line 58, in find
        convert_path(where),
      File "c:\users\crazy\appdata\local\programs\python\python37\lib\distutils\util.py", line 112, in convert_path
        raise ValueError("path '%s' cannot end with '/'" % pathname)
    ValueError: path './python/' cannot end with '/'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\crazy\AppData\Local\Temp\pip-req-build-91ixkqom\

Compilation not working with Java 11

It looks like a problem with my Java install, but I get a similar error on an Arch Linux machine that goes away when switching to Java 8. I've also tried git clean -xdf . and deleting ~/.m2.

Doing mvn compile:

[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------< com.ncc:aida-interchange >----------------------
[INFO] Building aida-interchange 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ aida-interchange ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 15 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.3:compile (default-compile) @ aida-interchange ---
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 6 source files to /Users/berquist/projects/aida/aida_interchange_format/repos/AIDA-Interchange-Format/target/classes
/Users/berquist/projects/aida/aida_interchange_format/repos/AIDA-Interchange-Format/src/main/java/com/ncc/aif/SeedlingOntologyMapper.java:8: error: cannot access HashSet
import java.util.HashSet;
                ^
  bad class file: /modules/java.base/java/util/HashSet.class
    class file has wrong version 55.0, should be 53.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.
1 error
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.414 s
[INFO] Finished at: 2019-01-23T17:15:55-05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.3:compile (default-compile) on project aida-interchange: Compilation failure -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

The environment:

Apache Maven 3.6.0 (97c98ec64a1fdfee7767ce5ffb20918da4f719f3; 2018-10-24T14:41:47-04:00)
Maven home: /usr/local/Cellar/maven/3.6.0/libexec
Java version: 11.0.2, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.2", arch: "x86_64", family: "mac"

slf4j implementation (logback) preventing log4j usage

the way the ValidateAIF logger is set up is causing problems: it's being cast to a logback logger which is causing runtime exceptions for non-logback implementations:

Caused by: java.lang.ClassCastException: org.apache.logging.slf4j.Log4jLogger cannot be cast to ch.qos.logback.classic.Logger
	at com.ncc.aif.ValidateAIF.<clinit>(ValidateAIF.java:59)

(we use log4j but this would happen with any other)

the way i have typically seen slf4j loggers initialized is like this:

  private static final Logger LOG = LoggerFactory.getLogger(Demo.class); // or whatever modifiers

this uses the slf4j backend but allows clients to plug whichever implementation they want at runtime - which is what slf4j is designed to do, to some extent, abstract away the implementation and provide a logging framework.

the way the current code is set up, the logger sets its own level to info to reduce verbosity (i'm guessing?) but this is perhaps better handled by adding configurations to make other noisy logging facilities quieter.

Output of ColdStart2Aif does not match current seedling ontology spellings/case

Example:

[ a       <http://www.w3.org/ns/shacl#ValidationReport> ;
  <http://www.w3.org/ns/shacl#conforms>
          false ;
  <http://www.w3.org/ns/shacl#result>
          [ a       <http://www.w3.org/ns/shacl#ValidationResult> ;
            <http://www.w3.org/ns/shacl#focusNode>
                    <urn:www.rpi.edu/neuralModel/russian/assertions/ce76a9c4-3773-454c-bd89-c991282b939d> ;
            <http://www.w3.org/ns/shacl#resultMessage>
                    "Object of type assertion must be an entity or event type" ;
            <http://www.w3.org/ns/shacl#resultPath>
                    rdf:object ;
            <http://www.w3.org/ns/shacl#resultSeverity>
                    <http://www.w3.org/ns/shacl#Violation> ;
            <http://www.w3.org/ns/shacl#sourceConstraintComponent>
                    <http://www.w3.org/ns/shacl#XoneConstraintComponent> ;
            <http://www.w3.org/ns/shacl#sourceShape>
                    _:b0 ;
            <http://www.w3.org/ns/shacl#value>
                    ldcOnt:CONFLICT.ATTACK
          ] ;

ontology has ldcOnt:CONFLICT_ATTACK

Use Ontology WG ontology values within AIF Mapper

The AIF mapper needs to support the ontology developed by the Ontology Working Group. To facilitate supporting updates or new versions of the ontology, it may read its events and relation types directly from the ontology file instead of from code. This will be added to the upcoming Java version only; there won't be a Kotlin equivalent.

The Seedling Ontology Mapper will continue to use the existing file (SeedlingOntologyMapper.kt)

See Next Century's Jira issue AIDA-303 by the same name.

deploy to maven central

hi, it'd be really useful to get this deployed to an OSS repo so that it's not necessary to clone the repo and mvn install it.

are there any procedural or legal concerns about doing this? if not, is this something we could take on?

Broken Build

The pull request #97 causes the ImagesToAIFTest.java test to fail. The line is:

require(baseUri.substring(1).contains(":")) {
"Base URI must contain a prefix followed by a colon separator" }

and the output of the test is:

16:48:10.305 [main] INFO mu.KLogging - Read header line as system URI www.isi.edu/testSystem

java.lang.IllegalArgumentException: Base URI must contain a prefix followed by a colon separator

at edu.isi.gaia.UuidIriGenerator.<init>(AIFUtils.kt:726)
at edu.isi.gaia.ImagesToAIF$Companion.createForSystemIri(imagesToAIF.kt:156)

I think that the problem is that the resources file that is being used in the test was not updated in accordance with the change in test.

Define subclasses of rdf:Statement for reified triples

Currently all or most reified statements are a rdf:Statement . It would be easier to process the AIF if the different reifications were instances of subclasses of a rdf:Statement. For example aida:RelationStatement, aida:RoleStatement

.

.

Update Examples

Add an example of the new relations
Move the vector example to the end and clean up (give it a valid uri)

Add rdfs:domain to InterchangeOntology:hasName, :textValue, and :numericValue

  1. Remove :Entity, :Event, and :Relation from InterchangeOntology.
  2. Add AidaDomainOntologiesCommon:Filler and `AidaDomainOntologiesCommon:NumericFiller.
  3. Consider adding another class to facilitate restrictions to InterchangeOntology:hasName.
  4. Update InterchangeOntology to use types from AidaDomainOntologiesCommon.
  5. Update aida_ontology.shacl to use types from AidaDomainOntologiesCommon.

Tests fail on main branch

If I do a mvn clean install I get the following output:

[WARNING] Tests run: 20, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 17.197 s - in edu.isi.gaia.ExamplesAndValidationTest
[INFO] Running edu.isi.gaia.ImagesToAifTest
14:48:10.669 [main] INFO mu.KLogging - Read header line as system URI www.isi.edu/testSystem
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.031 s <<< FAILURE! - in edu.isi.gaia.ImagesToAifTest
[ERROR] testImagesToAif Time elapsed: 0.031 s <<< ERROR!
java.lang.VerifyError:
Uninitialized object exists on backward branch 456
Exception Details:
Location:
edu/isi/gaia/ImagesToAIF$Companion$ImageMention$Companion.parseLinesToMention(Ljava/util/List;)Ledu/isi/gaia/ImagesToAIF$Companion$ImageMention; @505: goto
Reason:
Error exists in the bytecode
Bytecode:
0x0000000: 2b12 6cb8 0018 2bc0 006e 4d2c b900 7201
0x0000010: 009a 0007 04a7 0004 033d 1c9a 0017 1274
0x0000020: 3a04 bb00 7659 1904 b600 7ab7 007d c000
0x0000030: 7fbf 2b03 b900 3102 00c0 002d 4d2c b900
0x0000040: 8301 0010 089f 0034 bb00 8559 bb00 8759
0x0000050: b700 8812 8ab6 008e 2cb6 0091 1293 b600
0x0000060: 8e12 95b6 008e 2cb9 0083 0100 b600 98b6
0x0000070: 0099 b700 9ac0 007f bfbb 009c 59bb 009e
0x0000080: 592c 06b9 0031 0200 c000 1c3a 043a 113a
0x0000090: 103a 0f3a 0e19 04b8 00a4 3612 190e 190f
0x00000a0: 1910 1911 1512 2c07 b900 3102 00c0 001c
0x00000b0: 3a04 3612 3a11 3a10 3a0f 3a0e 1904 b800
0x00000c0: a436 1319 0e19 0f19 1019 1115 1215 13b7
0x00000d0: 00a7 bb00 9e59 2c08 b900 3102 00c0 001c
0x00000e0: 3a04 3a12 3a11 3a10 3a0f 3a0e 1904 b800
0x00000f0: a436 1319 0e19 0f19 1019 1119 1215 132c
0x0000100: 1006 b900 3102 00c0 001c 3a04 3613 3a12
0x0000110: 3a11 3a10 3a0f 3a0e 1904 b800 a436 1419
0x0000120: 0e19 0f19 1019 1119 1215 1315 14b7 00a7
0x0000130: b700 aa4e bb00 0859 2c03 b900 3102 00c0
0x0000140: 001c 2c04 b900 3102 00c0 001c b800 b02c
0x0000150: 05b9 0031 0200 c000 1c2d 2c10 07b9 0031
0x0000160: 0200 c000 1c3a 043a 133a 123a 113a 103a
0x0000170: 0f3a 0e19 04b8 00b6 3914 190e 190f 1910
0x0000180: 1911 1912 1913 1814 2bc0 00b8 04b8 00bd
0x0000190: c000 b83a 04b2 00c3 3a05 3914 3a13 3a12
0x00001a0: 3a11 3a10 3a0f 3a0e 1904 3a06 bb00 c559
0x00001b0: 1904 100a b800 c9b7 00cc c000 6e3a 0719
0x00001c0: 06b9 00d0 0100 3a08 1908 b900 d501 0099
0x00001d0: 002d 1908 b900 d901 003a 0919 0719 09c0
0x00001e0: 002d 3a0a 3a16 1905 190a b600 df3a 1719
0x00001f0: 1619 17b9 00e2 0200 57a7 ffcf 1907 c000
0x0000200: 2d3a 1619 0e19 0f19 1019 1119 1219 1318
0x0000210: 1419 16c0 00b8 b800 e6b7 00e9 b0
Stackmap Table:
append_frame(@24,Object[#110])
same_locals_1_stack_item_frame(@25,Integer)
full_frame(@50,{Object[#2],Object[#45],Integer},{})
full_frame(@121,{Object[#2],Object[#45],Object[#45]},{})
full_frame(@456,{Object[#2],Object[#45],Object[#45],Object[#156],Object[#184],Object[#219],Object[#184],Object[#110],Object[#210],Top,Top,Top,Top,Top,Uninitialized[#308],Uninitialized[#308],Object[#28],Object[#172],Object[#28],Object[#156],Double},{})
same_frame(@508)

    at edu.isi.gaia.ImagesToAifTest.testImagesToAif(ImagesToAifTest.java:40)

[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR] ImagesToAifTest.testImagesToAif:40 » Verify Uninitialized object exists on bac...
[INFO]
[ERROR] Tests run: 21, Failures: 0, Errors: 1, Skipped: 1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 51.568 s
[INFO] Finished at: 2018-08-15T14:48:17-04:00
[INFO] Final Memory: 63M/872M
[INFO] ------------------------------------------------------------------------

How to represent vectors in AIF?

Boyan said:

4. Solution - Vectorized Representations
    
       Since face recognition isn’t actually done at a raw pixel-to-pixel comparison level, but at a level of some vector, neural layer, or other model representation level (and an analogue exists for embedding-based EDL), instead of pushing  jpeg’s etc. from TA1 to TA2 through the TA1/TA2 interface, instead we push that vectorized representation through the interface. Then the gallery effectively resides in TA2 as attributes of individual PERSON KEs, but not in raw image form, but in (allowable) vectorized or neuralized representation. The owner of the representation (i.e., TA1) has to pass the representation-to-representation similarity function to TA2 to execute, because different TA1s may have their own private representations, and the TA2 teams aren’t responsible for producing media processing algorithms.  
    
        If the vectorized representation for an entity in the KB is a composite of multiple instances of an image, TA1 provides a function for updating that representation (but without access to all the raw images, i.e., by incrementally building an aggregate representation, one instance vector at a time) to be invoked by TA2.

       Note that for Phase 1 (and possibly Phase 2), we will only be exercising complete AIDA configurations with instances of ONE TA1 at a time; in other words, even though we might have 5 instances of TA1 for efficiency, they will all be instances of the same TA1 "system", or at least from the same performer.  In Phase 3, we'll worry about having TA1's from multiple performers play well together (and reuse a shared set of vector representations, or at least map them), and there were a couple of ideas for how to address that.

       Also note that subgraphs (or equivalent) of the TA2 KB (aka hypotheses) will be passed to TA1 to provide processing context.  Those subgraphs will include unique KE's, identified by KB unique id's. So it is possible that as a result of hypothesis-based TA1 processing, some entities will be uniquely identifiable via KB unique ID.  In that case, the TA1 to TA2 information transfer may include a KB ID for a postulated entity, to reduce work/ambiguity by TA2.

Approval for Public Release

We recieved approval for public release. I am going to add the Distribution Statement to the README.

This is in reply to your request for clearance of the following document:

  • AIDA Interchange Format Source Code [DISTAR Case 30322]

This document was cleared by DARPA on September 21, 2018. All copies should carry the Distribution Statement "A" (Approved for Public Release, Distribution Unlimited). If you have any questions, please contact the Public Release Center.

DARPA Public Release Center (PRC)
675 N. Randolph Street, Room 03-028
Arlington, VA 22203-1714
Main: (571) 218-4235

Installation failure using `mvn install`

After run mvn install, it will abort with Tests failures, showing the BUILD FAILURE.

[ERROR] Failures:
[ERROR]   ExamplesAndValidationTest$ValidExamples.createSeedlingEvent:278 expected: <true> but was: <false>
[INFO]
[ERROR] Tests run: 15, Failures: 1, Errors: 0, Skipped: 1

Environment:

Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-24T11:49:05-08:00)
Maven home: /usr/local/Cellar/maven/3.5.3/libexec
Java version: 10.0.1, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.13.5", arch: "x86_64", family: "mac"

The full message

[ERROR] Tests run: 14, Failures: 1, Errors: 0, Skipped: 1, Time elapsed: 3.38 s <<< FAILURE! - in edu.isi.gaia.ExamplesAndValidationTest
[ERROR] createSeedlingEvent  Time elapsed: 0.643 s  <<< FAILURE!
org.opentest4j.AssertionFailedError: expected: <true> but was: <false>
	at edu.isi.gaia.ExamplesAndValidationTest$ValidExamples.createSeedlingEvent(ExamplesAndValidationTest.java:278)

[INFO]
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR]   ExamplesAndValidationTest$ValidExamples.createSeedlingEvent:278 expected: <true> but was: <false>
[INFO]
[ERROR] Tests run: 15, Failures: 1, Errors: 0, Skipped: 1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 18.028 s
[INFO] Finished at: 2018-06-21T13:35:53-07:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.21.0:test (default-test) on project gaia-interchange-kotlin: There are test failures.
[ERROR]
[ERROR] Please refer to /Users/eric/Git/ISI/AIDA-Interchange-Format/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream.
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.21.0:test (default-test) on project gaia-interchange-kotlin: There are test failures.

Please refer to /Users/eric/Git/ISI/AIDA-Interchange-Format/target/surefire-reports for the individual test results.
Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream.
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:564)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoFailureException: There are test failures.

Please refer to /Users/eric/Git/ISI/AIDA-Interchange-Format/target/surefire-reports for the individual test results.
Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream.
    at org.apache.maven.plugin.surefire.SurefireHelper.throwException (SurefireHelper.java:240)
    at org.apache.maven.plugin.surefire.SurefireHelper.reportExecution (SurefireHelper.java:112)
    at org.apache.maven.plugin.surefire.SurefirePlugin.handleSummary (SurefirePlugin.java:354)
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked (AbstractSurefireMojo.java:1008)
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute (AbstractSurefireMojo.java:854)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:564)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

Output filesize varied greatly with FULL and SHATTER mode

With the latest build(6940c5a), using coldstart2AidaInterchange and the same parameters except the mode, the size of output file varied greatly. For SHATTER mode, it outputs 151 turtle files, and ~4.3GB in total. And for FULL mode, it only outputs one file with ~56MB. Is that normal?

My input parameters for SHATTER mode:

inputKBFile: /path/to/eng.cs
baseURI: http://www.isi.edu/aida
systemURI: http://www.rpi.edu/tinkerbell
mode: SHATTER
ontology: rpi_seedling
outputAIFDirectory: /path/to/output

and part of parameters for FULL mode

mode: FULL
outputAIFFile: /path/to/output.nt

Minor: Spelling error in InterchangeOntolgoy

Xi Jin pointed out that there was a spelling error in InterchangeOntology:

:cluster rdf:type owl:ObjectProperty ;
rdfs:domain :ClusterMember ;
rdfs:domain :ClusterMemberShip ;

That should be ClusterMembership (lower case 's').

Ontology imports

Use owl:imports to show what other ontologies the seedling and seedling-owl ontologies require (are based on).

v1.0.0 has SNAPSHOT dependency

the v1.0.0 release depends on a snapshot of the following library:

        <dependency>                                                                                                                                            
            <groupId>org.topbraid</groupId>                                                                                                                     
            <artifactId>shacl</artifactId>                                                                                                                      
            <version>1.2.0-SNAPSHOT</version>                                                                                                                   
        </dependency> 

because of this, the SNAPSHOT code could change and as a result the release code can change. it would be ideal to use a released version so that the SNAPSHOT code cannot change in some form or fashion.

are the features provided by this SNAPSHOT necessary or can a stable dependency be plugged in?

Add CanHaveNumericValue to NumericalValue

The Ontology generation process was adding CanHaveNumericValue to "Value", which does not exist in the Seedling annotations. Instead, the term is "NumericalValue". Add CanHaveNumericValue to that.

rdf_ontologies not included when Python package installed using setup.py

TL;DR version

In the develop branch, when setup.py is used to install the aida_interchange package, aida_interchange.rdf_ontologies is not included in the package because there is no __init__.py file in python/aida_interchange/rdf_ontologies/.

Problem

The setup.py tool in python/ uses setuptools.find_packages() to find any (sub)packages. Per the setuptools documentation:

find_packages() walks the target directory, filtering by inclusion patterns, and finds Python packages (any directory). Packages are only recognized if they include an __init__.py file.

Because there is no python/aida_interchange/rdf_ontologies/__init__.py file, setup.py will not include the aida_interchange.rdf_ontologies package when installing aida_interchange.

The file aida_interchange/aifutils.py has an import statement that assumes that aida_interchange.rdf_ontologies is installed:

from aida_interchange.rdf_ontologies import interchange_ontology   

but if aida_interchange is installed via setup.py, the above import statement will fail with the exception:

ModuleNotFoundError: No module named 'aida_interchange.rdf_ontologies'

Solution

Create an empty python/aida_interchange/rdf_ontologies/__init__.py file.

Misleading comment in SHACL

The SHACL file has:

aida:CompoundJustificationShape
   a sh:NodeShape ;
   sh:targetClass aida:CompoundJustification ;

   # must have at least two contained justifications
   sh:property [
     sh:path aida:containedJustification ;
     sh:xone (
       [sh:class aida:TextJustification]
       [sh:class aida:ImageJustification]
       [sh:class aida:AudioJustification]
       [sh:class aida:KeyFrameVideoJustification]
       [sh:class aida:ShotVideoJustification] ) ;
     sh:minCount 1 ] ;

   # justification must provide confidence
   sh:property aida:RequiredConfidencePropertyShape ;

   # may provide an optional source system
   sh:property aida:SystemPropertyShape .

So the aida:containedJustification property, sh:minCount 1, so the comment # must have at least two contained justifications is incorrect (and I believe NIST sometimes uses CompoundJustifications which are not in fact "compound" :-) )

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.