├── .github ├── dependabot.yml └── workflows │ ├── integration.yml │ ├── main.yml │ └── release.yml ├── .gitignore ├── .gitpod.dockerfile ├── .gitpod.yml ├── LICENSE ├── README.md ├── index.html └── sadl3 ├── Examples ├── Defaults │ ├── TestDefaults.sadl │ ├── TestOneLevelDefaults.sadl │ ├── TestThreeLevelDefaults.sadl │ └── TestTwoLevelDefaults.sadl ├── Readme.txt ├── SemanticsSeminar │ ├── .project │ ├── Circle1.sadl │ ├── Circle2.sadl │ ├── Graphs │ │ ├── Project.dot │ │ ├── SadlBuiltinFunctions.owl.dot │ │ └── SadlListModel.owl.dot │ ├── ImplicitModel │ │ ├── SadlBuiltinFunctions.sadl │ │ └── SadlImplicitModel.sadl │ ├── OwlModels │ │ ├── PadFilletExample.owl │ │ ├── PadFilletExample.rules │ │ ├── PeopleData.owl │ │ ├── PeopleData.rules │ │ ├── PeopleData1.owl │ │ ├── PeopleData2.owl │ │ ├── PeopleData3.owl │ │ ├── PeopleData3b.owl │ │ ├── PeopleData4.owl │ │ ├── PeopleData4b.owl │ │ ├── PeopleData5.owl │ │ ├── PeopleData5.rules │ │ ├── PeopleData6.owl │ │ ├── PeopleData6.rules │ │ ├── PeopleDataUQ.owl │ │ ├── PeopleDataUQ2.owl │ │ ├── PeopleModel.owl │ │ ├── PeopleModel.rules │ │ ├── PeopleModel1.owl │ │ ├── PeopleModel1.rules │ │ ├── PeopleModel2.owl │ │ ├── PeopleModel2.rules │ │ ├── PeopleModel3.owl │ │ ├── PeopleModel3.rules │ │ ├── PeopleModel4.owl │ │ ├── PeopleModel4.rules │ │ ├── PeopleModel5.owl │ │ ├── PeopleModel5.rules │ │ ├── PeopleModel6.owl │ │ ├── PeopleModel6.rules │ │ ├── PeopleModelUQ.owl │ │ ├── PeopleModelUQ.rules │ │ ├── PredicateLogic.owl │ │ ├── PredicateLogic.rules │ │ ├── PredicateLogic1.owl │ │ ├── PredicateLogic2.owl │ │ ├── PredicateLogic3.owl │ │ ├── PredicateLogic4.owl │ │ ├── PredicateLogic5.owl │ │ ├── PredicateLogic6.owl │ │ ├── PredicateLogic7.owl │ │ ├── PredicateLogic7.rules │ │ ├── Restrictions.owl │ │ ├── Restrictions1.owl │ │ ├── Restrictions2.owl │ │ ├── SadlBaseModel.owl │ │ ├── SadlBuiltinFunctions.owl │ │ ├── SadlImplicitModel.owl │ │ ├── SadlListModel.owl │ │ ├── Shapes.owl │ │ ├── Shapes.rules │ │ ├── Shapes2.owl │ │ ├── Shapes2.rules │ │ ├── Temporal.owl │ │ ├── configuration.rdf │ │ └── ont-policy.rdf │ ├── PadFilletExample.sadl │ ├── PeopleData.sadl │ ├── PeopleData1.sadl │ ├── PeopleData2.sadl │ ├── PeopleData3.sadl │ ├── PeopleData3b.sadl │ ├── PeopleData4.sadl │ ├── PeopleData4b.sadl │ ├── PeopleData5.sadl │ ├── PeopleData6.sadl │ ├── PeopleData6b.sadl │ ├── PeopleDataUQ.sadl │ ├── PeopleDataUQ2.sadl │ ├── PeopleModel.sadl │ ├── PeopleModel1.sadl │ ├── PeopleModel2.sadl │ ├── PeopleModel3.sadl │ ├── PeopleModel4.sadl │ ├── PeopleModel5.sadl │ ├── PeopleModel6.sadl │ ├── PeopleModelUQ.sadl │ ├── PredicateLogic.sadl │ ├── PredicateLogic1.sadl │ ├── PredicateLogic2.sadl │ ├── PredicateLogic3.sadl │ ├── PredicateLogic4.sadl │ ├── PredicateLogic5.sadl │ ├── PredicateLogic6.sadl │ ├── PredicateLogic7.sadl │ ├── Regression.test │ ├── Restrictions.sadl │ ├── Restrictions1.sadl │ ├── Restrictions2.sadl │ ├── Shapes.sadl │ ├── Shapes2.sadl │ ├── Temporal.sadl │ ├── externalmodels.url │ └── externalmodels │ │ └── Users │ │ └── 200005201 │ │ └── Downloads │ │ └── time-entry.owl └── TestSadl3Ide │ ├── .project │ ├── .settings │ └── com.ge.research.sadl.SADL.prefs │ ├── AmbiguousNameDetection │ ├── M1.sadl │ ├── M2.sadl │ └── M3.sadl │ ├── AnonRestrictions.sadl │ ├── CircularImports │ ├── NotCircular1a.sadl │ ├── NotCircular2.sadl │ ├── NotCircular3.sadl │ └── NotCircularRoot.sadl │ ├── ComplexUserdefinedDatatypes.sadl │ ├── ContentAssist │ ├── checkCA_33.sadl │ ├── checkCA_dateformat.sadl │ ├── checkCA_is_a.sadl │ ├── checkCA_subject_has5.sadl │ ├── checkCA_subject_has6.sadl │ ├── checkCA_subject_has7.sadl │ └── checkCA_subject_has8.sadl │ ├── DisjunctionInRule.sadl │ ├── DomainTypeChecking │ ├── EquivalentExample.sadl │ ├── Scenario1a.sadl │ ├── Scenario1b.sadl │ └── Scenario1c.sadl │ ├── EnumTest.sadl │ ├── Expressions │ └── Precedence.sadl │ ├── GeorgeAndMartha.sadl │ ├── GrammarCoverage.sadl │ ├── Graphs │ └── TestGraphConstruct.sadl1503411471483.dot │ ├── ImplicitModel │ ├── SadlBuiltinFunctions.sadl │ └── SadlImplicitModel.sadl │ ├── ManualTests │ ├── AmbiguousNames │ │ ├── Chemistry.sadl │ │ ├── Entertainment.sadl │ │ └── Government.sadl │ ├── ErrorFromCraig.sadl │ ├── FromJennyInvalid.sadl │ ├── FunctionalInverseFunctional.sadl │ ├── GH-808.sadl │ ├── Issue442.sadl │ ├── Issue445.sadl │ ├── Issue446.sadl │ ├── Issue454.sadl │ ├── Issue455.sadl │ ├── Issue471.sadl │ ├── LiteralOutOfRange.sadl │ ├── LiteralOutOfRangeLong.sadl │ ├── Precedence2.sadl │ ├── ProblemCharsInComments.sadl │ ├── TestGraphConstruct.sadl │ ├── VariableScope.sadl │ ├── cycle_excemption.sadl │ └── glguy447.sadl │ ├── MultipleInstances.sadl │ ├── OwlModels │ ├── AVF.owl │ ├── AgeOfMarthaIsAnInt.owl │ ├── AgeOfMarthaIsAnInt.rules │ ├── AnonRestrictions.owl │ ├── Baljit.owl │ ├── Baljit2.owl │ ├── CombinedCycle.owl │ ├── CustomAnnotations.owl │ ├── EnumTest.owl │ ├── FunctionalInverseFunctional.owl │ ├── GeorgeAndMartha.owl │ ├── GeorgeAndMartha.rules │ ├── GetInstance.owl │ ├── GetInstance.rules │ ├── GrammarCoverage.owl │ ├── GrammarCoverage.rules │ ├── HasTests.owl │ ├── HasTests.rules │ ├── InstancesOf.owl │ ├── Issue442.owl │ ├── Issue446.owl │ ├── Issue454.owl │ ├── Issue455.owl │ ├── Issue471.owl │ ├── ListOfList.owl │ ├── M1.owl │ ├── M2.owl │ ├── MultipleInstances.owl │ ├── MultipleReturnValueEquation.owl │ ├── MultipleReturnValueEquation.rules │ ├── MustVsCan.owl │ ├── NotCircular1a.owl │ ├── NotCircular2.owl │ ├── NotCircular3.owl │ ├── NotCircularRoot.owl │ ├── PathFindingTest.owl │ ├── Polygons.owl │ ├── Polygons.rules │ ├── Precedence2.owl │ ├── Precedence2.rules │ ├── ProblemCharsInComments.owl │ ├── PropertyInitializationAsRulePremise.owl │ ├── PropertyInitializationAsRulePremise.rules │ ├── QueryWithEmbeddedDecl.owl │ ├── RulePofS.owl │ ├── RulePofS.rules │ ├── RuleVariableAsDomain.owl │ ├── RuleVariableAsDomain.rules │ ├── RuleWithList.owl │ ├── RuleWithList.rules │ ├── SadlBaseModel.owl │ ├── SadlBuiltinFunctions.owl │ ├── SadlImplicitModel.owl │ ├── SadlImplicitModel.rules │ ├── SadlListModel.owl │ ├── Shapes.owl │ ├── Shapes.rules │ ├── ShowIF.owl │ ├── SingleReturnValueEquation.owl │ ├── SingleReturnValueEquation.rules │ ├── TerseRule.owl │ ├── TerseRule.rules │ ├── Test.owl │ ├── Test1.owl │ ├── Test1.rules │ ├── TestArticles.rules │ ├── TestGraphConstruct.owl │ ├── TestGraphPatternBuiltins.owl │ ├── TestGraphPatternBuiltins.rules │ ├── TestImportExternal.owl │ ├── ThereExistsTest.owl │ ├── ThereExistsTest.rules │ ├── TransBlank.owl │ ├── TransitiveProperty.owl │ ├── UpdateTests.owl │ ├── UpdateTests.rules │ ├── UserDefinedDataTypes.owl │ ├── UsingListExpression.owl │ ├── UsingNumericConstants.owl │ ├── VariableScope.owl │ ├── VariableScope.rules │ ├── WhimWham.owl │ ├── configuration.rdf │ ├── defaults.owl │ ├── glguy447.owl │ ├── instances.owl │ ├── ont-policy.rdf │ ├── rulevars.owl │ ├── rulevars.rules │ ├── rulevars2.owl │ ├── rulevars2.rules │ ├── testImportApvf.owl │ └── testimport.owl │ ├── OwlSubset.sadl │ ├── PropertyInitializationAsRulePremise.sadl │ ├── RdfSubset.sadl │ ├── Sandbox │ ├── AVF.sadl │ ├── AgeOfMarthaIsAnInt.sadl │ ├── Baljit.sadl │ ├── Baljit2.sadl │ ├── CombinedCycle.sadl │ ├── CustomAnnotations.sadl │ ├── DateTimeConversion.sadl │ ├── EquivalentClasses.sadl │ ├── ExpressionPrecedence.sadl │ ├── GH-430a.sadl │ ├── GH-430b.sadl │ ├── GH-430c.sadl │ ├── GH-437.sadl │ ├── GH-582.sadl │ ├── GH-597.sadl │ ├── GH-617.sadl │ ├── GH-773.sadl │ ├── GH407.sadl │ ├── GH516.sadl │ ├── GH594.sadl │ ├── GH828.sadl │ ├── GH837.sadl │ ├── GetInstance.sadl │ ├── HasTests.sadl │ ├── ImpliedPropertyInTest.sadl │ ├── InstancesOf.sadl │ ├── ListLengthQuery.sadl │ ├── ListOfList.sadl │ ├── ListOfList2.sadl │ ├── MultipleReturnValueEquation.sadl │ ├── MustVsCan.sadl │ ├── OwlFileToTestOwl2Sadl.sadl │ ├── PathFindingTest.sadl │ ├── QueryWithEmbeddedDecl.sadl │ ├── RulePofS.sadl │ ├── RuleVariableAsDomain.sadl │ ├── RuleWithList.sadl │ ├── SOSEq.sadl │ ├── SadlListModelTemplate.sadl │ ├── SameAsProperties.sadl │ ├── SeeExamples.sadl │ ├── ShowIF.sadl │ ├── SimplestEq.sadl │ ├── SingleReturnValueEquation.sadl │ ├── SubtleClassUse1.sadl │ ├── SubtleClassUse2.sadl │ ├── TerseRule.sadl │ ├── TestArticles.sadl │ ├── TestImportExternal.sadl │ ├── ThereExistsTest.sadl │ ├── TransitiveProperty.sadl │ ├── Turbine.tmpl │ ├── UnittedQuantityExample.sadl │ ├── WhimWham.sadl │ ├── WillHawkins1.sadl │ ├── instances.sadl │ ├── rulevars.sadl │ └── rulevars2.sadl │ ├── Shapes │ ├── Polygons.sadl │ ├── Shapes.sadl │ └── Test.sadl │ ├── SplitIRIInQuery.sadl │ ├── TabularImport │ ├── Diverse2.sadl │ ├── TranformBlank.tmpl │ ├── TranformDiverse.tmpl │ ├── TranformDiverse2.tmpl │ ├── TransBlank.sadl │ ├── test.csv │ ├── testimp.sadl │ └── testimport.sadl │ ├── Test1.sadl │ ├── TestGraphPatternBuiltins.sadl │ ├── TestSuite1.test │ ├── UpdateTests.sadl │ ├── UserDefinedDataTypes.sadl │ ├── UserDefinedDataTypes2.sadl │ ├── UserDefinedDatatypeInLine.sadl │ ├── UsingListExpression.sadl │ ├── UsingNumericConstants.sadl │ ├── ValidateWithQualifiedCardinality.sadl │ ├── externalmodels.url │ ├── externalmodels │ ├── sadl.sourceforge.net │ │ └── owl │ │ │ ├── apvf.owl │ │ │ ├── aulo.owl │ │ │ └── time-entry.owl │ └── tmp │ │ └── aulo.owl │ ├── test.sadl │ └── testImportApvf.sadl └── com.ge.research.sadl.parent ├── .antlr-generator-3.2.0-patch.jar ├── .gitignore ├── .jflex.jar ├── SADL mvn clean install.launch ├── com.ge.research.jena ├── .gitignore ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── log4j2.properties └── pom.xml ├── com.ge.research.sadl.applications ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── plugin.xml ├── pom.xml └── src │ └── com │ └── ge │ └── research │ └── sadl │ └── applications │ ├── Activator.java │ ├── SADLCli.java │ ├── SADLCliAppRuntimeModule.java │ └── SADLCliAppStandaloneSetup.java ├── com.ge.research.sadl.errorgenerator ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── html │ └── SadlErrorMessages.html ├── pom.xml └── src │ ├── com │ └── ge │ │ └── research │ │ └── sadl │ │ ├── errorgenerator │ │ ├── generator │ │ │ ├── SadlErrorGenerator.java │ │ │ └── SadlErrorMessages.java │ │ └── messages │ │ │ └── SadlErrorMessage.java │ │ └── errorgeneratorbase │ │ └── ErrorGeneratorBase.java │ └── sadlMessages.properties ├── com.ge.research.sadl.externalmodels ├── META-INF │ └── MANIFEST.MF ├── README.md ├── build.properties ├── icons │ └── sample.gif ├── plugin.xml ├── pom.xml └── src │ └── com │ └── ge │ └── research │ └── sadl │ └── externalmodels │ ├── Activator.java │ ├── editors │ ├── UrlListEditor.java │ ├── UrlListEditorContributor.java │ ├── UrlListScanner.java │ ├── UrlListSourceViewerConfig.java │ └── UrlListTextEditor.java │ └── wizards │ ├── NewUrlListWizardPage.java │ └── UrlListWizard.java ├── com.ge.research.sadl.feature ├── build.properties ├── feature.xml ├── pom.xml └── rootfiles │ ├── SADLCli.sh │ ├── SadlConfiguration.xml │ ├── change-user.sh │ ├── entrypoint.sh │ ├── log4j2.properties │ └── workspace │ └── .gitignore ├── com.ge.research.sadl.ide ├── .gitignore ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── pom.xml └── src │ └── com │ └── ge │ └── research │ └── sadl │ └── ide │ ├── SADLIdeModule.xtend │ ├── SADLIdeSetup.xtend │ ├── SadlRunSocketServer.xtend │ ├── SadlServerLauncher.xtend │ ├── SadlServerModule.xtend │ ├── builder │ └── SadlIdeIncrementalBuilder.xtend │ ├── editor │ ├── coloring │ │ └── SadlIdeHighlightingConfiguration.xtend │ └── contentassist │ │ ├── DataTypePropertyInterruptException.java │ │ ├── IOntologyContextProvider.xtend │ │ ├── ProposalProviderFilterProvider.xtend │ │ ├── ProposalProviderValidationAcceptor.xtend │ │ ├── SadlContentAssistContextFactory.xtend │ │ ├── SadlIdeContentProposalPriorities.xtend │ │ ├── SadlIdeContentProposalProvider.xtend │ │ ├── SadlIdeCrossrefProposalProvider.xtend │ │ └── SadlOntologyContextProvider.xtend │ ├── external │ └── SadlIdeExternalEmfResourcePredicate.xtend │ ├── handlers │ ├── SadlGraphVisualizerHandler.xtend │ ├── SadlIdeActionHandler.xtend │ ├── SadlRunInferenceHandler.java │ └── SadlRunQueryHandler.java │ ├── lsp │ └── extension │ │ ├── ISadlLanguageServerExtension.xtend │ │ ├── SadlLanguageServer.xtend │ │ ├── SadlLanguageServerExtension.xtend │ │ ├── SadlProjectManager.xtend │ │ └── SadlWorkspaceManager.xtend │ ├── preferences │ └── SadlIdePreferenceValuesProvider.xtend │ ├── rename │ ├── SadlIdeRenameService.xtend │ └── SadlResourceRenameHelper.java │ ├── scoping │ └── SadlIdeGlobalScopeProviderFilterProvider.xtend │ └── validator │ └── SadlIdeResourceValidator.xtend ├── com.ge.research.sadl.importer.ide ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── pom.xml └── src │ └── com │ └── ge │ └── research │ └── sadl │ └── importer │ └── ide │ ├── TemplateIdeModule.xtend │ └── TemplateIdeSetup.xtend ├── com.ge.research.sadl.importer.tests ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── pom.xml └── src │ └── com │ └── ge │ └── research │ └── sadl │ └── importer │ └── tests │ └── TemplateParsingTest.xtend ├── com.ge.research.sadl.importer.ui.tests ├── META-INF │ └── MANIFEST.MF ├── build.properties └── pom.xml ├── com.ge.research.sadl.importer.ui ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── plugin.xml ├── pom.xml └── src │ └── com │ └── ge │ └── research │ └── sadl │ └── importer │ └── ui │ ├── TemplateUiModule.xtend │ ├── contentassist │ └── TemplateProposalProvider.xtend │ ├── labeling │ ├── TemplateDescriptionLabelProvider.xtend │ └── TemplateLabelProvider.xtend │ ├── outline │ └── TemplateOutlineTreeProvider.xtend │ └── quickfix │ └── TemplateQuickfixProvider.xtend ├── com.ge.research.sadl.importer ├── .launch │ └── Generate Template (tmpl) Language Infrastructure.launch ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── plugin.xml ├── pom.xml └── src │ └── com │ └── ge │ └── research │ └── sadl │ └── importer │ ├── GenerateTemplate.mwe2 │ ├── Template.xtext │ ├── TemplateRuntimeModule.xtend │ ├── TemplateStandaloneSetup.xtend │ ├── generator │ └── TemplateGenerator.xtend │ ├── scoping │ ├── TemplateQualifiedNameProvider.xtend │ └── TemplateScopeProvider.xtend │ └── validation │ └── TemplateValidator.xtend ├── com.ge.research.sadl.jena-wrapper-for-sadl ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ ├── ge │ │ └── research │ │ │ └── sadl │ │ │ ├── jena │ │ │ ├── importer │ │ │ │ └── CsvImporter.java │ │ │ ├── reasoner │ │ │ │ ├── JenaReasonerPlugin.java │ │ │ │ ├── SadlReadFailureHandler.java │ │ │ │ ├── SimpleJenaTypedBuiltinFunctionHelper.java │ │ │ │ └── builtin │ │ │ │ │ ├── Abs.java │ │ │ │ │ ├── Acos.java │ │ │ │ │ ├── Asin.java │ │ │ │ │ ├── Assign.java │ │ │ │ │ ├── Atan.java │ │ │ │ │ ├── Average.java │ │ │ │ │ ├── CancellableBuiltin.java │ │ │ │ │ ├── Ceiling.java │ │ │ │ │ ├── Cos.java │ │ │ │ │ ├── CountMatches.java │ │ │ │ │ ├── CountUniqueMatches.java │ │ │ │ │ ├── DifferentFrom.java │ │ │ │ │ ├── Floor.java │ │ │ │ │ ├── GeUtils.java │ │ │ │ │ ├── GetClassFromConstraint.java │ │ │ │ │ ├── GetInstance.java │ │ │ │ │ ├── GreaterThan.java │ │ │ │ │ ├── ITypedBaseBuiltin.java │ │ │ │ │ ├── LessThan.java │ │ │ │ │ ├── List.java │ │ │ │ │ ├── ListConcat.java │ │ │ │ │ ├── ListSubtract.java │ │ │ │ │ ├── ListToString.java │ │ │ │ │ ├── Localname.java │ │ │ │ │ ├── Max.java │ │ │ │ │ ├── Min.java │ │ │ │ │ ├── Mod.java │ │ │ │ │ ├── NoSubjectsOtherThan.java │ │ │ │ │ ├── NoUnknownValues.java │ │ │ │ │ ├── NoValue.java │ │ │ │ │ ├── NoValuesOtherThan.java │ │ │ │ │ ├── NotOnlyValue.java │ │ │ │ │ ├── OneOf.java │ │ │ │ │ ├── Pow.java │ │ │ │ │ ├── Print.java │ │ │ │ │ ├── Product.java │ │ │ │ │ ├── SameAs.java │ │ │ │ │ ├── Sin.java │ │ │ │ │ ├── Sqrt.java │ │ │ │ │ ├── StrAfter.java │ │ │ │ │ ├── StrBefore.java │ │ │ │ │ ├── SubtractDates.java │ │ │ │ │ ├── Sum.java │ │ │ │ │ ├── Tan.java │ │ │ │ │ ├── ThereExists.java │ │ │ │ │ ├── TypedBaseBuiltin.java │ │ │ │ │ ├── Unique.java │ │ │ │ │ └── utils │ │ │ │ │ ├── UnittedQuantity.java │ │ │ │ │ └── Utils.java │ │ │ └── translator │ │ │ │ └── JenaTranslatorPlugin.java │ │ │ └── jena_plugin │ │ │ ├── Activator.java │ │ │ └── SadlReadFailureHandler.java │ │ ├── naturalsemantics │ │ └── sadl │ │ │ └── jena │ │ │ └── reasoner │ │ │ └── builtin │ │ │ ├── BindingEnvironmentForEvaluation.java │ │ │ ├── CombineUnits.java │ │ │ ├── DeleteElementFromList.java │ │ │ ├── ElementAfter.java │ │ │ ├── ElementBefore.java │ │ │ ├── ElementInList.java │ │ │ ├── EvaluateSadlEquation.java │ │ │ ├── EvaluateSadlEquationUtils.java │ │ │ ├── FirstElement.java │ │ │ ├── Index.java │ │ │ ├── InsertElementInList.java │ │ │ ├── IsListHead.java │ │ │ ├── LastElement.java │ │ │ ├── ListLength.java │ │ │ ├── RuleContextForEvaluation.java │ │ │ └── SadlListToString.java │ │ └── naturalsemanticsllc │ │ └── sadl │ │ ├── reasoner │ │ └── JenaAugmentedReasonerPlugin.java │ │ └── translator │ │ └── JenaAugmentedTranslatorPlugin.java │ └── test │ ├── java │ └── com │ │ ├── ge │ │ └── research │ │ │ └── sadl │ │ │ └── jena │ │ │ ├── TestIsDeleteOrInsert.java │ │ │ ├── importer │ │ │ └── CsvImporterDocExampleTest.java │ │ │ ├── inference │ │ │ ├── TestGetModelImports.java │ │ │ ├── TestJsEval.java │ │ │ ├── TestRegex.java │ │ │ └── TestShapesInference.java │ │ │ ├── multithreaded │ │ │ ├── JenaBareThread.java │ │ │ └── TestJenaBareThreads.java │ │ │ └── userdefineddatatypes │ │ │ └── TestUserDefinedDatatype.java │ │ └── naturalsemanticsllc │ │ └── sadl │ │ ├── evaleq │ │ └── TestJavaVarArgs.java │ │ └── translator │ │ └── TestTranslator.java │ └── resources │ └── TestModels │ ├── CsvImporterDocExample │ ├── OwlModels │ │ ├── Measurement.owl │ │ ├── SadlBaseModel.owl │ │ ├── SadlBuiltinFunctions.owl │ │ ├── SadlImplicitModel.owl │ │ ├── Turbine.owl │ │ └── ont-policy.rdf │ ├── mapping.tmpl │ └── testdata.csv │ ├── GH-620 │ └── UserDefinedDataTypes.sadl │ ├── Genealogy │ ├── AdamsFamily.owl │ ├── BST1.owl │ ├── BST2.owl │ ├── Genealogy1.owl │ ├── Genealogy1.rules │ ├── Logic1.owl │ ├── Logic1bb.owl │ ├── Owl1b.owl │ ├── Owl2b.owl │ ├── Owl3b.owl │ ├── Owl4b.owl │ ├── Owl5ab.owl │ ├── Owl5bb.owl │ ├── Owl5cb.owl │ ├── Owl5db.owl │ ├── SadlBaseModel.owl │ ├── SadlBuiltinFunctions.owl │ ├── SadlImplicitModel.owl │ ├── SadlListModel.owl │ ├── configuration.rdf │ └── ont-policy.rdf │ └── Shapes │ ├── SadlBaseModel.owl │ ├── SadlBuiltinFunctions.owl │ ├── SadlImplicitModel.owl │ ├── Test.owl │ ├── concepts.owl │ ├── configuration.rdf │ ├── ont-policy.rdf │ ├── specificshapes.owl │ └── specificshapes.rules ├── com.ge.research.sadl.jena.sorted-owl-ntriples ├── antbuild.xml ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── ge │ └── research │ └── sadl │ └── jena │ └── SortedOwlNtriples.java ├── com.ge.research.sadl.jena ├── .gitignore ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── plugin.xml ├── pom.xml └── src │ └── com │ └── ge │ └── research │ └── sadl │ ├── jena │ ├── DontTypeCheckException.java │ ├── IJenaBasedModelProcessor.java │ ├── IMetricsProcessor.java │ ├── IntermediateFormTranslator.java │ ├── JenaBasedSadlImportProcessor.java │ ├── JenaBasedSadlInferenceProcessor.java │ ├── JenaBasedSadlModelProcessor.java │ ├── JenaBasedSadlModelValidator.java │ ├── JenaProcessorException.java │ ├── MetricsProcessor.java │ ├── PropertyWithoutRangeException.java │ ├── SadlReadFailureHandler.java │ ├── SadlXSDDatatype.java │ ├── TypeCheckInfo.java │ ├── UtilsForJena.java │ ├── inference │ │ ├── InferenceCanceledException.java │ │ └── SadlReadFailureHandler.java │ └── missingpatterns │ │ ├── DirectedPath.java │ │ ├── MultiplePathsFoundException.java │ │ ├── PathFinder.java │ │ └── PathFindingException.java │ └── owl2sadl │ ├── OwlImportException.java │ └── OwlToSadl.java ├── com.ge.research.sadl.perspective ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── icons │ ├── 06-link.png │ └── releng_gears.gif ├── plugin.xml ├── pom.xml └── src │ └── com │ └── ge │ └── research │ └── sadl │ └── perspective │ ├── Activator.java │ ├── PerspectiveExecutableExtensionFactory.java │ ├── perspectives │ └── SADL.java │ └── util │ ├── Constants.java │ └── Util.java ├── com.ge.research.sadl.product ├── .dockerignore ├── Dockerfile ├── README.md ├── pom.xml └── sadl.product ├── com.ge.research.sadl.reasoner ├── com.ge.research.sadl.reasoner-api │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ ├── ge │ │ │ └── research │ │ │ │ └── sadl │ │ │ │ ├── importer │ │ │ │ ├── AbortDataRowException.java │ │ │ │ ├── ITabularDataImporter.java │ │ │ │ ├── SkipGroupException.java │ │ │ │ ├── SkipTripleException.java │ │ │ │ └── TemplateException.java │ │ │ │ ├── model │ │ │ │ ├── ClassRestrictionCondition.java │ │ │ │ ├── ConceptIdentifier.java │ │ │ │ ├── ConceptName.java │ │ │ │ ├── Explanation.java │ │ │ │ ├── ImportMapping.java │ │ │ │ ├── ModelError.java │ │ │ │ ├── PendingModelError.java │ │ │ │ ├── PrefixNotFoundException.java │ │ │ │ ├── SadlEnumeratedClass.java │ │ │ │ ├── SadlIntersectionClass.java │ │ │ │ ├── SadlResourceByRestriction.java │ │ │ │ ├── SadlUnionClass.java │ │ │ │ ├── gp │ │ │ │ │ ├── BuiltinElement.java │ │ │ │ │ ├── ConstantNode.java │ │ │ │ │ ├── EndWrite.java │ │ │ │ │ ├── Equation.java │ │ │ │ │ ├── Explain.java │ │ │ │ │ ├── FunctionSignature.java │ │ │ │ │ ├── GraphPatternElement.java │ │ │ │ │ ├── Junction.java │ │ │ │ │ ├── JunctionList.java │ │ │ │ │ ├── JunctionNode.java │ │ │ │ │ ├── Literal.java │ │ │ │ │ ├── NamedNode.java │ │ │ │ │ ├── NegatedExistentialQuantifier.java │ │ │ │ │ ├── Node.java │ │ │ │ │ ├── Print.java │ │ │ │ │ ├── ProxyNode.java │ │ │ │ │ ├── Query.java │ │ │ │ │ ├── RDFTypeNode.java │ │ │ │ │ ├── Read.java │ │ │ │ │ ├── Rule.java │ │ │ │ │ ├── SadlCommand.java │ │ │ │ │ ├── StartWrite.java │ │ │ │ │ ├── Test.java │ │ │ │ │ ├── TestResult.java │ │ │ │ │ ├── TripleElement.java │ │ │ │ │ ├── TypedEllipsisNode.java │ │ │ │ │ ├── UnknownNode.java │ │ │ │ │ ├── UntypedEllipsisNode.java │ │ │ │ │ ├── Update.java │ │ │ │ │ ├── ValueTableNode.java │ │ │ │ │ └── VariableNode.java │ │ │ │ ├── persistence │ │ │ │ │ ├── ISadlModelGetter.java │ │ │ │ │ ├── ISadlModelGetterPutter.java │ │ │ │ │ └── SadlPersistenceFormat.java │ │ │ │ └── visualizer │ │ │ │ │ └── IGraphVisualizer.java │ │ │ │ └── reasoner │ │ │ │ ├── AmbiguousNameException.java │ │ │ │ ├── ArgumentTypeValidationException.java │ │ │ │ ├── AvailablePlugin.java │ │ │ │ ├── BuiltinInfo.java │ │ │ │ ├── CircularDependencyException.java │ │ │ │ ├── ConfigurationException.java │ │ │ │ ├── ConfigurationItem.java │ │ │ │ ├── ConfigurationOption.java │ │ │ │ ├── FunctionNotSupportedException.java │ │ │ │ ├── IConfigurationManager.java │ │ │ │ ├── IConfigurationManagerForEditing.java │ │ │ │ ├── IReasoner.java │ │ │ │ ├── ITranslator.java │ │ │ │ ├── InferenceCanceledException.java │ │ │ │ ├── InvalidDerivationException.java │ │ │ │ ├── InvalidNameException.java │ │ │ │ ├── InvalidTypeException.java │ │ │ │ ├── ModelError.java │ │ │ │ ├── QueryCancelledException.java │ │ │ │ ├── QueryParseException.java │ │ │ │ ├── Reasoner.java │ │ │ │ ├── ReasonerNotFoundException.java │ │ │ │ ├── ReasonerTiming.java │ │ │ │ ├── ResultSet.java │ │ │ │ ├── RuleNotFoundException.java │ │ │ │ ├── SadlCommandResult.java │ │ │ │ ├── TranslationException.java │ │ │ │ ├── TripleNotFoundException.java │ │ │ │ └── utils │ │ │ │ ├── SadlUtils.java │ │ │ │ └── StringDataSource.java │ │ │ └── naturalsemanticsllc │ │ │ └── sadl │ │ │ └── reasoner │ │ │ ├── ITypedBuiltinFunctionHelper.java │ │ │ └── TypedBuiltinFunctionException.java │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── ge │ │ │ └── research │ │ │ └── sadl │ │ │ └── reasoner │ │ │ └── utils │ │ │ └── TestSadlUtils.java │ │ └── resources │ │ └── log4j2.properties ├── com.ge.research.sadl.reasoner-impl │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── ge │ │ │ └── research │ │ │ └── sadl │ │ │ ├── model │ │ │ ├── persistence │ │ │ │ ├── SadlJenaFileGetter.java │ │ │ │ ├── SadlJenaFileGetterPutter.java │ │ │ │ ├── SadlJenaSemTKGetter.java │ │ │ │ ├── SadlJenaSemTKGetterPutter.java │ │ │ │ ├── SadlJenaTDBGetter.java │ │ │ │ ├── SadlJenaTDBGetterPutter.java │ │ │ │ └── SadlModelGetter.java │ │ │ └── visualizer │ │ │ │ └── GraphVizVisualizer.java │ │ │ └── reasoner │ │ │ ├── ConfigurationManager.java │ │ │ ├── ConfigurationManagerFactory.java │ │ │ ├── ConfigurationManagerForEditing.java │ │ │ └── SadlReadFailureHandler.java │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── ge │ │ │ └── research │ │ │ └── sadl │ │ │ └── model │ │ │ └── visualizer │ │ │ └── TestGraphVizVisualizer.java │ │ └── resources │ │ └── log4j2.properties └── pom.xml ├── com.ge.research.sadl.server ├── com.ge.research.sadl.server.server-api │ ├── .gitignore │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── ge │ │ └── research │ │ └── sadl │ │ └── server │ │ ├── ISadlServer.java │ │ ├── ISadlServerMD.java │ │ ├── ISadlServerPE.java │ │ ├── NamedServiceNotFoundException.java │ │ └── SessionNotFoundException.java ├── com.ge.research.sadl.server.server-impl │ ├── .gitignore │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── com │ │ │ └── ge │ │ │ └── research │ │ │ └── sadl │ │ │ └── server │ │ │ ├── client │ │ │ ├── CmdLineSadlSampleClient.java │ │ │ └── SadlServerMain.java │ │ │ └── server │ │ │ ├── SadlServerImpl.java │ │ │ ├── SadlServerMDImpl.java │ │ │ └── SadlServerPEImpl.java │ │ └── test │ │ ├── java │ │ └── com │ │ │ └── ge │ │ │ └── research │ │ │ └── sadl │ │ │ └── server │ │ │ └── server │ │ │ ├── TestSadlServerDemo.java │ │ │ ├── TestSadlServerMD_Mobius.java │ │ │ └── TestSadlServerPEOnShapes.java │ │ ├── logback.xml │ │ └── resources │ │ └── DataModels │ │ └── ShapesDemo │ │ └── OwlModels │ │ ├── SadlServicesConfigurationConcepts.owl │ │ ├── ServicesConfig.owl │ │ ├── Triangle.rules │ │ ├── configuration.rdf │ │ ├── defaults.owl │ │ ├── ont-policy.rdf │ │ ├── otherExamples.owl │ │ ├── shape-rules.owl │ │ ├── shape-rules.rules │ │ ├── shapes-specific.owl │ │ ├── shapes-test.owl │ │ ├── shapes-top.owl │ │ ├── shapes.owl │ │ ├── shapes.rules │ │ ├── shapesNoRules.owl │ │ ├── shapesOldSyntax.owl │ │ └── shapesOldSyntax.rules └── pom.xml ├── com.ge.research.sadl.swi-prolog-plugin ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── pom.xml └── src │ ├── main │ └── java │ │ └── com │ │ └── ge │ │ └── research │ │ └── sadl │ │ └── swi_prolog │ │ ├── fileinterface │ │ └── FileInterface.java │ │ ├── plinterface │ │ ├── ISWIPrologServiceInterface.java │ │ ├── PlServiceFailedException.java │ │ ├── PlServiceInterface.java │ │ ├── PlServiceInterfaceRunnable.java │ │ ├── SWIPrologServiceInterface.java │ │ └── SWIPrologServiceInterfaceThreaded.java │ │ ├── plugin │ │ └── Activator.java │ │ ├── reasoner │ │ └── SWIPrologReasonerPlugin.java │ │ └── translator │ │ └── SWIPrologTranslatorPlugin.java │ └── test │ ├── java │ └── com │ │ └── ge │ │ └── research │ │ └── sadl │ │ ├── swi_prolog │ │ └── translator │ │ │ └── TestTranslator.java │ │ └── swi_prolog_reasoner │ │ └── TestReasoner.java │ └── resources │ ├── DataModels │ ├── Likes │ │ └── test.sadl │ └── Shapes │ │ ├── .project │ │ ├── OwlModels │ │ ├── Rectangle.owl │ │ ├── Rectangle.pl │ │ ├── Rule.owl │ │ ├── Rule.pl │ │ ├── Rule.rules │ │ ├── RulePatternData.owl │ │ ├── RulePatterns.owl │ │ ├── Shapes.owl │ │ ├── Shapes.pl │ │ ├── Test.owl │ │ ├── Test.pl │ │ ├── configuration.rdf │ │ └── ont-policy.rdf │ │ ├── Rectangle.sadl │ │ ├── Rule.sadl │ │ ├── Shapes.sadl │ │ └── Test.sadl │ └── Prolog │ ├── prolog-service.pl │ ├── run-prolog-service.pl │ └── standard-declarations.pl ├── com.ge.research.sadl.swi-prolog.update ├── .project └── site.xml ├── com.ge.research.sadl.swi_prolog.feature ├── .project ├── build.properties └── feature.xml ├── com.ge.research.sadl.target ├── com.ge.research.sadl.target.target └── pom.xml ├── com.ge.research.sadl.tests ├── .gitignore ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── pom.xml └── src │ ├── com │ ├── ge │ │ └── research │ │ │ └── sadl │ │ │ ├── jena │ │ │ └── translator │ │ │ │ └── TestJenaTranslator.xtend │ │ │ ├── test │ │ │ └── inference │ │ │ │ └── SadlJenaOSTest.xtend │ │ │ └── tests │ │ │ ├── .gitignore │ │ │ ├── AbstractLinkingTest.xtend │ │ │ ├── AbstractSADLModelProcessorTest.xtend │ │ │ ├── AbstractSADLParsingTest.xtend │ │ │ ├── AbstractSadlTest.xtend │ │ │ ├── CopyQualifiedNameServiceTest.xtend │ │ │ ├── GH_154_CheckProcessorsTest.xtend │ │ │ ├── GH_162_ImplicitModelContentProviderTest.xtend │ │ │ ├── GH_164_TypeCheckInfoTest.xtend │ │ │ ├── GenerateTestCases.xtend │ │ │ ├── GrammarContextIDsTest.xtend │ │ │ ├── InstanceCreationParserTest.xtend │ │ │ ├── LexerTest.xtend │ │ │ ├── OWLDeclarationsAstTest.xtend │ │ │ ├── OWLDeclarationsParserTest.xtend │ │ │ ├── SADLNoopModelProcessorsInjectorProvider.xtend │ │ │ ├── SADLParsingTest.xtend │ │ │ ├── SadlCustomPreferencesTest.xtend │ │ │ ├── SadlEquationsParsingTest.xtend │ │ │ ├── SadlExpressionParserTest.xtend │ │ │ ├── SadlKeywordsTest.xtend │ │ │ ├── SadlLinkingTests.xtend │ │ │ ├── SadlResourceCommentProviderTest.xtend │ │ │ ├── SadlRuleParserTest.xtend │ │ │ ├── SadlTestAssertions.xtend │ │ │ ├── SadlTestHelper.xtend │ │ │ ├── StatementIsCompleteTest.xtend │ │ │ ├── external │ │ │ ├── ExternalEmfResourceTest.xtend │ │ │ └── ExternalResourceContentHelper.xtend │ │ │ ├── helpers │ │ │ ├── DotProjectContentProvider.xtend │ │ │ ├── SadlTestProjectStructureInitializer.xtend │ │ │ └── XtendTemplateHelper.xtend │ │ │ ├── imports │ │ │ ├── DependencyTraverserHelperTest.xtend │ │ │ ├── GH_147_ImportScopeOnBrokenASTTest.xtend │ │ │ ├── GH_200_SadlCyclicDependecyTest.xtend │ │ │ ├── ImportHelperTest.xtend │ │ │ └── SadlImportManagerProviderTest.xtend │ │ │ ├── lsp │ │ │ ├── AbstractSadlLanguageServerTest.xtend │ │ │ ├── SadlCompletionTest.xtend │ │ │ ├── SadlIdeTestIResourceServiceProviderRegistry.xtend │ │ │ ├── SadlIdeTestSetup.xtend │ │ │ └── SadlRenameTest.xtend │ │ │ ├── model │ │ │ ├── DeclarationExtensionsTest.xtend │ │ │ ├── ExtendedIFTest.xtend │ │ │ ├── SadlModelArticleTest.xtend │ │ │ ├── SadlModelManagerProviderTest.xtend │ │ │ ├── SadlModelProcessorAmbiguousNamesTest.xtend │ │ │ ├── SadlModelProcessorBasicsTest.xtend │ │ │ ├── SadlModelProcessorCircularImportsTest.xtend │ │ │ ├── SadlModelProcessorTypeCheckingTest.xtend │ │ │ └── SadlModelProcessorVariablesTest.xtend │ │ │ ├── naming │ │ │ ├── GH_145_IncorrectValueConverterServiceOutputTest.xtend │ │ │ └── GH_150_CannotCreateEObjectDescriptionWithBrokenASTTest.xtend │ │ │ ├── owl2sadl │ │ │ └── OwlToSadlTest.java │ │ │ ├── pathfinding │ │ │ └── OntologyPathFindingTest.xtend │ │ │ ├── query │ │ │ └── SadlQueryHelperTest.xtend │ │ │ ├── scoping │ │ │ ├── EquationStatementLinkingTest.xtend │ │ │ ├── QualifiedNameConverterTest.xtend │ │ │ ├── SadlLinkingTest.xtend │ │ │ └── ScopingTest.xtend │ │ │ └── validation │ │ │ └── ValidationTest.xtend │ └── naturalsemanticsllc │ │ └── sadl │ │ └── translator │ │ └── TestAugmentedJenaTranslator.xtend │ └── resources │ ├── Shapes │ ├── SadlBaseModel.owl │ ├── SadlBuiltinFunctions.owl │ ├── SadlImplicitModel.owl │ ├── SadlListModel.owl │ ├── Test.owl │ ├── concepts.owl │ ├── configuration.rdf │ ├── ont-policy.rdf │ ├── specificshapes.owl │ └── specificshapes.rules │ ├── apvf.owl │ └── aulo.owl ├── com.ge.research.sadl.testsuite.ide ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── pom.xml └── src │ └── com │ └── ge │ └── research │ └── sadl │ └── testsuite │ └── ide │ ├── TestSuiteIdeModule.xtend │ └── TestSuiteIdeSetup.xtend ├── com.ge.research.sadl.testsuite.tests ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── pom.xml └── src │ └── com │ └── ge │ └── research │ └── sadl │ └── testsuite │ └── tests │ └── TestSuiteParsingTest.xtend ├── com.ge.research.sadl.testsuite.ui.tests ├── META-INF │ └── MANIFEST.MF ├── build.properties └── pom.xml ├── com.ge.research.sadl.testsuite.ui ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── plugin.xml ├── pom.xml └── src │ └── com │ └── ge │ └── research │ └── sadl │ └── testsuite │ └── ui │ ├── TestSuiteUiModule.xtend │ ├── contentassist │ └── TestSuiteProposalProvider.xtend │ ├── labeling │ ├── TestSuiteDescriptionLabelProvider.xtend │ └── TestSuiteLabelProvider.xtend │ ├── outline │ └── TestSuiteOutlineTreeProvider.xtend │ └── quickfix │ └── TestSuiteQuickfixProvider.xtend ├── com.ge.research.sadl.testsuite ├── .launch │ └── Generate TestSuite (test) Language Infrastructure.launch ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── plugin.xml ├── pom.xml └── src │ └── com │ └── ge │ └── research │ └── sadl │ └── testsuite │ ├── GenerateTestSuite.mwe2 │ ├── TestSuite.xtext │ ├── TestSuiteRuntimeModule.xtend │ ├── TestSuiteStandaloneSetup.xtend │ ├── generator │ └── TestSuiteGenerator.xtend │ ├── scoping │ └── TestSuiteScopeProvider.xtend │ └── validation │ └── TestSuiteValidator.xtend ├── com.ge.research.sadl.ui.tests ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── pom.xml └── src │ └── com │ └── ge │ └── research │ └── sadl │ └── ui │ ├── test │ └── inference │ │ ├── AbstractSwiPrologTest.xtend │ │ ├── EquationEvaluationTest.xtend │ │ ├── GH_275_CheckTranslatorAndInferencerPluginTest.xtend │ │ ├── ImpliedExtendedPropertiesTest.xtend │ │ ├── SadlJenaOSTest.xtend │ │ ├── TestStatementTest.xtend │ │ ├── TestSwiProlog.xtend │ │ └── UnittedQuantityTest.xtend │ └── tests │ ├── AbstractSadlBuilderTest.xtend │ ├── AbstractSadlPlatformTest.xtend │ ├── DelagatingWorkspaceModifyOperation.xtend │ ├── GH_154_CheckProcessorsPluginTest.xtend │ ├── GH_162_ImplicitModelContentProviderPluginTest.xtend │ ├── GH_199_CheckAffectedResourcesTest.xtend │ ├── GH_523_ProjectDependenciesUITest.xtend │ ├── GeneratedOutputFormat.java │ ├── SadlIgnoreUnittedQuantitiyTest.xtend │ ├── SadlMissingInformationTest.xtend │ ├── SadlModelArticleUITest.xtend │ ├── SadlPreferencesTest.xtend │ ├── SadlRenameTest.xtend │ └── contentassist │ ├── AbstractSadlContentAssistTest.xtend │ ├── SadlContentAssistTest.xtend │ └── SadlOntologyContextTest.xtend ├── com.ge.research.sadl.ui ├── META-INF │ └── MANIFEST.MF ├── Models │ ├── RulePatterns.owl │ ├── SadlServicesConfigurationConcepts.owl │ ├── configuration.rdf │ ├── defaults.owl │ └── ont-policy.rdf ├── build.properties ├── icons │ ├── envvar_obj.gif │ └── import_folder.gif ├── plugin.xml ├── pom.xml ├── src │ └── com │ │ └── ge │ │ └── research │ │ └── sadl │ │ └── ui │ │ ├── CustomSadlHooks.java │ │ ├── OutputStreamStrategy.java │ │ ├── SADLUiModule.xtend │ │ ├── SadlEarlyStartup.java │ │ ├── SadlEclipseConsole.java │ │ ├── SadlEclipseConsoleListener.java │ │ ├── SadlImageRegistry.xtend │ │ ├── builder │ │ └── SadlUiModelManager.java │ │ ├── contentassist │ │ ├── SADLProposalProvider.xtend │ │ ├── SADLUiToIdeContentProposalProvider.java │ │ └── SadlReferenceProposalCreator.xtend │ │ ├── editor │ │ ├── AlwaysAddXtextNatureCallback.xtend │ │ ├── SadlCopyQualifiedNameService.java │ │ ├── SadlProblemAnnotationHover.xtend │ │ └── folding │ │ │ └── PatchedDefaultFoldingStructureProvider.java │ │ ├── external │ │ ├── EclipseNetworkProxyConfigurator.java │ │ ├── ExternalEmfBuilderParticipant.xtend │ │ ├── ExternalEmfUIResourceServiceProvider.xtend │ │ └── NetworkProxySettingsProvider.xtend │ │ ├── generator │ │ └── SadlShouldGenerate.xtend │ │ ├── handlers │ │ ├── GraphGeneratorHandler.java │ │ ├── OntologyGraphGeneratorHandler.java │ │ ├── RunInference.java │ │ ├── RunQuery.java │ │ └── SadlActionHandler.java │ │ ├── hover │ │ └── SadlEObjectHoverProvider.xtend │ │ ├── imports │ │ ├── CSVFileResourceImportPage1.java │ │ ├── CSVImportExportUtil.java │ │ ├── CsvImportOperation.java │ │ ├── GridDataUtil.java │ │ ├── ImportsDialog.java │ │ ├── MinimizedFileSystemElement.java │ │ ├── OwlFileImportWizard.java │ │ ├── OwlFileResourceImportPage1.java │ │ ├── OwlImportOperation.java │ │ ├── SADLImportMessages.java │ │ ├── SadlCSVImportWizard.java │ │ └── messages.properties │ │ ├── labeling │ │ ├── SADLDescriptionLabelProvider.xtend │ │ └── SADLLabelProvider.xtend │ │ ├── markers │ │ ├── EclipseMarkerSeverityMapper.xtend │ │ └── SadlMarkerStartup.xtend │ │ ├── outline │ │ ├── NoopOutlineRefreshJob.xtend │ │ └── SADLOutlineTreeProvider.xtend │ │ ├── preferences │ │ ├── FieldEditorExtensions.xtend │ │ ├── Messages.java │ │ ├── Messages.properties │ │ ├── ReasonerConfigurationDialog.java │ │ ├── SadlPreferenceStoreAccess.xtend │ │ ├── SadlPreferencesInitializer.java │ │ ├── SadlPreferencesProvider.java │ │ ├── SadlReasonerPreferencePage.java │ │ ├── SadlRootPreferencePage.java │ │ └── TranslatorConfigurationDialog.java │ │ ├── quickfix │ │ ├── SADLQuickfixProvider.xtend │ │ └── SadlQuickAssistProcessor.java │ │ ├── refactoring │ │ ├── EclipseRefactoringHelper.java │ │ ├── RefactoringExtensions.xtend │ │ ├── SadlReferenceUpdater.xtend │ │ ├── SadlRenameContextFactory.xtend │ │ ├── SadlRenameRefactoringController.xtend │ │ ├── SadlRenameRefactoringExecuter.java │ │ └── SadlResourceRenameStrategy.xtend │ │ ├── syntaxcoloring │ │ ├── SadlHighlightingConfiguration.xtend │ │ └── SadlTokenToAttributeIdMapper.xtend │ │ ├── visualize │ │ ├── GraphGenerator.java │ │ ├── GraphSegment.java │ │ └── OntologyGraphGenerator.java │ │ └── widgets │ │ ├── DoubleFieldEditor.java │ │ └── ReasonerSettingsTableFieldEditor.java └── templates │ └── templates.xml ├── com.ge.research.sadl.update ├── category.xml └── pom.xml ├── com.ge.research.sadl.xtextgenerator ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── pom.xml └── src │ └── com │ └── ge │ └── research │ └── sadl │ └── xtextgenerator │ ├── JFlexFragment.xtend │ ├── JFlexLoader.xtend │ └── SerializerDisablingStandardLanguage.java ├── com.ge.research.sadl ├── .antlr-generator-3.2.0-patch.jar ├── .gitignore ├── .jflex.jar ├── META-INF │ └── MANIFEST.MF ├── build.properties ├── plugin.xml ├── pom.xml ├── schema │ ├── sadl_implicit_model_fragment_provider.exsd │ ├── sadl_import_processor.exsd │ ├── sadl_inference_processor.exsd │ └── sadl_model_processor.exsd └── src │ └── com │ └── ge │ └── research │ └── sadl │ ├── GenerateSADL.mwe2 │ ├── SADL.flex │ ├── SADL.xtext │ ├── SADLRuntimeModule.xtend │ ├── SADLStandaloneSetup.xtend │ ├── ValueConverterService.xtend │ ├── builder │ ├── ConfigurationManagerForIDE.java │ ├── ConfigurationManagerForIdeFactory.java │ ├── IConfigurationManagerForIDE.java │ └── MessageManager.java │ ├── external │ ├── EclipseExternalEmfResourcePredicate.xtend │ ├── ExternalEmfModelDownloader.java │ ├── ExternalEmfResource.xtend │ ├── ExternalEmfResourceExtension.xtend │ ├── ExternalEmfResourceGenerator.xtend │ ├── ExternalEmfResourcePredicate.xtend │ ├── LazyResolvedSadlImport.xtend │ ├── NetworkProxyConfigurator.xtend │ ├── SadlIdeExternalEmfResourcePredicate.xtend │ └── XMLHelper.xtend │ ├── generator │ ├── ProcessorProviderBasedGenerator.xtend │ ├── SADLGenerator.xtend │ └── SADLOutputConfigurationProvider.xtend │ ├── markers │ ├── SadlMarker.err │ ├── SadlMarker.xsd │ ├── SadlMarker.xtend │ ├── SadlMarkerConstants.xtend │ ├── SadlMarkerDeserializerService.xtend │ ├── SadlMarkerLocationProvider.xtend │ ├── SadlMarkerSeverity.java │ └── SadlMarkerSeverityMapper.xtend │ ├── model │ ├── CircularDefinitionException.java │ ├── DeclarationExtensions.xtend │ ├── IDeclarationExtensionsContribution.xtend │ ├── OntConceptType.xtend │ └── SadlEObjectDocumentationProvider.xtend │ ├── parser │ └── ReaderCharStream.java │ ├── preferences │ └── SadlPreferences.java │ ├── processing │ ├── AbstractSadlProcessorProvider.xtend │ ├── IFTranslationError.java │ ├── IInferenceStatus.java │ ├── IModelProcessor.xtend │ ├── IModelProcessorProvider.xtend │ ├── ISadlImplicitModelContentProvider.xtend │ ├── ISadlImplicitModelFragmentProvider.xtend │ ├── ISadlImportProcessor.xtend │ ├── ISadlInferenceProcessor.xtend │ ├── ISadlModelValidator.xtend │ ├── ISadlOntologyHelper.xtend │ ├── I_IntermediateFormTranslator.java │ ├── OntModelProvider.java │ ├── SadlConstants.java │ ├── SadlImportProcessorProvider.xtend │ ├── SadlInferenceException.java │ ├── SadlInferenceProcessorProvider.xtend │ ├── SadlModelProcessor.java │ ├── SadlModelProcessorProvider.xtend │ ├── SadlOntologyHelper.xtend │ ├── SparqlQueries.java │ ├── ValidationAcceptor.xtend │ ├── ValidationAcceptorExt.xtend │ └── ValidationAcceptorImpl.xtend │ ├── query │ └── SadlQueryHelper.xtend │ ├── refactoring │ └── RefactoringHelper.xtend │ ├── resource │ ├── SadlResourceDescriptionManager.java │ ├── SadlResourceDescriptionStrategy.xtend │ └── UserDataHelper.xtend │ ├── scoping │ ├── AmbiguousNameErrorEObjectDescription.xtend │ ├── AmbiguousNameHelper.xtend │ ├── ErrorAddingLinkingService.java │ ├── GlobalScopeProviderFilterProvider.xtend │ ├── SADLScopeProvider.xtend │ ├── SadlQualifiedNameConverter.xtend │ ├── SadlQualifiedNameProvider.xtend │ ├── SilencedImportedNamesAdapter.java │ └── TestScopeProvider.java │ ├── utils │ ├── DependencyTraverserHelper.xtend │ ├── EclipseSadlProjectHelper.xtend │ ├── ImportHelper.xtend │ ├── JSONHelper.xtend │ ├── PathToFileUriConverter.xtend │ ├── ResourceManager.java │ ├── SadlASTUtils.xtend │ ├── SadlConsole.xtend │ ├── SadlIdeProjectHelper.xtend │ ├── SadlModelEquivalence.xtend │ ├── SadlProjectHelper.xtend │ ├── SadlQualifiedNameToStringService.xtend │ └── SadlResourceCommentProvider.xtend │ └── validation │ ├── IssueUtils.xtend │ ├── ResourceValidator.xtend │ ├── SADLValidator.xtend │ └── SoftLinkingMessageProvider.xtend ├── com.ge.research.sadl3.documentation ├── .project ├── Design │ ├── ArchitectureProcessErrors.html │ ├── BuildConfigMgrSSMAndMM.html │ ├── Imports.html │ ├── TowardAnEnglish-likeRepresentationV5.doc │ ├── VariablesAndTypeChecking.html │ └── configuration.rdf ├── PresentationsAndMisc │ ├── SemanticModeling.ppt │ ├── SemanticsSeminarPart1.pdf │ └── SemanticsSeminarPart2.pdf ├── README ├── SADL Build Instructions.html ├── Sadl3Development │ ├── Images │ │ └── EclipseInstaller1.png │ ├── Sadl3BuildInstructions.html │ ├── Setup.md │ ├── setup-step1.png │ ├── setup-step2.png │ ├── setup-step3.png │ ├── setup-step4.png │ ├── setup-step5.png │ ├── setup-step6.png │ ├── setup-step7.png │ └── setup-step8.png ├── SupportingMaterial │ ├── DistributionOnSourceForge.html │ ├── NewBuildJuno.html │ ├── Sadl.ppt │ └── SadlWhitePaper6.doc ├── ToBeIncluded.html ├── TrainingMaterial │ └── SemanticsSeminarPart1.pdf └── WebSite │ ├── Architecture.html │ ├── BuiltinsProvided.html │ ├── CustomJenaBuiltins.html │ ├── ImportingOWLintoSADL.html │ ├── JenaConfiguration.html │ ├── JenaReasonerInSadl.html │ ├── KnownIssues.html │ ├── MetaModelQueryLanguage.html │ ├── ModelNames.html │ ├── ModelsForTesting │ ├── TestGeSadl │ │ └── OwlModels │ │ │ ├── .mappings │ │ │ ├── AbhaTest.n3 │ │ │ ├── AbhaTest.owl │ │ │ ├── AbhaTest.rules │ │ │ ├── AddTo.n3 │ │ │ ├── AddTo.owl │ │ │ ├── AddTo.rules │ │ │ ├── AreaCalcsTable.n3 │ │ │ ├── AreaCalcsTable.owl │ │ │ ├── AreaCalcsTable.rules │ │ │ ├── BRep.n3 │ │ │ ├── BRep.owl │ │ │ ├── BRep.rules │ │ │ ├── CheckType.n3 │ │ │ ├── CheckType.owl │ │ │ ├── CheckType.rules │ │ │ ├── ExampleTemplate.tmpl │ │ │ ├── FacesAndEdges1.n3 │ │ │ ├── FacesAndEdges1.owl │ │ │ ├── FacesAndEdges1.rules │ │ │ ├── GetClassFromConstraintExample.n3 │ │ │ ├── GetClassFromConstraintExample.owl │ │ │ ├── GetClassFromConstraintExample.rules │ │ │ ├── GetClassFromConstraintExample2.n3 │ │ │ ├── GetClassFromConstraintExample2.owl │ │ │ ├── GetClassFromConstraintExample2.rules │ │ │ ├── GetInstanceNumberCreated.n3 │ │ │ ├── GetInstanceNumberCreated.owl │ │ │ ├── GetInstanceNumberCreated.rules │ │ │ ├── JenaCardinalityRestrictionNotReasoned.n3 │ │ │ ├── JenaCardinalityRestrictionNotReasoned.owl │ │ │ ├── JenaCardinalityRestrictionNotReasoned.rules │ │ │ ├── ListAdd.n3 │ │ │ ├── ListAdd.owl │ │ │ ├── ListAdd.rules │ │ │ ├── ListSubtract.n3 │ │ │ ├── ListSubtract.rules │ │ │ ├── ListTest.n3 │ │ │ ├── ListTest.owl │ │ │ ├── ListTest.rules │ │ │ ├── ListTest2.n3 │ │ │ ├── ListTest2.owl │ │ │ ├── ListTest2.rules │ │ │ ├── ListUnionIntersection.n3 │ │ │ ├── ListUnionIntersection.owl │ │ │ ├── ListUnionIntersection.rules │ │ │ ├── MappingRule.n3 │ │ │ ├── MappingRule.owl │ │ │ ├── MappingRule.rules │ │ │ ├── MappingRuleWithBuiltins.n3 │ │ │ ├── MappingRuleWithBuiltins.owl │ │ │ ├── MappingRuleWithBuiltins.rules │ │ │ ├── MinOfMultiValuedNumericProperty.n3 │ │ │ ├── MinOfMultiValuedNumericProperty.owl │ │ │ ├── MinOfMultiValuedNumericProperty.rules │ │ │ ├── MultiValuedExample.n3 │ │ │ ├── MultiValuedExample.owl │ │ │ ├── MultiValuedExample.rules │ │ │ ├── New.tmpl │ │ │ ├── NoInstanceHasPropertyRule.n3 │ │ │ ├── NoInstanceHasPropertyRule.owl │ │ │ ├── NoInstanceHasPropertyRule.rules │ │ │ ├── OwlRestrictions.n3 │ │ │ ├── OwlRestrictions.owl │ │ │ ├── OwlRestrictions.rules │ │ │ ├── SampleData.n3 │ │ │ ├── SampleData.owl │ │ │ ├── SummingCosts.n3 │ │ │ ├── SummingCosts.owl │ │ │ ├── SummingCosts.rules │ │ │ ├── TestDefaults.n3 │ │ │ ├── TestDefaults.owl │ │ │ ├── TestLlpRemainingLife.n3 │ │ │ ├── TestLlpRemainingLife.owl │ │ │ ├── TestLlpRemainingLife.rules │ │ │ ├── TestOneLevelDefaults.n3 │ │ │ ├── TestOneLevelDefaults.owl │ │ │ ├── TestOneLevelDefaults.rules │ │ │ ├── TestRemainingLifeAlt.n3 │ │ │ ├── TestRemainingLifeAlt.owl │ │ │ ├── TestRemainingLifeAlt.rules │ │ │ ├── TestThreeLevelDefaults.n3 │ │ │ ├── TestThreeLevelDefaults.owl │ │ │ ├── TestThreeLevelDefaults.rules │ │ │ ├── TestTwoLevelDefaults.n3 │ │ │ ├── TestTwoLevelDefaults.owl │ │ │ ├── TestTwoLevelDefaults.rules │ │ │ ├── ThingyMaGig.n3 │ │ │ ├── ThingyMaGig.owl │ │ │ ├── TurbineGenerator.n3 │ │ │ ├── TurbineGenerator.owl │ │ │ ├── UnionTest1.n3 │ │ │ ├── UnionTest1.owl │ │ │ ├── UnionTest2.n3 │ │ │ ├── UnionTest2.owl │ │ │ ├── UniqueListTest.n3 │ │ │ ├── UniqueListTest.owl │ │ │ ├── UniqueListTest.rules │ │ │ ├── aggregation.n3 │ │ │ ├── aggregation.owl │ │ │ ├── aggregation.rules │ │ │ ├── aggregation2.n3 │ │ │ ├── aggregation2.owl │ │ │ ├── aggregation2.rules │ │ │ ├── aggregation3.n3 │ │ │ ├── aggregation3.owl │ │ │ ├── aggregation3.rules │ │ │ ├── alternative.rules │ │ │ ├── concepts.rules │ │ │ ├── configuration.rdf │ │ │ ├── conversions.n3 │ │ │ ├── conversions.owl │ │ │ ├── conversions.rules │ │ │ ├── defRestrictions.n3 │ │ │ ├── defRestrictions.owl │ │ │ ├── defRestrictionsIndirect.n3 │ │ │ ├── defRestrictionsIndirect.owl │ │ │ ├── defaults.owl │ │ │ ├── defs.n3 │ │ │ ├── defs.owl │ │ │ ├── listSubtract.owl │ │ │ ├── mdShapes.n3 │ │ │ ├── mdShapes.owl │ │ │ ├── measurement.n3 │ │ │ ├── measurement.owl │ │ │ ├── ont-policy.rdf │ │ │ ├── shapeCalculations.n3 │ │ │ ├── shapeCalculations.owl │ │ │ ├── shapeCalculations.rules │ │ │ ├── shapes.n3 │ │ │ ├── shapes.owl │ │ │ ├── shapes.rules │ │ │ ├── shapesTest.n3 │ │ │ ├── shapesTest.owl │ │ │ ├── testConversion.n3 │ │ │ ├── testConversion.owl │ │ │ ├── testShapeCalculations.n3 │ │ │ ├── testShapeCalculations.owl │ │ │ ├── testShapeCalculationsBNode.n3 │ │ │ ├── testShapeCalculationsBNode.owl │ │ │ ├── validateShapeCalculations.n3 │ │ │ └── validateShapeCalculations.owl │ └── TestSadlIde │ │ └── OwlModels │ │ ├── .mappings │ │ ├── AllMembersPresent.nt │ │ ├── AllMembersPresent.owl │ │ ├── AllMembersPresent.rules │ │ ├── BRep.nt │ │ ├── BRep.owl │ │ ├── BRep.rules │ │ ├── Bug3434542.nt │ │ ├── Bug3434542.owl │ │ ├── Bug3453776 .rules │ │ ├── Bug3453776.nt │ │ ├── Bug3453776.owl │ │ ├── Bug3453776.rules │ │ ├── CircularImportA.nt │ │ ├── CircularImportA.owl │ │ ├── CircularImportB.nt │ │ ├── CircularImportB.owl │ │ ├── CrossModelRestrictionPart1.nt │ │ ├── CrossModelRestrictionPart1.owl │ │ ├── CrossModelRestrictionPart2.nt │ │ ├── CrossModelRestrictionPart2.owl │ │ ├── CustomLuceneIndexing.nt │ │ ├── CustomLuceneIndexing.owl │ │ ├── DateAndTime.nt │ │ ├── DateAndTime.owl │ │ ├── DoubleEqualInRule.nt │ │ ├── DoubleEqualInRule.owl │ │ ├── DoubleEqualInRule.rules │ │ ├── DuplicateImportPrefixLevel2.nt │ │ ├── DuplicateImportPrefixLevel2.owl │ │ ├── DuplicateImportPrefixLevel3.nt │ │ ├── DuplicateImportPrefixLevel3.owl │ │ ├── DuplicateImportPrefixTop.nt │ │ ├── DuplicateImportPrefixTop.owl │ │ ├── DuplicateImportPrefixTop.rules │ │ ├── Einstein5Houses.rules │ │ ├── F237434.nt │ │ ├── F237434.owl │ │ ├── FamilyRelationships.nt │ │ ├── FamilyRelationships.owl │ │ ├── FamilyRelationships.rules │ │ ├── FamilyRelationshipsDL.nt │ │ ├── FamilyRelationshipsDL.owl │ │ ├── FamilyRelationshipsDL.rules │ │ ├── FloatInRuleProblem.nt │ │ ├── FloatInRuleProblem.owl │ │ ├── FloatInRuleProblem.rules │ │ ├── GeorgeAndMartha.nt │ │ ├── GeorgeAndMartha.owl │ │ ├── GeorgeAndMartha.rules │ │ ├── GeorgeAndMarthaErr.nt │ │ ├── GeorgeAndMarthaErr.owl │ │ ├── GeorgeAndMarthaErr.rules │ │ ├── HyperLink1.nt │ │ ├── HyperLink1.owl │ │ ├── HyperLink2.nt │ │ ├── HyperLink2.owl │ │ ├── HyperLink2http.nt │ │ ├── HyperLink2http.owl │ │ ├── HyperLink3.nt │ │ ├── HyperLink3.owl │ │ ├── HyperLink3http.nt │ │ ├── HyperLink3http.owl │ │ ├── HyperLink4.nt │ │ ├── HyperLink4.owl │ │ ├── HyperLink4http.nt │ │ ├── HyperLink4http.owl │ │ ├── InferComments.nt │ │ ├── InferComments.owl │ │ ├── InferComments.rules │ │ ├── IsNotOfTypeRule.nt │ │ ├── IsNotOfTypeRule.owl │ │ ├── IsNotOfTypeRule.rules │ │ ├── IsNotRule.nt │ │ ├── IsNotRule.owl │ │ ├── IsNotRule.rules │ │ ├── JenaBuiltin.nt │ │ ├── JenaBuiltin.owl │ │ ├── JenaBuiltin.rules │ │ ├── Lincolns.nt │ │ ├── Lincolns.owl │ │ ├── MultipleSingleValues.nt │ │ ├── MultipleSingleValues.owl │ │ ├── NewlineInStrConcat.nt │ │ ├── NewlineInStrConcat.owl │ │ ├── NewlineInStrConcat.rules │ │ ├── NotClassRule.nt │ │ ├── NotClassRule.owl │ │ ├── NotClassRule.rules │ │ ├── NotEqualRule.nt │ │ ├── NotEqualRule.owl │ │ ├── NotEqualRule.rules │ │ ├── NotEqualRule2.nt │ │ ├── NotEqualRule2.owl │ │ ├── NotEqualRule2.rules │ │ ├── NotKnownTest.nt │ │ ├── NotKnownTest.owl │ │ ├── OverlappingEnumeration.nt │ │ ├── OverlappingEnumeration.owl │ │ ├── PeircesNesses.nt │ │ ├── PeircesNesses.owl │ │ ├── PeircesNesses.rules │ │ ├── PeircesNessesMotherhoodOne.nt │ │ ├── PeircesNessesMotherhoodOne.owl │ │ ├── PeircesNessesMotherhoodTwo.nt │ │ ├── PeircesNessesMotherhoodTwo.owl │ │ ├── PeircesNessesMotherhoodTwo.rules │ │ ├── PropOfPropOf.nt │ │ ├── PropOfPropOf.owl │ │ ├── PropOfPropOf.rules │ │ ├── QueryTest.nt │ │ ├── QueryTest.owl │ │ ├── QuickFixes.nt │ │ ├── QuickFixes.owl │ │ ├── RDFSTransitiveClosure.nt │ │ ├── RDFSTransitiveClosure.owl │ │ ├── RDFSTransitiveClosureWithRule.nt │ │ ├── RDFSTransitiveClosureWithRule.owl │ │ ├── RDFSTransitiveClosureWithRule.rules │ │ ├── RecursiveQuery.nt │ │ ├── RecursiveQuery.owl │ │ ├── RuleCommentIsComment.nt │ │ ├── RuleCommentIsComment.owl │ │ ├── RuleCommentIsComment.rules │ │ ├── RuleLiterals.nt │ │ ├── RuleLiterals.owl │ │ ├── RuleLiterals.rules │ │ ├── RuleRefBeforeDefinition.nt │ │ ├── RuleRefBeforeDefinition.owl │ │ ├── RuleRefBeforeDefinition.rules │ │ ├── RuleT1IsT2.nt │ │ ├── RuleT1IsT2.owl │ │ ├── RuleT1IsT2.rules │ │ ├── RuleTranslationTests.nt │ │ ├── RuleTranslationTests.owl │ │ ├── RuleTranslationTests.rules │ │ ├── RuleWarnings.nt │ │ ├── RuleWarnings.owl │ │ ├── RuleWarnings.rules │ │ ├── RuleWithMeta.nt │ │ ├── RuleWithMeta.owl │ │ ├── RuleWithMeta.rules │ │ ├── SelfImport.nt │ │ ├── SelfImport.owl │ │ ├── SubtractDates.nt │ │ ├── SubtractDates.owl │ │ ├── SubtractDates.rules │ │ ├── SummingCosts.rules │ │ ├── SwitchedSV.nt │ │ ├── SwitchedSV.owl │ │ ├── TestAliasLabels.nt │ │ ├── TestAliasLabels.owl │ │ ├── TestCanOnlyBeOneOfDatatypeProperty.nt │ │ ├── TestCanOnlyBeOneOfDatatypeProperty.owl │ │ ├── TestComparisonFailures.nt │ │ ├── TestComparisonFailures.owl │ │ ├── TestComparisons.nt │ │ ├── TestComparisons.owl │ │ ├── TestDirect.nt │ │ ├── TestDirect.owl │ │ ├── TestFamilyRelationships.nt │ │ ├── TestFamilyRelationships.owl │ │ ├── TestFamilyRelationshipsDL.nt │ │ ├── TestFamilyRelationshipsDL.owl │ │ ├── TestMustBeOfTypeRestriction.nt │ │ ├── TestMustBeOfTypeRestriction.owl │ │ ├── TestMustBeOneOfDatatypeProperty.nt │ │ ├── TestMustBeOneOfDatatypeProperty.owl │ │ ├── TestMustBeOneOfObjectProperty.nt │ │ ├── TestMustBeOneOfObjectProperty.owl │ │ ├── TestMustBeOneOfObjectPropertySingleValue.nt │ │ ├── TestMustBeOneOfObjectPropertySingleValue.owl │ │ ├── TestOnlyHasValuesOfType.nt │ │ ├── TestOnlyHasValuesOfType.owl │ │ ├── ThinkingOfPredicates.nt │ │ ├── ThinkingOfPredicates.owl │ │ ├── TransitiveCLosureOnProperties.nt │ │ ├── TransitiveCLosureOnProperties.owl │ │ ├── TransitiveClosureOnClasses.nt │ │ ├── TransitiveClosureOnClasses.owl │ │ ├── TransitiveClosureOnClasses.rules │ │ ├── Trig.nt │ │ ├── Trig.owl │ │ ├── Trig.rules │ │ ├── WhatIsIs.nt │ │ ├── WhatIsIs.owl │ │ ├── WhatIsIs.rules │ │ ├── abs.nt │ │ ├── abs.owl │ │ ├── abs.rules │ │ ├── annotation.nt │ │ ├── annotation.owl │ │ ├── baduris.nt │ │ ├── baduris.owl │ │ ├── configuration.rdf │ │ ├── defaults.owl │ │ ├── empty.nt │ │ ├── empty.owl │ │ ├── error1.nt │ │ ├── error1.owl │ │ ├── error1.rules │ │ ├── errorDualPropertyType.nt │ │ ├── errorDualPropertyType.owl │ │ ├── errorImportingError1.nt │ │ ├── errorImportingError1.owl │ │ ├── errorUndefinedConceptInRule.nt │ │ ├── errorUndefinedConceptInRule.owl │ │ ├── errorUndefinedConceptInRule.rules │ │ ├── fm234573.nt │ │ ├── fm234573.owl │ │ ├── fm234573.rules │ │ ├── genealogy.nt │ │ ├── genealogy.owl │ │ ├── genealogy.rules │ │ ├── hasValue.nt │ │ ├── hasValue.owl │ │ ├── min.nt │ │ ├── min.owl │ │ ├── min.rules │ │ ├── negation.nt │ │ ├── negation.owl │ │ ├── negation.rules │ │ ├── ont-policy.rdf │ │ ├── shape-rules.nt │ │ ├── shape-rules.owl │ │ ├── shape-rules.rules │ │ ├── shapes-rules-alt.nt │ │ ├── shapes-rules-alt.owl │ │ ├── shapes-rules-alt.rules │ │ ├── shapes-specific.nt │ │ ├── shapes-specific.owl │ │ ├── shapes-test.nt │ │ ├── shapes-test.owl │ │ ├── shapes-top.nt │ │ ├── shapes-top.owl │ │ ├── temp.nt │ │ ├── temp.owl │ │ ├── temp.rules │ │ ├── test.nt │ │ ├── test.owl │ │ ├── test.rules │ │ ├── test2.nt │ │ ├── test2.owl │ │ ├── testImportApvf.nt │ │ ├── testImportApvf.owl │ │ ├── urionly.nt │ │ ├── urionly.owl │ │ ├── validity1.nt │ │ ├── validity1.owl │ │ ├── validity2.nt │ │ └── validity2.owl │ ├── QSTutorial.html │ ├── S1793351X13500025.pdf │ ├── SWI-PrologReasonerPlugin.html │ ├── SadlGrammar.html │ ├── SadlGrammar.rtf │ ├── SadlGrammarNotes.html │ ├── SadlOverview.html │ ├── SadlWhitePaper6.pdf │ ├── SemanticModeling.pdf │ ├── SemanticPrimer.html │ ├── TestSadlIde.zip │ ├── Tips.html │ ├── TutorialOutline.html │ ├── TypedLists.html │ ├── UserDefinedDatatypes.html │ ├── Visualization.html │ ├── WhatWhyHow.html │ ├── faq.html │ ├── header.html │ ├── header.png │ ├── images │ ├── Archit1.gif │ ├── BicycleVD.gif │ ├── ComplexPattern.gif │ ├── Images.ppt │ ├── JenaCo1.jpg │ ├── JenaCo2.jpg │ ├── MammalVD1.gif │ ├── MammalVD2.gif │ ├── PlugInArch.gif │ ├── QSTuto10.gif │ ├── QSTuto11.gif │ ├── QSTuto12.jpg │ ├── QSTuto13.gif │ ├── QSTuto14.gif │ ├── QSTuto15.gif │ ├── QSTuto16.gif │ ├── QSTuto17.gif │ ├── QSTuto18.jpg │ ├── QSTuto19.gif │ ├── QSTuto20.gif │ ├── QSTuto21.gif │ ├── QSTuto22.gif │ ├── QSTuto23.gif │ ├── QSTuto3.gif │ ├── QSTuto4.gif │ ├── QSTuto5.gif │ ├── QSTuto6.gif │ ├── QSTuto7.gif │ ├── QSTuto8.gif │ ├── QSTuto9.gif │ ├── SadlTr1.gif │ ├── graphwithbnodes.gif │ ├── main.h1.jpg │ ├── sadl.h2.jpg │ ├── sadl.h3.jpg │ ├── sadl.h4.jpg │ ├── sadl.h5.jpg │ ├── sadl.h6.jpg │ ├── sadl.h7.jpg │ ├── sadl.h8.jpg │ ├── sadl.h9.gif │ ├── sadl2.1.gif │ ├── sadlQR1.gif │ ├── sadlQR2.gif │ ├── sadlQR3.gif │ └── sadlQR4.gif │ ├── index.html │ ├── log4j.properties │ ├── main.html │ ├── menu.html │ ├── pow.java.txt │ ├── readme.txt │ ├── sadl2.html │ ├── sadl3 │ ├── AugmentedTypes.html │ ├── BriefHistoryOfSADL.html │ ├── CardinalityAndListLength.html │ ├── CheckJavaVersion.html │ ├── Crapo_TypedListsV2.pdf │ ├── DeveloperSetup.html │ ├── ExpandedProperties.html │ ├── FoundationalConcepts.html │ ├── Implie1.jpg │ ├── Implie2.jpg │ ├── Implie3.jpg │ ├── ImpliedProperties.html │ ├── Intro2Sadl3.html │ ├── JavaDoc │ │ └── JavaAPI │ │ │ ├── allclasses-frame.html │ │ │ ├── allclasses-noframe.html │ │ │ ├── com │ │ │ └── ge │ │ │ │ └── research │ │ │ │ └── sadl │ │ │ │ └── server │ │ │ │ ├── ISadlServer.html │ │ │ │ ├── ISadlServerMD.html │ │ │ │ ├── ISadlServerPE.html │ │ │ │ ├── NamedServiceNotFoundException.html │ │ │ │ ├── SessionNotFoundException.html │ │ │ │ ├── class-use │ │ │ │ ├── ISadlServer.html │ │ │ │ ├── ISadlServerMD.html │ │ │ │ ├── ISadlServerPE.html │ │ │ │ ├── NamedServiceNotFoundException.html │ │ │ │ └── SessionNotFoundException.html │ │ │ │ ├── client │ │ │ │ ├── CmdLineSadlSampleClient.html │ │ │ │ ├── SadlServerMain.html │ │ │ │ ├── class-use │ │ │ │ │ ├── CmdLineSadlSampleClient.html │ │ │ │ │ └── SadlServerMain.html │ │ │ │ ├── package-frame.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ │ ├── package-frame.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ ├── package-use.html │ │ │ │ └── server │ │ │ │ ├── SadlServerImpl.html │ │ │ │ ├── SadlServerMDImpl.html │ │ │ │ ├── SadlServerPEImpl.html │ │ │ │ ├── TestSadlServerDemo.html │ │ │ │ ├── TestSadlServerMD_Mobius.html │ │ │ │ ├── TestSadlServerPEOnShapes.html │ │ │ │ ├── class-use │ │ │ │ ├── SadlServerImpl.html │ │ │ │ ├── SadlServerMDImpl.html │ │ │ │ ├── SadlServerPEImpl.html │ │ │ │ ├── TestSadlServerDemo.html │ │ │ │ ├── TestSadlServerMD_Mobius.html │ │ │ │ └── TestSadlServerPEOnShapes.html │ │ │ │ ├── package-frame.html │ │ │ │ ├── package-summary.html │ │ │ │ ├── package-tree.html │ │ │ │ └── package-use.html │ │ │ ├── constant-values.html │ │ │ ├── deprecated-list.html │ │ │ ├── help-doc.html │ │ │ ├── index-files │ │ │ ├── index-1.html │ │ │ ├── index-10.html │ │ │ ├── index-11.html │ │ │ ├── index-12.html │ │ │ ├── index-13.html │ │ │ ├── index-14.html │ │ │ ├── index-15.html │ │ │ ├── index-2.html │ │ │ ├── index-3.html │ │ │ ├── index-4.html │ │ │ ├── index-5.html │ │ │ ├── index-6.html │ │ │ ├── index-7.html │ │ │ ├── index-8.html │ │ │ └── index-9.html │ │ │ ├── index.html │ │ │ ├── overview-frame.html │ │ │ ├── overview-summary.html │ │ │ ├── overview-tree.html │ │ │ ├── package-list │ │ │ ├── script.js │ │ │ ├── serialized-form.html │ │ │ └── stylesheet.css │ ├── KnowledgeServer.html │ ├── NamedStructures.html │ ├── OwlAndSadl.html │ ├── SWI-PrologReasonerPlugin.html │ ├── SadlConstructs.html │ ├── SadlConstructs2.html │ ├── SadlConstructs_files │ │ ├── filelist.xml │ │ ├── image001.png │ │ └── image002.jpg │ ├── SadlGrammar.pdf │ ├── SadlGrammar.rtf │ ├── SadlIntermediateForm.html │ ├── SadlPreferences.html │ ├── SadlV3Installation.html │ ├── SadlVersion3.html │ ├── ThereExists.html │ ├── Visualization.html │ ├── WebSAD1.gif │ ├── WebSAD2.gif │ ├── WebSADL.html │ ├── WebSadlBackend.html │ ├── WhyAnOntology.html │ ├── developer │ │ ├── DeveloperIndex.html │ │ ├── Sadl3BuildInstructions.html │ │ └── UpdateSadl3Version.html │ ├── images │ │ ├── Augmen1.gif │ │ ├── Augmen2.jpg │ │ ├── Augmen3.jpg │ │ ├── Augmen4.jpg │ │ ├── AugmentedTypesMetaModel.jpg │ │ ├── ConstraintsAsGraph.png │ │ ├── Develo1.jpg │ │ ├── Develo2.gif │ │ ├── Develo3.jpg │ │ ├── Develo4.jpg │ │ ├── Develo5.jpg │ │ ├── Develo6.jpg │ │ ├── Develo7.jpg │ │ ├── Develo8.jpg │ │ ├── Founda1.jpg │ │ ├── ISadlServerPE1.JPG │ │ ├── Images.ppt │ │ ├── NASAExt1.png │ │ ├── NASAExt2.png │ │ ├── NASAExt3.png │ │ ├── NASAExt4.png │ │ ├── NASAExt5.png │ │ ├── NASAExt6.png │ │ ├── NASAExt7.png │ │ ├── NASAExt8.png │ │ ├── OwlAnd1.jpg │ │ ├── OwlAnd2.gif │ │ ├── OwlAnd3.jpg │ │ ├── OwlAnd4.jpg │ │ ├── OwlAnd5.jpg │ │ ├── SadlV31.gif │ │ ├── SteamBoiler.owl.png │ │ ├── WTD1.png │ │ ├── WTD10.png │ │ ├── WTD11.png │ │ ├── WTD2.png │ │ ├── WTD3.png │ │ ├── WTD4.png │ │ ├── WTD5.png │ │ ├── WTD6.png │ │ ├── WTD7.png │ │ ├── WTD8.png │ │ ├── WTD9.png │ │ ├── WebSAD1.jpg │ │ ├── WebSAD10.jpg │ │ ├── WebSAD11.jpg │ │ ├── WebSAD12.jpg │ │ ├── WebSAD13.gif │ │ ├── WebSAD2.jpg │ │ ├── WebSAD3.gif │ │ ├── WebSAD7.gif │ │ ├── WebSAD8.gif │ │ ├── WebSAD9.jpg │ │ ├── WebSADL20.png │ │ ├── WebSADLOverview.png │ │ ├── WebSadlCapture1.PNG │ │ ├── WebSadlCapture2.PNG │ │ ├── image001.png │ │ ├── image002.jpg │ │ └── test.png │ ├── sadl3.1.gif │ ├── sadl3.html │ ├── sadl3Bak.html │ └── sadl3_ImplicitModel.jpg │ ├── sadlQR.html │ ├── sadlv2release.html │ ├── shapesdemo.html │ ├── testsadlide.html │ ├── tuPrologSadlPlugin.html │ └── tutorial │ ├── Derivation.html │ ├── DomainTemplates.html │ ├── SadlTriplePatterns.html │ ├── beyondbasics.html │ ├── foundationalconcepts.html │ ├── images │ ├── ClassDiagram.gif │ ├── Domain5.jpg │ ├── Domain6.jpg │ ├── SubclassSubproperty.gif │ ├── beyond28.gif │ ├── beyond32.gif │ ├── founda24.gif │ ├── founda25.gif │ ├── founda26.gif │ ├── founda27.gif │ ├── reason29.gif │ ├── reason30.jpg │ ├── reason31.jpg │ ├── settin1.jpg │ ├── settin10.jpg │ ├── settin11.jpg │ ├── settin12.jpg │ ├── settin13.jpg │ ├── settin14.gif │ ├── settin15.jpg │ ├── settin16.gif │ ├── settin17.jpg │ ├── settin18.jpg │ ├── settin19.jpg │ ├── settin2.jpg │ ├── settin20.gif │ ├── settin21.gif │ ├── settin22.jpg │ ├── settin23.jpg │ ├── settin3.jpg │ ├── settin4.jpg │ ├── settin5.jpg │ ├── settin6.jpg │ ├── settin7.jpg │ ├── settin8.jpg │ ├── settin9.jpg │ └── theboxes.gif │ ├── importingowlfiles.html │ ├── index.html │ ├── owl_uml_mof.html │ ├── owl_uml_mof_files │ ├── filelist.xml │ ├── image001.png │ └── image002.gif │ ├── reasoningrulesqueries.html │ ├── settingupsadlide.html │ └── todo.html ├── pom.xml ├── sadl3.setup └── theia-sadl-extension ├── .gitignore ├── .vscode ├── launch.json ├── settings.json └── tasks.json ├── apps └── browser-app │ ├── Dockerfile │ └── package.json ├── lerna.json ├── package.json ├── packages └── sadl-extension │ ├── LICENSE │ ├── README.md │ ├── data │ ├── grammars │ │ └── sadl.tmlanguage.json │ └── themes │ │ └── sadl.color-theme.json │ ├── example-projects │ ├── coloring │ │ ├── .project │ │ ├── Circle.sadl │ │ ├── Rectangle.sadl │ │ ├── Shapes.sadl │ │ ├── Temp │ │ │ └── ErrorDocs │ │ │ │ ├── RequirementErrors.html │ │ │ │ └── SadlErrors.html │ │ └── Test.sadl │ ├── comments │ │ ├── .project │ │ └── Comments.sadl │ ├── externals │ │ ├── .project │ │ ├── base.sadl │ │ ├── extension.sadl │ │ └── externals.url │ └── query │ │ ├── .project │ │ ├── Polygons.sadl │ │ ├── Shapes.sadl │ │ ├── Test.sadl │ │ └── settings.json │ ├── package.json │ ├── src │ ├── browser │ │ ├── index.ts │ │ ├── protocol │ │ │ ├── sadl-project-root.ts │ │ │ ├── sadl-reload-externals.ts │ │ │ ├── sadl-run-query.ts │ │ │ └── sadl-test-model.ts │ │ ├── sadl-command-contribution.ts │ │ ├── sadl-frontend-module.ts │ │ ├── sadl-hide-hidden-files-contribution.ts │ │ ├── sadl-language-client-contribution.ts │ │ ├── sadl-menu-contribution.ts │ │ ├── sadl-monaco-language.ts │ │ ├── sadl-preferences.ts │ │ └── sadl-textmate-contribution.ts │ ├── common │ │ └── filesystem-ext.ts │ └── node │ │ ├── index.ts │ │ ├── node-filesystem-ext.ts │ │ ├── sadl-backend-module.ts │ │ └── sadl-language-server-contribution.ts │ └── tsconfig.json ├── scripts └── build-docker.sh └── yarn.lock /.gitpod.dockerfile: -------------------------------------------------------------------------------- 1 | FROM gitpod/workspace-full:latest 2 | 3 | USER root 4 | RUN apt-get update \ 5 | && apt-get install -y libx11-dev libxkbfile-dev \ 6 | && apt-get clean && rm -rf /var/cache/apt/* && rm -rf /var/lib/apt/lists/* && rm -rf /tmp/* 7 | 8 | USER gitpod 9 | RUN bash -c ". .nvm/nvm.sh \ 10 | && nvm install 10 \ 11 | && nvm use 10 \ 12 | && npm install -g yarn" 13 | 14 | USER root 15 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Semantic Application Design Language (SADL) 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /sadl3/Examples/Readme.txt: -------------------------------------------------------------------------------- 1 | This folder contains SADL projects that illustrate various SADL features and capabilities. 2 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | SemanticsSeminar 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.xtext.ui.shared.xtextBuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.xtext.ui.shared.xtextNature 16 | 17 | 18 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/Circle1.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/Circle1.sadl" alias Circle1. 2 | 3 | import "http://sadl.org/Circle2.sadl". -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/Circle2.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/Circle2.sadl" alias Circle2. 2 | 3 | import "http://sadl.org/Circle1.sadl". -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/OwlModels/PeopleModel1.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/PeopleModel1.sadl' 3 | 4 | @prefix rdf: 5 | @prefix PeopleModel1: 6 | 7 | [siblingRule: (?x rdf:type http://sadl.org/PeopleModel1.sadl#Person), (?x http://sadl.org/PeopleModel1.sadl#child ?y), (?x http://sadl.org/PeopleModel1.sadl#child ?z), notEqual(?y, ?z) -> (?y http://sadl.org/PeopleModel1.sadl#sibling ?z)] 8 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/OwlModels/PeopleModel2.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/PeopleModel2.sadl' 3 | 4 | @prefix PeopleModel2: 5 | @prefix rdf: 6 | 7 | [siblingRule: (?x rdf:type http://sadl.org/PeopleModel2.sadl#Person), (?x http://sadl.org/PeopleModel2.sadl#child ?y), (?x http://sadl.org/PeopleModel2.sadl#child ?z), notEqual(?y, ?z) -> (?y http://sadl.org/PeopleModel2.sadl#sibling ?z)] 8 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/OwlModels/PeopleModel3.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/PeopleModel3.sadl' 3 | 4 | @prefix PeopleModel3: 5 | @prefix rdf: 6 | 7 | [siblingRule: (?x rdf:type http://sadl.org/PeopleModel3.sadl#Person), (?x http://sadl.org/PeopleModel3.sadl#child ?y), (?x http://sadl.org/PeopleModel3.sadl#child ?z), notEqual(?y, ?z) -> (?y http://sadl.org/PeopleModel3.sadl#sibling ?z)] 8 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/OwlModels/PeopleModel4.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/PeopleModel4.sadl' 3 | 4 | @prefix PeopleModel4: 5 | @prefix rdf: 6 | 7 | [siblingRule: (?x rdf:type http://sadl.org/PeopleModel4.sadl#Person), (?x http://sadl.org/PeopleModel4.sadl#child ?y), (?x http://sadl.org/PeopleModel4.sadl#child ?z), notEqual(?y, ?z) -> (?y http://sadl.org/PeopleModel4.sadl#sibling ?z)] 8 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/OwlModels/PredicateLogic.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/PredicateLogic.sadl' 3 | 4 | @prefix rdf: 5 | @prefix pl: 6 | 7 | [siblingRule: (?x rdf:type http://sadl.org/PredicateLogic.sadl#Person), (?x http://sadl.org/PredicateLogic.sadl#child ?y), (?x http://sadl.org/PredicateLogic.sadl#child ?z), notEqual(?y, ?z) -> (?y http://sadl.org/PredicateLogic.sadl#sibling ?z)] 8 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/OwlModels/PredicateLogic7.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/PredicateLogic7.sadl' 3 | 4 | @prefix rdf: 5 | @prefix pl7: 6 | 7 | [siblingRule: (?x rdf:type http://sadl.org/PredicateLogic7.sadl#Person), (?x http://sadl.org/PredicateLogic7.sadl#child ?y), (?x http://sadl.org/PredicateLogic7.sadl#child ?z), notEqual(?y, ?z) -> (?y http://sadl.org/PredicateLogic7.sadl#sibling ?z)] 8 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/OwlModels/SadlBaseModel.owl: -------------------------------------------------------------------------------- 1 | 7 | 8 | Base model for SADL. These concepts can be used without importing. 9 | 10 | 11 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/PeopleDataUQ.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/PeopleDataUQ.sadl" alias PeopleDataUQ. 2 | 3 | import "http://sadl.org/PeopleModelUQ.sadl". 4 | 5 | Adam is a Person with age 50 yrs. 6 | 7 | 8 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/PeopleDataUQ2.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/PeopleDataUQ2.sadl" alias PeopleDataUQ2. 2 | 3 | import "http://sadl.org/PeopleModelUQ.sadl". 4 | 5 | Adam is a Person with age 50 yrs. 6 | 7 | Test: age of Adam is 50. 8 | Test: age of Adam is 50 yrs. 9 | 10 | 11 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/PredicateLogic1.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/PredicateLogic1.sadl" alias pl1. 2 | 3 | Person is a class. 4 | {Man, Woman} are types of Person. 5 | 6 | Adam is a Man. 7 | Eve is a Woman. 8 | 9 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/PredicateLogic2.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/PredicateLogic2.sadl" alias pl2. 2 | 3 | Person is a class. 4 | {Man, Woman} are types of Person. 5 | 6 | Adam is a Man. 7 | Eve is a Woman. 8 | 9 | Ask: p is a Person. 10 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/PredicateLogic3.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/PredicateLogic3.sadl" alias pl3. 2 | 3 | Person is a class. 4 | {Man, Woman} are types of Person. 5 | 6 | Adam is a Man. 7 | Eve is a Woman. 8 | child describes Person with values of type Person. 9 | Cain is a Person. 10 | Adam has child Cain. 11 | child of Eve is Cain. 12 | relationship of Person to Man is brother. 13 | Cain has brother (a Man Abel). 14 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/Regression.test: -------------------------------------------------------------------------------- 1 | Test:"http://sadl.org/PeopleData.sadl". 2 | Test: "http://sadl.org/PeopleData6.sadl". -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/Restrictions1.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/Restrictions1.sadl" alias rstrctns1. 2 | 3 | AnatomicalPart is a class. 4 | Hand is a type of AnatomicalPart. 5 | Digit is a type of AnatomicalPart. 6 | {Finger, Thumb} are types of Digit. 7 | 8 | digit describes Hand with values of type Digit. 9 | 10 | digit of Hand has exactly 5 values. 11 | 12 | digit of Hand has exactly 4 values of type Finger. 13 | digit of Hand has exactly 1 value of type Thumb. 14 | 15 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/Shapes.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/Shapes.sadl" alias Shapes. 2 | 3 | Shape is a class described by area with values of type float. 4 | 5 | Circle is a type of Shape described by radius with values of type float. 6 | 7 | Rule AreaOfCircle: if c is a Circle then area of c is PI * radius of c ^ 2. 8 | 9 | Rule AreaOfCircle2: then the area of a Circle is PI * the radius of the Circle ^2. 10 | 11 | MyCircle is a Circle with radius 1.0. 12 | 13 | Ask: area of a Circle. 14 | 15 | Explain: area of MyCircle. 16 | 17 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/Shapes2.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/Shapes2.sadl" alias Shapes2. 2 | 3 | Shape is a class described by area with values of type float. 4 | 5 | Circle is a type of Shape described by radius with values of type float. 6 | 7 | Rule AreaOfCircle: if c is a Circle then area of c is PI * radius of c ^ 2. 8 | 9 | Rule AreaOfCircle2: then the area of a Circle is PI * the radius of the Circle ^2. 10 | 11 | MyCircle is a Circle with radius 1.0. 12 | 13 | Ask: area of a Circle. 14 | 15 | Explain: area of MyCircle. 16 | 17 | Equation areaOfCircle(float radius) returns float : radius^2*PI. -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/Temporal.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/Temporal.sadl" alias Temporal. 2 | 3 | import "http://www.isi.edu/~pan/damltime/time-entry.owl" as teo. 4 | 5 | MyLife is an IntervalThing. 6 | MyBirth is an InstantThing. 7 | 8 | MyLife has inside MyBirth. 9 | -------------------------------------------------------------------------------- /sadl3/Examples/SemanticsSeminar/externalmodels.url: -------------------------------------------------------------------------------- 1 | --This is a list of URLs of OWL model files to add to the external models directory for this project. 2 | --TO DO: Add your list of URLs 3 | 4 | http://sadl.sourceforge.net/owl/time-entry.owl 5 | file:/C:/Users/200005201/Downloads/time-entry.owl 6 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | TestSadl3Ide 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.xtext.ui.shared.xtextBuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.xtext.ui.shared.xtextNature 16 | 17 | 18 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/AmbiguousNameDetection/M1.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/M1.sadl" alias M1. 2 | 3 | Rock is a class described by hardness with values of type decimal. 4 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/AmbiguousNameDetection/M2.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/M2.sadl" alias M2. 2 | 3 | Person is a class described by hardness with values of type Character. 4 | Character is a class, must be one of {Soft, Moderate, Hard}. 5 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/AmbiguousNameDetection/M3.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/M3.sadl" alias M3. 2 | 3 | import "http://sadl.org/M1.sadl". 4 | import "http://sadl.org/M2.sadl". 5 | 6 | George is a Person with hardness Moderate. 7 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/CircularImports/NotCircular1a.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/NotCircular1a.sadl" alias NotCircular1a. 2 | 3 | import "http://sadl.org/NotCircularRoot.sadl". 4 | 5 | Bar is a type of Foo. 6 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/CircularImports/NotCircular2.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/NotCircular2.sadl" alias NotCircular2. 2 | 3 | import "http://sadl.org/NotCircular1a.sadl". 4 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/CircularImports/NotCircular3.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/NotCircular3.sadl" alias NotCircular3. 2 | 3 | import "http://sadl.org/NotCircularRoot.sadl". 4 | import "http://sadl.org/NotCircular2.sadl". 5 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/CircularImports/NotCircularRoot.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/NotCircularRoot.sadl" alias NotCircularRoot. 2 | 3 | Foo is a class. -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ContentAssist/checkCA_33.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/y.sadl". 2 | Artefact is a class. 3 | Aircraft is a type of Artefact. 4 | W_IsSomethingWithW is a class. 5 | IsSomethingWithoutW is a class. 6 | MyAircraft is an Aircraft w -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ContentAssist/checkCA_dateformat.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/checkCA_dateformat.sadl" alias checkCA_dateformat. 2 | 3 | Person is a class described by birthdate with a single value of type date . 4 | {Man, Woman} are types of Person. 5 | 6 | Gender is a class, must be one of {Male, Female}. 7 | 8 | Man and Woman are disjoint . 9 | 10 | George is a Person with birthdate "12/24/1998". 11 | John is a Person with birthdate "1998-12-24". 12 | Mary is a Person with birthdate "24/12/1998". -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ContentAssist/checkCA_is_a.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/checkCA_is_a.sadl" alias checkCA_is_a. 2 | 3 | Person is a class described by birthdate with a single value of type date . 4 | {Man, Woman} are types of Person. 5 | 6 | Gender is a class, must be one of {Male, Female}. 7 | 8 | Man and Woman are disjoint . 9 | 10 | //Person is // try without and then with "...a " 11 | 12 | //NewName is a 13 | 14 | George is a Person with birthdate "12/24/1998". 15 | John is a Person with birthdate "1998-12-24". 16 | Mary is a Person with birthdate "24/12/1998". -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ContentAssist/checkCA_subject_has5.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/checkCA_subject_has5.sadl" alias checkCA_subject_has5. 2 | 3 | Person is a class described by dateOfBirth with values of type date . 4 | 5 | Rock is a class described by density with values of type float. 6 | 7 | GeorgeWashington (alias "George Washington") is a Person. 8 | 9 | GeorgeWashington has dateOfBirth 10 | 11 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ContentAssist/checkCA_subject_has6.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/checkCA_subject_has6.sadl" alias checkCA_subject_has6. 2 | 3 | Rock is a class described by density with values of type float. 4 | 5 | MyRock is a Rock, has density 6 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ContentAssist/checkCA_subject_has7.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/checkCA_subject_has7.sadl" alias checkCA_subject_has7. 2 | 3 | Rock is a class described by color with values of type string. 4 | 5 | MyRock is a Rock, has color 6 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ContentAssist/checkCA_subject_has8.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/checkCA_subject_has8.sadl" alias checkCA_subject_has8. 2 | 3 | Rock is a class described by shinny with values of type boolean. 4 | 5 | MyRock is a Rock, has shinny 6 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/DisjunctionInRule.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/DisjunctionInRule.sadl" alias DisjunctionInRule. 2 | 3 | Mammal is a class. 4 | {Dog, Cat} are types of Mammal. 5 | 6 | // Rule R1: if x is a Dog or x is a Cat then x is a Mammal. 7 | Rule R1: if x is a Dog or x is a Cat then x is a Mammal. 8 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/EnumTest.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/EnumTest.sadl" alias EnumTest. 2 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ManualTests/AmbiguousNames/Chemistry.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/Chemistry.sadl" alias chemistry. 2 | 3 | Agent (note "a chemically active power, principle, or substance") is a class. 4 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ManualTests/AmbiguousNames/Entertainment.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/Entertainment.sadl" alias entertainment. 2 | 3 | Agent (note "a business representative of an entertainer") is a class. 4 | 5 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ManualTests/AmbiguousNames/Government.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/Government.sadl" alias government. 2 | 3 | import "http://sadl.org/Chemistry.sadl" . 4 | import "http://sadl.org/Entertainment.sadl" . 5 | 6 | government:Agent is a class. 7 | 8 | BenedictArnold is an government:Agent. 9 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ManualTests/FromJennyInvalid.sadl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SemanticApplicationDesignLanguage/sadl/9a97abc06620297ff6b7020c6542539c74515ec6/sadl3/Examples/TestSadl3Ide/ManualTests/FromJennyInvalid.sadl -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ManualTests/FunctionalInverseFunctional.sadl: -------------------------------------------------------------------------------- 1 | uri "http://glguy.net/sadl/demo". 2 | 3 | C is a class. 4 | D is a class. 5 | p describes C with a single value of type string. 6 | p describes D with a single value of type string. 7 | //p has a single subject. 8 | //p has a single value. 9 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ManualTests/GH-808.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/GH-808.sadl" alias gh-808. 2 | 3 | Rule WhatEffect: then print("this is a rule"). 4 | 5 | Print: Deductions . 6 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ManualTests/Issue445.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/Issue445.sadl" alias Issue445. 2 | 3 | import "http://sadl.org/PeopleModel.sadl". 4 | 5 | son is child of sibling. 6 | 7 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ManualTests/Issue446.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/Issue446.sadl" alias i446. 2 | 3 | Person is a class. 4 | {Man, Woman} are types of Person. 5 | 6 | spouse describes Person with values of type Person. 7 | 8 | Marriage is a class, 9 | described by husband with values of type Man, 10 | described by wife with values of type Woman, 11 | described by location with values of type string, 12 | described by ^date with values of type date. 13 | 14 | George is a Person. 15 | 16 | A Marriage with spouse George. 17 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ManualTests/Issue454.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/Issue454.sadl" alias Issue454. 2 | 3 | CookedFood is a class described by cookingTime with values of type duration . 4 | 5 | Browies is a CookedFood with cookingTime 20 min. 6 | Cake is a CookedFood with cookingTime 20 minutes. 7 | Cookies is a CookedFood with cookingTime "PT20M". 8 | PotRoast is a CookedFood with cookingTime "2 hrs 10 min 30 sec". 9 | // Babe is a CookedFood with cookingTime "9 months". 10 | 11 | Ask: select x, ct where x has cookingTime ct. 12 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ManualTests/Issue455.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/Issue455.sadl" alias Issue455. 2 | 3 | Person is a class described by age with values of type int, described by gender with values of type Gender. 4 | Gender is a class, can only be one of {Male, Female}. 5 | 6 | Dan is a Person with gender Male, with age 30. 7 | 8 | Test: Dan is a Person with age 30, with gender Male. 9 | Test: Dan has age x and x < 40. 10 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ManualTests/Issue471.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/Issue471.sadl" alias Issue471. 2 | 3 | Person is a class described by sibling with values of type Person. 4 | 5 | {Man, Woman} are types of Person. 6 | 7 | sister is a type of sibling with values of type Woman. 8 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ManualTests/ProblemCharsInComments.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/ProblemCharsInComments.sadl" alias ProblemCharsInComments 2 | (alias "Model to highlight comment issues found in importing OWL models to SADL") 3 | (note "This document is published by the Provenance Working Group (http://www.w3.org/2011/prov/wiki/Main_Page).") . 4 | 5 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ManualTests/VariableScope.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/VariableScope.sadl" alias VariableScope. 2 | 3 | Shape is a class described by area with values of type float. 4 | Rectangle is a type of Shape described by height with values of type float, described by width with values of type float. 5 | Circle is a type of Shape described by radius with values of type float. 6 | 7 | Rule AreaOfRect: if x is a Rectangle then area of x is width of x * height of x. 8 | 9 | Rule AreaOfCircle: if x is a Circle then area of x is radius of x ^ 2 * PI. 10 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ManualTests/cycle_excemption.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/cycle_exemption.sadl" alias cycle_excemption. 2 | 3 | 4 | 5 | N is a class. 6 | 7 | S is a type of N 8 | 9 | described by p with values of type N. 10 | 11 | 12 | 13 | F is a type of S. 14 | 15 | NB is a type of S. 16 | 17 | 18 | 19 | i1 is a {F and N} 20 | // i1 is a F 21 | // i1 is a N 22 | 23 | has p i2. 24 | 25 | 26 | 27 | i2 is a N. 28 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/ManualTests/glguy447.sadl: -------------------------------------------------------------------------------- 1 | uri "http://glguy.net/sadl/alldifferentexample". 2 | 3 | C is a class. 4 | I is a C. 5 | J is a C. 6 | //K is a C. 7 | //L is a C. 8 | {I,J} are not the same. 9 | //K is not the same as L. 10 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/MultipleInstances.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/MultipleInstances.sadl" alias MultipleInstances. 2 | 3 | Actor is a class described by rating with values of type string. 4 | 5 | {John, James, Susan} are instances of Actor. 6 | 7 | John has rating "good". 8 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/OwlModels/AgeOfMarthaIsAnInt.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/AgeOfMarthaIsAnInt.sadl' 3 | 4 | @prefix AgeOfMarthaIsAnInt: 5 | 6 | [R1: (http://sadl.org/AgeOfMarthaIsAnInt.sadl#Martha http://sadl.org/AgeOfMarthaIsAnInt.sadl#age ?v0) -> (http://sadl.org/AgeOfMarthaIsAnInt.sadl#Martha http://sadl.org/AgeOfMarthaIsAnInt.sadl#age 3)] 7 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/OwlModels/GetInstance.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/GetInstance.sadl' 3 | 4 | @prefix GetInstance: 5 | @prefix rdf: 6 | 7 | [UnNamedChild: (?v0 rdf:type http://sadl.org/GetInstance.sadl#Parent) -> thereExists(?v2), (?v3 http://sadl.org/GetInstance.sadl#child ?v4)] 8 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/OwlModels/MultipleReturnValueEquation.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/MultipleReturnValueEquation.sadl' 3 | 4 | 5 | [UseIt: testMrveq(4, 3.14, ?y) -> print('Great!!'^^http://www.w3.org/2001/XMLSchema#string, ?x, ?y)] 6 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/OwlModels/Polygons.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/Polygons.sadl' 3 | 4 | @prefix rdf: 5 | @prefix Shapes: 6 | @prefix Polygons: 7 | 8 | [AreaOfRectangle: (?x rdf:type http://sadl.org/Polygons.sadl#Rectangle), (?x http://sadl.org/Polygons.sadl#height ?v0), (?x http://sadl.org/Polygons.sadl#width ?v1), product(?v0, ?v1, ?v2) -> (?x http://sadl.org/Shapes.sadl#area ?v2)] 9 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/OwlModels/RulePofS.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/RulePofS.sadl' 3 | 4 | @prefix RulePofS: 5 | @prefix rdf: 6 | 7 | [ClsProp: (?x rdf:type http://sadl.org/RulePofS.sadl#Cls) -> (?x http://sadl.org/RulePofS.sadl#prop 5)] 8 | [ClsProp2: (?x rdf:type http://sadl.org/RulePofS.sadl#Cls) -> (?x http://sadl.org/RulePofS.sadl#prop 5)] 9 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/OwlModels/RuleWithList.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/RuleWithList.sadl' 3 | 4 | @prefix RuleWithList: 5 | 6 | [testListVar: assign(http://sadl.org/RuleWithList.sadl#Scores,?x), length(http://sadl.org/RuleWithList.sadl#MyScores, ?y) -> print('length of list is'^^http://www.w3.org/2001/XMLSchema#string, ?y)] 7 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/OwlModels/Shapes.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/Shapes.sadl' 3 | 4 | @prefix rdf: 5 | @prefix shp: 6 | 7 | [AreaOfCircle: (?c rdf:type http://sadl.org/Shapes.sadl#Circle), (?c http://sadl.org/Shapes.sadl#radius ?v0), pow(?v0, 2, ?v1), product(?v1, 3.141592653589793, ?v2) -> (?c http://sadl.org/Shapes.sadl#area ?v2)] 8 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/OwlModels/SingleReturnValueEquation.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/SingleReturnValueEquation.sadl' 3 | 4 | 5 | [UseIt: piVal(?x) -> print('Great!!'^^http://www.w3.org/2001/XMLSchema#string, ?x)] 6 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/OwlModels/TerseRule.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/TerseRule.sadl' 3 | 4 | @prefix terserule: 5 | 6 | [TerseCircleArea: -> pow(http://sadl.org/TerseRule.sadl#radius, 2, ?v0), product(3.141592653589793, ?v0, ?v1), equal(http://sadl.org/TerseRule.sadl#area, ?v1)] 7 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/OwlModels/UpdateTests.rules: -------------------------------------------------------------------------------- 1 | # Jena Rules file generated by SADL IDE -- Do not edit! Edit the SADL model and regenerate. 2 | # Created from SADL model 'http://sadl.org/UpdateTests.sadl' 3 | 4 | @prefix UpdateTests: 5 | 6 | [LoveWhatYouOwn: (?x http://sadl.org/UpdateTests.sadl#owns ?y) -> (?x http://sadl.org/UpdateTests.sadl#loves ?y)] 7 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/OwlSubset.sadl: -------------------------------------------------------------------------------- 1 | uri "http://www.w3.org/2002/07/owl" alias owl. 2 | 3 | Restriction is a class described by onProperty with values of type class, 4 | described by onClass with values of type class, 5 | described by qualifiedCardinality with values of type int, 6 | described by maxQualifiedCardinality with values of type int. 7 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/PropertyInitializationAsRulePremise.sadl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SemanticApplicationDesignLanguage/sadl/9a97abc06620297ff6b7020c6542539c74515ec6/sadl3/Examples/TestSadl3Ide/PropertyInitializationAsRulePremise.sadl -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/RdfSubset.sadl: -------------------------------------------------------------------------------- 1 | uri "http://www.w3.org/1999/02/22-rdf-syntax-ns" alias rdf. 2 | 3 | ^type is a property. 4 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/AVF.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/AVF.sadl" alias AVF. 2 | 3 | Class1 is a class described by foo with values of type Class2. 4 | Class2 is a class. 5 | 6 | Inst1 is a Class2. 7 | Inst2 is a Class2. 8 | Inst3 is a Class2. 9 | 10 | foo of Class1 can only be one of {Inst1, Inst2}. 11 | 12 | // Class1 is a class described by foo with values of type Class2. 13 | // Class2 is a class, must be one of {Inst1, Inst2}. 14 | 15 | 16 | // Class1 is a class described by foo with values of type string. 17 | // Class2 is a class, must be one of {"2", "4"}. 18 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/AgeOfMarthaIsAnInt.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/AgeOfMarthaIsAnInt.sadl" alias AgeOfMarthaIsAnInt. 2 | 3 | Person is a class described by age with values of type data. 4 | Martha is a Person. 5 | 6 | Rule R1: if age of Martha is an int then Martha has age 3. 7 | 8 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/Baljit.sadl: -------------------------------------------------------------------------------- 1 | uri "http://ge.com/coreality/example". 2 | 3 | Location is a top-level class, 4 | described by within with values of type Location. 5 | 6 | Galaxy is a type of Location. 7 | 8 | Universe is a Location. 9 | MilkyWay is a Galaxy within Universe. 10 | 11 | Ask: within of MilkyWay. 12 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/Baljit2.sadl: -------------------------------------------------------------------------------- 1 | uri "http://ge.com/coreality/example2". 2 | 3 | Region is a top-level class, 4 | described by inside with a single value of type Region. 5 | 6 | Galaxy is a type of Region. 7 | MilkyWay is a Galaxy. 8 | 9 | //Print: Model. 10 | Print: "Hello". 11 | Print: 'World'. 12 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/CombinedCycle.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/CombinedCycle.sadl" alias cc. 2 | 3 | System is a class. 4 | Subsystem is a type of System. 5 | PowerPlant is a type of System. 6 | Equipment is a type of Subsystem. 7 | part describes System with values of type Subsystem. 8 | 9 | SteamTurbine is a type of Equipment. 10 | 11 | CombinedCycle is a type of PowerPlant. 12 | part of CombinedCycle has at least 1 value of type SteamTurbine. -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/CustomAnnotations.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/CustomAnnotations.sadl" alias CustomAnnotations. 2 | 3 | giberish is a type of annotation. 4 | 5 | AllThingsGood (alias "all things good", "good things", "things that are good") 6 | (note "This is a first comment", "this is a second comment") is a class. 7 | 8 | // TheBestThings is a type of AllThingsGood (alias "all good things"). 9 | 10 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/DateTimeConversion.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/DateTimeConversion.sadl" alias datetimeconversion. 2 | 3 | Artifact is a class described by generatedAtTime with values of type dateTime . 4 | 5 | // MyArtifact is an Artifact with generatedAtTime "2017-03-23T10:03:16-05:00". 6 | 7 | MyArtifact is an Artifact with generatedAtTime "2/4/2021 7:35 PM EST". -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/EquivalentClasses.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/EquivalentClasses.sadl" alias equivalentclasses. 2 | 3 | USCommanderInChief is a class. 4 | 5 | USPresident is the same as USCommanderInChief. 6 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/ExpressionPrecedence.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/ExpressionPrecedence.sadl" alias expressionprecedence. 2 | 3 | // Expr: w + x * y + z. 4 | 5 | Expr: not 2. 6 | 7 | // Expr: only 3. 8 | // 9 | Expr: not (only 4). 10 | // 11 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/GH-430a.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/base.sadl". 2 | Base is a class. 3 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/GH-430b.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/sub.sadl". 2 | import "http://sadl.org/base.sadl" as base. 3 | 4 | MySub is a Base. 5 | MySub is a base:Base. 6 | base:Base is a class. 7 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/GH-430c.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/GH-430c.sadl". 2 | 3 | import "http://sadl.org/base.sadl" as base. 4 | 5 | MySub is a Base. 6 | MySub is a base:Base. 7 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/GH-437.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/GH-437.sadl" alias GH-437. 2 | 3 | AnatomicalPart is a class. 4 | Hand is a type of AnatomicalPart. 5 | Digit is a type of AnatomicalPart. 6 | {Finger, Thumb} are types of Digit. 7 | 8 | The relationship of Hand to Digit is digit. 9 | // digit describes Hand with values of type Digit. 10 | 11 | digit of Hand has exactly 5 values. 12 | 13 | digit of Hand has exactly 4 values of type Finger. 14 | digit of Hand has exactly 1 value of type Thumb. 15 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/GH-582.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/GH-582.sadl" alias GH-582. 2 | 3 | AC is a class described by acprop with values of type boolean. 4 | BC is a type of AC. 5 | //Rule testr: if x is a AC or x is a BC then x acprop true. 6 | 7 | Ask: select x where x is an AC or x is a BC. 8 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/GH-597.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/GH-597.sadl" alias GH-597. 2 | 3 | Class1 is a class. 4 | Class2 is a class. 5 | Class3 is a class. 6 | prop1 describes Class1 with values of type Class2. 7 | prop2 describes prop1 with values of type Class3. 8 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/GH-617.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/GH-617.sadl" alias gh-617. 2 | 3 | D is a class. 4 | C is a class, 5 | described by p1 with values of type D, 6 | described by p2 with values of type string . 7 | 8 | p1 of C has at least one value of type D. 9 | p2 of C has at least one value of type string. 10 | p2 of C has at least 1 value of type string. 11 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/GH-773.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/GH-773.sadl" alias gh-773. 2 | 3 | dependsOn describes ^Equation with values of type ^Equation. 4 | 5 | External getFreeStream0(): "http://com.ge.research.sadl.darpa.aske.answer/TurboModified2_java#Turbo.Solver.getFreeStream0". 6 | getFreeStream0 has dependsOn getCp. 7 | External getCp(double temp, int opt) returns double: "http://com.ge.research.sadl.darpa.aske.answer/TurboModified2_java#Turbo.getCp". 8 | // getFreeStream0 has dependsOn getCp. 9 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/GH407.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/x.sadl". 2 | Shape is a class described by area with values of type float. 3 | Rectangle is a type of Shape, described by height with values of type float, described by width with values of type float. 4 | Circle is a type of Shape described by radius with values of type float. 5 | Test: width of // <|> // <-- I can see `Rectangle` here -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/GH516.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/GH516.sadl" alias GH516. 2 | 3 | Probabilitiy is a type of float [0,1]. 4 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/GH594.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/GH594.sadl" alias GH594. 2 | 3 | prop1 is a property. 4 | subprop1 is a type of prop1. 5 | 6 | prop2 is a property with values of type boolean. 7 | subprop2 is a type of prop2. 8 | 9 | C1 is a class, described by subprop1. 10 | C2 is a class, described by prop1. 11 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/GH828.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/GH828.sadl" alias gh828. 2 | 3 | Person is a class. 4 | // gender of Person must be one of {Male, Female}. 5 | // age of Person must be one of {"young", "old"}. 6 | // age of Person must be one of {12, 18}. 7 | 8 | // age describes Person with values of type string. 9 | // John is a Person with age "old". 10 | age describes Person with values of type int. 11 | John is a Person with age 23. 12 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/GetInstance.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/GetInstance.sadl" alias GetInstance. 2 | 3 | Person is a class described by child with values of type Person. 4 | Parent is a type of Person. 5 | A Person is a Parent only if child has at least 1 value. 6 | 7 | Rule UnNamedChild: 8 | if a Person is a Parent 9 | then there exists a second Person and the Person has child the second Person. 10 | 11 | MyMom is a Parent. 12 | 13 | Ask: select p,c where p has child c. 14 | 15 | Ask: "select ?c where { ?c}". 16 | 17 | Print: Model . 18 | 19 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/ImpliedPropertyInTest.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/ImpliedPropertyInTest.sadl" alias ImpliedPropertyInTest. 2 | 3 | Person is a class 4 | described by child with values of type Person, 5 | described by age with values of type decimal, 6 | described by weight with values of type decimal. 7 | Person has impliedProperty age //, has impliedProperty weight 8 | . 9 | 10 | Sue is a Person with age 23, with weight 125. 11 | 12 | Parent is a type of (child has at least 1 value). 13 | Parent is the same as (child has at least 1 value). 14 | 15 | Test: Sue is 23 . 16 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/InstancesOf.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/InstancesOf.sadl" alias io. 2 | 3 | Dog is a class. 4 | {Spot (alias "spot"), Lassie (note "an awesome TV star")} are instances of Dog. 5 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/ListOfList.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/ListOfList.sadl" alias ListOfList. 2 | 3 | IntList is a type of int List. 4 | L1 is the IntList [1,2,3]. 5 | L2 is the IntList [4,5,6]. 6 | L3 is the IntList List [L1,L2]. 7 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/ListOfList2.sadl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SemanticApplicationDesignLanguage/sadl/9a97abc06620297ff6b7020c6542539c74515ec6/sadl3/Examples/TestSadl3Ide/Sandbox/ListOfList2.sadl -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/MultipleReturnValueEquation.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/MultipleReturnValueEquation.sadl" alias mrveq. 2 | 3 | External testMrveq(int x, float y) returns string, float: "http://sadl.org/mrveq" located at "location". 4 | 5 | Rule UseIt: 6 | if [x,y] is testMrveq(4, 3.14) 7 | then print("Great!!", x, y). 8 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/MustVsCan.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/MustVsCan.sadl" alias MustVsCan. 2 | 3 | Season is a class, must be one of {Fall, Winter, Spring, Summer}. 4 | Season2 is a class, can only be one of {Fall2, Winter2, Spring2, Summer2}. 5 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/QueryWithEmbeddedDecl.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/QueryWithEmbeddedDecl.sadl" alias QueryWithEmbeddedDecl. 2 | 3 | Foo is a class described by bar with values of type Whim. 4 | Whim is a class described by wham with values of type string. 5 | 6 | W1 is a Whim with wham "hi". 7 | F1 is a Foo with bar W1. 8 | 9 | Ask: select i where i is a Foo. 10 | Ask: select i where i is a Foo with bar (a Whim with wham "hi"). 11 | Ask: select i where i is a Foo and i has bar x and x is a Whim and x has wham "hi". 12 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/RulePofS.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/RulePofS.sadl" alias RulePofS. 2 | 3 | SL is a type of int [1,5]. 4 | Cls is a class described by prop with values of type SL. 5 | 6 | Rule ClsProp: if x is a Cls then prop of x is 5. 7 | Rule ClsProp2: if x is a Cls then x has prop 5. 8 | 9 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/RuleWithList.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/RuleWithList.sadl" alias RuleWithList. 2 | 3 | Scores is a type of int List. 4 | // NonTypedList is a type of List. 5 | 6 | MyScores is the Scores [25, 54, 86]. 7 | 8 | Rule testListVar: 9 | if x is the Scores [23, 45, 68] 10 | and y is length of MyScores 11 | then 12 | print("length of list is ", y). 13 | 14 | Ask: select x where x is a Scores. -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/SameAsProperties.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/SameAsProperties.sadl" alias sap. 2 | 3 | Person is a class described by child with values of type Person, 4 | described by age with values of type int. 5 | 6 | offspring is the same as child. 7 | 8 | yearsSinceBirth is the same as age. 9 | 10 | A Person John has offspring (a Person Mary with yearsSinceBirth 23). 11 | 12 | rdfp1 is a property. 13 | rdfp2 is the same as rdfp1. 14 | 15 | John has rdfp2 Mary. 16 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/SeeExamples.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/SeeExamples.sadl" alias SeeExamples. 2 | 3 | PhysicalThing is a class. 4 | 5 | Agent is a class. 6 | 7 | Rock (see "https://www.wikidata.org/wiki/Q22731") is a type of PhysicalThing. 8 | 9 | rock (see "https://www.merriam-webster.com/dictionary/rock") (note "to move back and forth rhythmically") describes Agent with values of type PhysicalThing. 10 | 11 | AgentInfluence (see Agent) is a class. 12 | 13 | swing (see rock) describes Agent with values of type PhysicalThing. 14 | 15 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/ShowIF.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/ShowIF.sadl" alias ShowIF. 2 | 3 | Person is a class described by friend with values of type Person, described by age with values of type int. 4 | 5 | Nick is a Person. 6 | 7 | Expr: age of friend of Nick. 8 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/SimplestEq.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/SimplestEq.sadl" alias simplesteq. 2 | 3 | Equation simplest(float arg ( {ft}))returns float ({ft}): arg+1. -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/SingleReturnValueEquation.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/SingleReturnValueEquation.sadl" alias srveq. 2 | 3 | External piVal() returns float: "http://sadl.org/pival". 4 | 5 | Rule UseIt: 6 | if x is piVal() 7 | then print("Great!!", x). 8 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/SubtleClassUse1.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/SubtleClassUse1.sadl" alias SubtleClassUse1. 2 | 3 | ClassyClass is a class. 4 | ^Ask is a class. 5 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/SubtleClassUse2.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/SubtleClassUse2.sadl" alias SubtleClassUse2. 2 | 3 | import "http://sadl.org/SubtleClassUse1.sadl". 4 | 5 | ClassyClass is a class. 6 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/TerseRule.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/TerseRule.sadl" alias terserule. 2 | 3 | Shape is a class described by area with values of type float. 4 | 5 | Circle is a type of Shape, described by radius with values of type float. 6 | 7 | MyCircle is a Circle with radius 3. 8 | 9 | Rule TerseCircleArea: 10 | then area is PI*radius^2. 11 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/TestImportExternal.sadl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/TestImportExternal.sadl" alias TestImportExternal. 2 | 3 | import "http://research.ge.com/Acuity/aulo.owl". 4 | -------------------------------------------------------------------------------- /sadl3/Examples/TestSadl3Ide/Sandbox/Turbine.tmpl: -------------------------------------------------------------------------------- 1 | uri "http://sadl.org/Turbine.tmpl". 2 | 3 | T rdf:type Turbine. 4 | T speed <1>. 5 | <1> rdf:type Speed. 6 | <1> amount . 7 | <1> unit RPM. 8 | <1> timestamp