Google SDTT does not recognize "reservationNumber" and "airline" - schema.org

There are two errors recognised:
The property reservationNumber is not recognised by Google for an
object of type FlightReservation
The property airline is not recognised by Google for an object of type Flight.

The error messages are very clear.
Per FlightReservation, you cannot use the reservationNumber property. There is no such property ‘reservationNumber’ for any type in schema.org.
Airline is a type, not a property of Flight. There is no such property ‘airline’.

Related

Value of type 'CustomObject' does not conform toe expected dictionary value type 'AnyObject'

I am transferring data from my iOS app to its Watch extension via the application context. I want to send a custom object I've created (named WeatherReport).
let context = ["report" : WeatherReport]
WCSession.defaultSession().updateApplicationContext(context)
However, I get the following error:
Value of type WeatherReport does not conform toe expected dictionary
value type 'AnyObject'
I am wondering why I am unable to set my custom object as a value in the dictionary I am trying to pass as the applicationContext.
Even if you could get past the compiler error you would get a runtime error. WCSession dictionaries can only contain property list types, which are just basic types such as strings, numbers, data, etc.
If you really want to send your custom object you'll have to serialize it first. The better solution is likely to convert your object in to a plist dictionary (each property becomes a key-value in the dictionary).

Learning about type methods/type properties

I'm reading through the Swift documentation about type methods and type properties, and I cannot for the life of me figure out why it says this particular thing (in bold):
Within the body of a type method, the implicit self property refers to
the type itself, rather than an instance of that type. For
structures and enumerations, this means that you can use self to
disambiguate between type properties and type method parameters, just
as you do for instance properties and instance method parameters.
More generally, any unqualified method and property names that you use
within the body of a type method will refer to other type-level
methods and properties. A type method can call another type method
with the other method’s name, without needing to prefix it with the
type name. Similarly, type methods on structures and enumerations
can access type properties by using the type property’s name without a
type name prefix.
So, why is this pointing out structures and enumerations being able to do these things when, as far as I know, you can do these things with any kind of type methods/parameters (i.e. classes as well)? It makes me think I'm missing something.
The page in the documentation I'm looking at is here: https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Methods.html
Apparently I wasn't the only one with this question. I'm not sure how I didn't see this post before: https://softwareengineering.stackexchange.com/questions/276962/static-properties-and-implicit-self-property-in-structures-and-enumerations-vs

Swift: How to assign a value whose type is 'AnyObject!'?

I'm trying to use the Google Maps pod, but I'm having an issue setting a variable that's of type AnyObject!.
Here's my code:
mapPin.userData = venue as Venue
It complains Cannot assign value of type 'Venue' to type 'AnyObject!'. How do I fix this error? P.S. Venue is just a custom type that I wrote.
AnyObject is the protocol to which all classes conform.
Therefore Venue must be defined as class Venue (and not struct Venue), otherwise instances of that type are not assignable to
a property of type AnyObject.

OWL: Defining attributes and member objects of a class

I am totally new to the domain of semantic web and need to create an ontology.
I did a lot of research, but still didn't find a clear solution to the following problem:
Basically, I want to describe semantically, that a certain class contains certain objects and attributes. But it's not 100%ly clear to me how to do that.
Example: I want to describe the class "device". Now this class contains an object "application", and an attribute "ID".
I got as far as mapping the object "application" to an ObjectProperty "hasApplication", and the attribute mapped to a DatatypeProperty "ID". So far so good, but now how do I bind them to the class?
There were two main ways I found:
Either you include the class name as domain in the definition of a property.
Or you include the properties into the class definition via owl:Restricion/owl:onProperty.
But in my opinion, both ways do not capture accurately my semantic intention, because in the first case, I understand it as, that if ever an object uses the defined property, then this object has to be an instance of the class defined in the domain, BUT that does not necessarily mean that every instance of this class must have this property.
Similarly, in the second case, binding a property to a class via owl:Restriction/owl:onProperty, imposes that I put a restriction on this property, i.e. cardinality or range of values. But that is not my intention, I do not want to describe "This class has this property with this restriction.", but simply "This class has this property."
Hope you guys can clear things up a bit. :S
Going with your example, you have a class Device, and you have a class Application and an ObjectProperty for relating them. In OWL Manchester syntax:
Class: Device
Class: Application
ObjectProperty: hasApplication
It's a bit misleading to think about Applications in terms of 'object contained in the Device class'. Think of them rather as objects related to that class.
Now, you can make the relation between Devices and Applications globally available by setting the domain and range of your property:
ObjectProperty: hasApplication
Domain: Device
Range: Application
However, this may not quite be what you're after, since this only says that if a hasApplication relation occurs anywhere, its subject and and object can be inferred to be of type Device and Application, respectively. It does not say that all instances of Device must have a hasApplication property.
To express that all instances of Device must have a hasApplication property, you can use an OWL cardinality restriction:
Class: Device
SubClassOf: hasApplication min 1
This tells us that any instance of Device must have at least 1 hasApplication property.

Strongly typed ViewModel contains unexpected null value

I have a case that is very similar to this, but following the advice in the answers does not solve my problem.
I have a ViewModel in an MVC 2 application that contains another class. I have a controller that contains a strongly typed create method:
[Authorize]
[HttpPost]
public ActionResult Create(AIViewModel ai)
{
}
When I look at the ModelState when I enter the Create method, the data indicates that the simple properties that are present within the AIViewModel class are bound correctly, while the complex type that is in there fails with the following error message:
"The parameter conversion from type 'System.String' to type 'xyz' failed because no type converter can convert between these types."
If I look at the value that it tries to bind, it has indeed the System.String type and value "Create". Anybody has a clue on what I could be doing wrong?
UPDATE: I have found the problem: The property is called Action, which somehow fools the the modelbinder. Renaming the property solved the issue.