Protoge error while using reasoner : MalformedLiteralException: Literal"C:\Program Files"^^<http://www.w3.org/2001/XMLSchema#anyURI>is malformed - owl

I have created an Ontology and have run the reasoner successfully. However upon adding a data property called isLocatedExternally and associating it with individual x
and running the reasoner I get the following error
MalformedLiteralException: Literal"C:\Program Files"^^<http://www.w3.org/2001/XMLSchema#anyURI>is malformed.
I am trying to assign the individual to the file being stored locally on my PC.
Is there any fundamental step I am missing?
I had initially had my file on the cloud and thought storing the file on my PC would help but that did not change anything.
Below is the screenshot of the error and the data property created.
What I am trying to do is to use the technique below for assigning an external source to an individual.
So far, based on the comments, I have tried
1- file:///C:\Program%20Files
2- file://C:\Program%20Files
3- File://C:\Program%20Files
4- C:\Program%20Files
Here is the reasoning error that arises when I run the reasoner when assigning the individual to an external file using anyURI
file:///C/Program%20Files resolved the issue. However this raises another issue which is when I change to this address, and lookup for this address in the file explorer in the windows OS, it cannot find the path and gives the following error:
Windows cannot find "file:///C/Program%20Files".Check the spelling
and try again
Now the IRI does not direct the individual to an existing folder

Based on my personal experience you need to retry with other reasoners and see if that helps

Related

How can I dump the .parquet data that is in Azure DataLakeStorage to a Microsoft SQL Server database using Nifi?

