I'd like to replicate the explanations feature in Protege within my Java program to provide explanations for inconsistent ontologies. I've been mainly using "owlapi" for other ontology-related operations, but it doesn't seem to have relevant methods to provide explanations. I've also found the "owlexplanation" library, but not sure if that is the one used in Protege. Could anyone please provide any pointers?
explanation-workbench, as mentioned in the comments, integrates owlexplanation in the Protege framework. You can use owlexplanation directly to get the same results Protege shows.
Related
I want to develop using C & C++ using XCode 5. I particularly like the integration of XCTest and Xcode and the CI capability that you get by using OSX Server. I want to have a mocking framework, and ideally one where the mocks are automatically generated, as this seems most likely to ensure that the mocks follow a standard format (and themselves are not going to have errors).
Q1. I can't see how OCMock can work for mocking C & C++: is this possible?
Q2. CMock seems to be great, but it relies on Unity. Is it possible to integrate CMock into XCTest?
Q3. Does anyone have any other suggestions please?
Q1. OCMock can only mock methods on Objective-C classes, objects, and protocols.
Q2. What is Unity? (And I'm asking this as the maintainer of OCMock...)
Q3. There are several options for C and C++, I don't have much experience, never mind a strong recommendation.
I need to implement tabular input form in yii (by tabular I mean multiple models at same time)
as I have asked in this question
Is there any user interface available in yii framework for tabular data input?
But after searching internet I found ztabularinputmanager extension of yii as possible solution.
But I am unable to find any good documentation or implementation detail about this extension.
I believe that multimodelform extension for yii might be a better option since it gives you a sample implementation. Here is the link to the extension and to the sample implementation http://www.yiiframework.com/extension/multimodelform/
I think this extension is pretty good and easier to implement than ztabularinputmanager. Also I believe that the creator of the extension is pretty active in Yii's extension forums if you need to ask him something.
Is there any recommendations for how to show what your code is doing (C or MATLAB)? Imagine if your code is really long and you have a lot of functions in your program, what is the best way to document the program? I know Java IDEs have a way to ingest comments and spit them back out into a document that shows all the functions, and their inputs and outputs. I don't think C or MATLAB has this feature. At this point, I am thinking comments are the only way to show what is going on in the code, but it may confuse the reader if they have to look through the raw code along side the comments. The second option would be to write out the algorithm in a text editor such as Microsoft Word. Is there an industry standard for doing this?
Thanks!
What Java uses is JavaDoc.
For C, you can use Doxygen.
I also saw this which suggests you can use Doxygen with matlab too!
The mother of all literate programming is http://www-cs-faculty.stanford.edu/~uno/cweb.html
cweb. The father is Knuth.
Recent versions of MATLAB actually do have some features very similar to this. If you implement your MATLAB code in object-oriented classes, MATLAB will auto-generate documentation for you by just typing doc myClassName - it's really quite similar to Doxygen. If you're not using object-oriented code, you can use MATLAB publishing to generate a document from your scripts and functions.
Doxygen's C support is quite good. It supports JavaDoc style and Qt style markup comments, as well as some additional features. See the manual for examples of what the markup looks like. I don't have an example of the output ready to hand, but it's quite customizable.
The Octave project, which implements a language and environment that's effectively a superset Matlab's, uses texinfo to document its functions. You can see an example of the markup in the Documentation Tips section of the manual. I recommend scrolling to the bottom of the page to view a complete markup example rather than reading the lengthy explanation that precedes it. I have little experience with texinfo beyond using help from within Octave, but I believe the online manual was generated from texinfo sources, so it seems sufficiently capable.
Does anybody have a guide to this, containing code samples, tips and an outline of the different IO approaches?
I have checked out the the API documentation. There are also some basic examples with scala.io.Source in Programming in Scala.
There are some pretty basic questions already answered here on SO.
I'm looking for something more in depth.
Alternatively, any tips on exactly which bits of the API documentation to focus on and which Java libraries? I'm familiar with System.IO in .NET land, but not so much Java.
Scala's standard library is currently pretty limited for I/O, so you'll probably want to dig into Java's libraries. Oracle's Basic I/O tutorial, covering java.nio, looks like a reasonable starting point.
A while ago there was some discussion about a community driven redesign of Scala I/O called scala-io, but I'm not sure the official status. The mailing list hasn't seen much recent activity, but the code in Github is being actively developed (incubator mailing list and Github project). In his answer, hishadow gave a link to scala-io documentation.
My tip is to look also at tools Path,File and Directory.
They have little sugar (that everyone has in their little utils library) like:
val writer = File("/my/file").bufferedWriter
File.closeQuietly(writer)
Directory("myDir").walk
Then have a look at Process like here
There is an in-development IO library with documentation available at http://jesseeichar.github.com/scala-io/. Included are examples for different usages.
The source repository is at https://github.com/jesseeichar/scala-io.
I recommend looking at java.nio.
Due to technical limitations of the underlying Java platform implementing IO in Scala wasn't a good idea.
This has changed with Java 7, which provides good Java APIs for everything related to file management.
There are some thoughts about an IO library for Scala, but no decision about that yet.
The author of scala-IO, Jesse Eichar, has recently began a series of articles about using Scala-IO on his blog: here's the 'getting started' entry.
The other Attributes (aka. TestMethod, ExpectedException, etc.) I know where and when to use, but I don´t know what I can do with the TestProperty-Attribute.
Why should I use it and when? Whats the reason for this attribute?
I found no useful documentation on the Internet, that explains the TestProperty-Attribute. And intellisense doesn´t provide useful information. The documentation of the Toolkit provides no documentation for the Unit Test Framework?
The documentation at MSDN may be of some help. A usage example is given in which the unit tests reads some custom attributes set using the [TestProperty] tag.