How to enter email address as object in Protégé? - owl

When using OWL, it's useful to declare a property for personal email as owl:InverseFunctionalProperty as it is for foaf:mbox. While using OWL Full that could be done for datatype properties, in OWL DL, it needs to be an object property as object and datatype properties are disjoint there. Yet, most tools have no issue with that.
Now I need to use Protégé to prepare an exercise. It doesn't allow to declare a datatype property owl:InverseFunctionalProperty and it doesn't allow to have email address as object of an abject property. When encoded externally, as expected, Protégé treats it as annotation property.
Is there a workaround?

Option 1
Declare foaf:mbox as a datatype property and use OWL 2 keys.
Option 2
Define the mailto prefix as mailto: (i. e. #prefix mailto: <mailto:> .) on the "Ontology prefixes" tab.
Then type mailto:me#example.org in the "Create a new OWLNamedIndividual" dialog.
Without such definition, Protégé doesn't process mailto:me#example.org correctly, allowing to type mailto://me#example.org only.

Related

Getting extended properties on users objects

I try to query a user including extended properties:
/users/xxx#xx.dk?$expand=properties
However I get following error:
Could not find a property named 'properties' on type 'microsoft.graph.user.
Is it possible in one request to get a user object with all of it's extended properties?
Best scenario would be something like following where I query for the departmentNumber from the extended properties with direct properties:
/users/xx#xx.dk?$select=companyName,officeLocation,departmentNumber&$expand=properties
This is because, as the message states, there is no property named properties.
How you retrieve custom properties depends on how they were created. There are two types: Open Extensions and Schema Extensions. Each is stored and behaves a little differently so you'll want to refer to the documentation I linked to for help determining which type you want to use.

Protege reasoner's equivalent conclusion

I have found this issue while developing an ontology. I am making ontology over the basic family relations.
I have a main class called Person, which contain sub-classes like Son, Daughter, Wife etc.
Along with this I defined object properties like isGrandsonOf and isGranddaughterOf to show the relation grandparent-grandchild.
Issue is that whenever I start the reasoner, it tell me that isGranddaughter and isGrandson is exactly the same. It vary is such aspects as: Domain (female subclasses are disjoint with male one) and Disjoints, as the screens shows. Could someone please explain this to me? I am not sure how to declare these two object properties being unequal. I am using either FaCT++ or Pellet reasoner.
Both first and second image shows how object property, in inferred as equal, meanwhile I do not want isGrandsonOf and isGranddaughterOf to be the same object property. They both refer to people with different sex:
image 1
image 2

Accessing ActiveDirectory properties belong to objectClass=posixGroup

I am trying to update the memberUid property of the posixGroup.
I do a directory search and find my record. If I loop through the searchresults.property I can list the values (it is defined as Multi-value) of the field.
I define a DirectoryEntry using the searchresults.getdirectory method.
If I do anything with the property from this directoryentry, for instance check if it exists (property.contain), or list it or try to update it I get an unknown error x'8000500C'.
The fields cn and description' do not cause this problem.
If I add other user defined properties I also get the error.
How can I work with properties belonging to this type of schema?
Your error looks like it is:
8000500c The Active Directory datatype cannot be converted to/from a native DS datatype
This seems to imply that the data returned is not a native AD datatype.
There seems to be a workaround at this article.

Save error: Initial term of field expression must be a concrete SObject: MAP<String,AcctId__c>

I'm trying to get over a limitation in Salesforce where Lead objects can't have related lists that convert with the Lead over to Opportunity, Contact and Account. I have set up 4 objects of type Lookup Relationship, and created a dummy record in each.
I want to use Custom Settings to store the id of each of these dummy records, so that when the Lead converts, any custom objects can also convert to objects with Master/Detail relationships on the respective standard objects.
My trigger on Lead(after update) tries to create a Map of the Custom Settings:
Map cs = AcctId__c.getAll();
AcctId__c is the Custom Setting api name. Compile time is giving me the above message.
Now, I copied this code directly from the Salesforce documentation. What am I forgetting?
I believe that you must include the actual map definition <String,AcctId__c> after the word Map.
Check out this page.
http://www.salesforce.com/us/developer/docs/apexcode/Content/langCon_apex_collections_maps.htm

CakePHP set input type in view from custom array

I would like to assign input fields in a view types from a custom array, not from a model, as Cake usually does.
So, I have in my array (passed to the view) a key which tells the field type the field in the database must have:
[type] => 'varchar(32)'
I would like Cake to know this field type and automagically assign it to the corresponding input field (so that, for the example above, the input will be a text). How can I achieve this?
Thank you.
P.S.: These are the 'transformations' I would like to achieve (from the table): Data types correspondings in Cake
linkyndy,
The mapping from model schema types to html form elements is done here - http://api.cakephp.org/view_source/form-helper/#l-738. Furthermore, varchar(32) (string) will create an html input element when using the FormHelper. Is it you want a textarea instead?
If you do not want to use the automatic field detection you can specify the element type in your call to input. If that's not acceptable, you can change your db field types to meet what CakePHP expects... or manipulate your model's schema() results... or provide your own helper with an overridden input() method.
Specifying the type in calls to $this->Form->input() seems easy enough.

Resources