I've been looking for information for a long time and I can't get it. I'm starting to think it can't be done if the .parquet are in Azure DataLake Storage.
I have a folder with subfolders in Azure DataLake Storage. In these subfolders there are many .parquet. I manage to get them out using ListAzureDataLakeStorage + FetchAzureDataLakeStorage combination. Then I try to pass them through a PutDatabaseRecord (which I think is the correct processor for the dump in the DB).
I think I have the PutDatabaseRecord well configured. But when executing it gives me an error: "Failed to process session due to Failed to process StandardFlowFileRecord due to java.lang.NullPointerException: Name is null".
I'm not sure I'm using the PutDatabaseRecord right. I thought that PutDatabaseRecord read the flowfiles that came to it interpreting their content as .parquet (it is supposed to use a ParquetReader as a RecordReader), being able to understand the data as records. But it surprises me that it is not necessary to indicate how to interpret the .parquet, nor how to map its columns with those of the DB table. It still doesn't work as I think and it needs the flowfile content to already arrive as records?
The truth is that I can't explain myself better either because I don't really understand what is considered a record in Nifi or how a record is related to a reading of a .parquet.
Either I am missing a processor or something I am configuring wrong. But the only thing I find is the FetchParquet, which seems to be able to read a .parquet and put it into the FlowFile as records. However, it can only be used with ListHDFS or ListFile, which do not allow me to fetch data from Azure Data Lake Storage
After several tests (using the ConvertRecord and QueryRecord processors), I have come to the conclusion that the problem is in the reading that the ParquetReader does of the content of the FlowFiles that arrive. Well, every processor that needs a ParquetReader gives the same error. Downloading the content of the FlowFile that enters the processor that the ParquetReader uses (whatever it is) and using a .parquet viewer I have verified that this content is fine.
Without knowing what to do, I have attached a screenshot of the specific error. I still don't know what "Name" the error refers to.
Error Name is null
Note: I also posted my problem on Cloudera, perhaps better explained. I leave the link in case someone wants to look at it. (https://community.cloudera.com/t5/Support-Questions/How-can-I-dump-the-parquet-data-that-is-in-Azure/td-p/316020)
In the end, the closest thing to the error I was getting was found here (https://issues.apache.org/jira/browse/NIFI-7817). It seems that it is an error related to the creation of the ParquetReader. This makes sense because it would hit any processor that used a ParquetReader. In addition, the FlowFiles did not even enter the processor that used it.
I was using Nifi version 1.12.1. I have downloaded version 1.13.2 and it no longer gives the Name error. In addition, it is seen that the Flow Files already enter the processor. On the download page of the new version (https://nifi.apache.org/download.html) you can access the Release Notes and the Migration Guidance to know what has been fixed with respect to previous versions and with which processors you have to be careful when migrating.
However, even though the data goes into the processor, it still gives me an error, but it is different and I will open it in another post.

"ERROR: General failure building project output groups" while creating Set Up project in Visual Studio 2019

I made a Windows Form App for borehole heat exchangers simulation, consisting only of one Form. When trying to build a set up project to install the app, I constantly get an error in the building. Message appears like below, and 4 times each message. All this is using Visual Studio 2019 updated.
ERROR: General failure building project output groups
ERROR: Unrecoverable build error - 0x80004005
I checked that every image used in the app are in the source file, that I have done the building in the right order, but every time I create a project output, no .xml file appears.
Although I think it should be not an issue, the program also created a Form1.resx file that sends a message (not an error, neither a warning) Object reference not set to an instance of an object. I donĀ“t remember creating such thing. I tried to erase it and almost got my app deleted.
Does anybody now what can be the problem and how to fix it?
Mainly my process consisted in building classes that represent different modellings of a borehole heat exchanger. I then made the program build an "borehole" object of the certain class you choose in a ComboBox. I had no fundamentals whatsoever in coding so maybe this is not the way I should do that, maybe it shouldn't be classes. The app works perfectly on debugging mode.
Public Class Modelo2D
Inherits ModeloNTU
Public ReadOnly Property Calor2D As Double
Is there a problem in this?

How to debug the error "The requested property 'current-activity' is not available"?

My Project is using IBM ClearCase as version control tool. I recently checked in some of the files, modified them and even checked out the modified files.
Next day when I try to check in some of the files, I am getting the following error :
the property is not available locally: stream
and
the property is not available locally: current-activity
Is there any way to resolve this error? I am stuck
I recently checked in some of the files, modified them and even checked out the modified files.
You actually checked out files, then modify them, then check them in.
You check out in order to make a file modifiable.
the property is not available locally: current-activity
The exact error message is actually:
The requested property 'current-activity' is not available
See this IBM technote:
Cause
The information within the .Rational folder had become stale or corrupted.
ClearQuest database connections require refreshing as they are no longer seen.
View tag (as stored in the registry server) is no longer visible on the Change Management (CM) Server when performing an Cleartool lsview.
This issue can also occur if the region used does not hold the right VOBs any longer. While trying to create new Views or change load rules the VOBs are missing. This happened due to a changed region map file.
So it depends on your OS, version of ClearCase, integration or not with clearquest.

Moved CakePHP app from windows to mac and now one model doesn't load

Today I was moving a CakePHP app that I made on windows to my new macbook. For some weird reason one model doesn't load properly. Other models do load properly though, which confuses me...
I got this error:
Fatal error: Call to undefined method Locale::getLocale() in /server/cakephp/app/Controller/AppController.php on line 59
That line is just calling a method in my Locale model that I have.
So I tried to see what $this->Locale looked like with this code:
die(pr($this->Locale));
And this was the result:
Locale Object
(
)
I don't know why, but apparently I get an empty object. I tried removing the Locale.php file to see if CakePHP would automatically use AppModel, but it still becomes an empty object. So I tried searching if I have some empty class called Locale somewhere, but I couldn't find it.
Please help, this is so frustrating!
I cloned the CakePHP library from git yesterday, maybe that's useful information? Could it be that Locale has suddenly become a reserved word?
Permissions maybe? I've also had troubles in the past with hidden .files when moving cakephp apps, worth checking. I'm guessing that git handles both correctly though.

When magento widgets are run for the first time do they alter the database?

I've been following this tutorial http://www.magentocommerce.com/knowledge-base/entry/tutorial-creating-a-magento-widget-part-1 to create a Magento widget as part of an extension I'm working on.
Whilst the widget was created successfully and worked as I wanted it, I changed the code and started getting the following error
Warning: Invalid argument supplied for foreach() in app/code/core/Mage/Widget/Model/Widget/Instance.php on line 502
When I changed the code back, the error was still present. However when I copied all my module to a fresh Magento install then the error wouldn't appear.
Although my widget does not explicitly use the database does anyone know if the act of installing and uninstalling a Magento widget makes changes to the core databases tables and if it does, which tables are altered.
Thanks
The core_resource table contains a list of all modules, so adding a new module will cause a new row to be created.
If you have anything in your module's sql folder, that code will be run depending on your module's version.
Without knowing exactly what code was run and changed, it's hard to know what your specific problem is.
http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-6-magento-setup-resources
So if you followed that tutorial you linked to I do not think it changed any database settings.
You can tell if a module will add tables or modify table columns by the following method.
Assume the module is called Foo_Bar and it is installed in the "community" code pool (as opposed to core or local).
Navigate to app/code/community/Foo/Bar. You will at minimum usually see etc and Block directories there.
If you see a sql directory then this module makes db changes. You also need to understand a module is versioned and may initially make a certain table and then modify it.
By way of example you can go to any core module and look for the same. For example I am running Enterprise 1.12 and went to:
app/code/core/Mage/Sendfriend/sql/sendfriend_setup
I see:
mysql4-upgrade-1.5.9.9-1.6.0.0.php
mysql4-upgrade-0.7.3-0.7.4.php
mysql4-upgrade-0.7.2-0.7.3.php
mysql4-upgrade-0.7.1-0.7.2.php
mysql4-install-0.7.0.php
install-1.6.0.0.php
Note the upgrade x-y nomenclature. That is what core_resource keeps track of.
If you are wondering where your new module's settings are saved, that is actually in core_config_data. try this:
SELECT * FROM core_config_data where path like '%foo%';
Assuming you have some setting in the admin you named "foo".
Now back to your problem. That is a common php error. You are running a foreach on something which can not be iterated. The code right before that is probably not returning an array or collection or whatever.
Ideally you should always wrap the foreach with a statement that checks that the item you are iterating over is not empty.
You can also turn off displaying errors or suppress that error using the # statement which is a bad practice...

Resources